aboutsummaryrefslogtreecommitdiff
path: root/rootston/output.c
diff options
context:
space:
mode:
authorTony Crisci <tony@dubstepdish.com>2017-10-31 17:58:28 -0400
committerGitHub <noreply@github.com>2017-10-31 17:58:28 -0400
commitc7c0d34e920dea27cab3b88c50b1202343a54435 (patch)
tree6966addb32a19e5c9606d0cbded7f922fb372461 /rootston/output.c
parent7200d643363e988edf6777c38e7f8fcd451a2c50 (diff)
parentec22fe713445977c1a122572107495b584117b16 (diff)
Merge pull request #352 from emersion/output-cursor
Add wlr_output_cursor
Diffstat (limited to 'rootston/output.c')
-rw-r--r--rootston/output.c28
1 files changed, 11 insertions, 17 deletions
diff --git a/rootston/output.c b/rootston/output.c
index 6bc28996..9e1cd4d5 100644
--- a/rootston/output.c
+++ b/rootston/output.c
@@ -186,20 +186,20 @@ static void set_mode(struct wlr_output *output, struct output_config *oc) {
}
void output_add_notify(struct wl_listener *listener, void *data) {
+ struct roots_desktop *desktop = wl_container_of(listener, desktop,
+ output_add);
struct wlr_output *wlr_output = data;
- struct roots_desktop *desktop = wl_container_of(listener, desktop, output_add);
struct roots_input *input = desktop->server->input;
struct roots_config *config = desktop->config;
wlr_log(L_DEBUG, "Output '%s' added", wlr_output->name);
- wlr_log(L_DEBUG, "%s %s %"PRId32"mm x %"PRId32"mm",
- wlr_output->make, wlr_output->model,
- wlr_output->phys_width, wlr_output->phys_height);
- if (wl_list_length(&wlr_output->modes) > 0) {
- struct wlr_output_mode *mode = NULL;
- mode = wl_container_of((&wlr_output->modes)->prev, mode, link);
- wlr_output_set_mode(wlr_output, mode);
- }
+ wlr_log(L_DEBUG, "%s %s %"PRId32"mm x %"PRId32"mm", wlr_output->make,
+ wlr_output->model, wlr_output->phys_width, wlr_output->phys_height);
+ if (wl_list_length(&wlr_output->modes) > 0) {
+ struct wlr_output_mode *mode = NULL;
+ mode = wl_container_of((&wlr_output->modes)->prev, mode, link);
+ wlr_output_set_mode(wlr_output, mode);
+ }
struct roots_output *output = calloc(1, sizeof(struct roots_output));
clock_gettime(CLOCK_MONOTONIC, &output->last_frame);
@@ -225,14 +225,8 @@ void output_add_notify(struct wl_listener *listener, void *data) {
struct wlr_xcursor *xcursor = get_default_xcursor(input->xcursor_theme);
struct wlr_xcursor_image *image = xcursor->images[0];
- // TODO the cursor must be set depending on which surface it is displayed
- // over which should happen in the compositor.
- if (!wlr_output_set_cursor(wlr_output, image->buffer,
- image->width, image->width, image->height,
- image->hotspot_x, image->hotspot_y)) {
- wlr_log(L_DEBUG, "Failed to set hardware cursor");
- return;
- }
+ wlr_cursor_set_image(input->cursor, image->buffer, image->width,
+ image->width, image->height, image->hotspot_x, image->hotspot_y);
wlr_cursor_warp(input->cursor, NULL, input->cursor->x, input->cursor->y);
}