diff options
author | Kristian Høgsberg <krh@bitplanet.net> | 2011-12-19 15:18:05 -0500 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2011-12-19 15:21:39 -0500 |
commit | e1a850e5b0b6455f7c42301771c9aeb91f14539b (patch) | |
tree | 779f4220a53e847ab6bb7710c631b17bdcc96d58 | |
parent | f47d8fe88c946458fb10194c071c289d8b793421 (diff) |
compositor: Move click-to-focus and ctrl-alt-bs bindings to shell.c
-rw-r--r-- | compositor/compositor.c | 32 | ||||
-rw-r--r-- | compositor/shell.c | 33 |
2 files changed, 33 insertions, 32 deletions
diff --git a/compositor/compositor.c b/compositor/compositor.c index 89fe12a..19af47d 100644 --- a/compositor/compositor.c +++ b/compositor/compositor.c @@ -1298,31 +1298,6 @@ notify_button(struct wl_input_device *device, } static void -terminate_binding(struct wl_input_device *device, uint32_t time, - uint32_t key, uint32_t button, uint32_t state, void *data) -{ - struct wlsc_compositor *compositor = data; - - if (state) - wl_display_terminate(compositor->wl_display); -} - -static void -click_to_activate_binding(struct wl_input_device *device, - uint32_t time, uint32_t key, - uint32_t button, uint32_t state, void *data) -{ - struct wlsc_input_device *wd = (struct wlsc_input_device *) device; - struct wlsc_compositor *compositor = data; - struct wlsc_surface *focus; - - focus = (struct wlsc_surface *) device->pointer_focus; - if (state && focus && device->grab == NULL) - compositor->shell->activate(compositor->shell, - focus, wd, time); -} - -static void update_modifier_state(struct wlsc_input_device *device, uint32_t key, uint32_t state) { @@ -1862,13 +1837,6 @@ wlsc_compositor_init(struct wlsc_compositor *ec, struct wl_display *display) ec->fade.animation.frame = fade_frame; wl_list_init(&ec->fade.animation.link); - wlsc_compositor_add_binding(ec, KEY_BACKSPACE, 0, - MODIFIER_CTRL | MODIFIER_ALT, - terminate_binding, ec); - - wlsc_compositor_add_binding(ec, 0, BTN_LEFT, 0, - click_to_activate_binding, ec); - screenshooter_create(ec); wlsc_data_device_manager_init(ec); diff --git a/compositor/shell.c b/compositor/shell.c index 0966724..db92b5e 100644 --- a/compositor/shell.c +++ b/compositor/shell.c @@ -799,6 +799,16 @@ resize_binding(struct wl_input_device *device, uint32_t time, } static void +terminate_binding(struct wl_input_device *device, uint32_t time, + uint32_t key, uint32_t button, uint32_t state, void *data) +{ + struct wlsc_compositor *compositor = data; + + if (state) + wl_display_terminate(compositor->wl_display); +} + +static void activate(struct wlsc_shell *base, struct wlsc_surface *es, struct wlsc_input_device *device, uint32_t time) { @@ -841,6 +851,21 @@ activate(struct wlsc_shell *base, struct wlsc_surface *es, } static void +click_to_activate_binding(struct wl_input_device *device, + uint32_t time, uint32_t key, + uint32_t button, uint32_t state, void *data) +{ + struct wlsc_input_device *wd = (struct wlsc_input_device *) device; + struct wlsc_compositor *compositor = data; + struct wlsc_surface *focus; + + focus = (struct wlsc_surface *) device->pointer_focus; + if (state && focus && device->grab == NULL) + compositor->shell->activate(compositor->shell, + focus, wd, time); +} + +static void lock(struct wlsc_shell *base) { struct wl_shell *shell = container_of(base, struct wl_shell, shell); @@ -1258,6 +1283,14 @@ shell_init(struct wlsc_compositor *ec) move_binding, shell); wlsc_compositor_add_binding(ec, 0, BTN_MIDDLE, MODIFIER_SUPER, resize_binding, shell); + wlsc_compositor_add_binding(ec, KEY_BACKSPACE, 0, + MODIFIER_CTRL | MODIFIER_ALT, + terminate_binding, ec); + wlsc_compositor_add_binding(ec, 0, BTN_LEFT, 0, + click_to_activate_binding, ec); + + + ec->shell = &shell->shell; |