summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2011-12-19 15:18:05 -0500
committerKristian Høgsberg <krh@bitplanet.net>2011-12-19 15:21:39 -0500
commite1a850e5b0b6455f7c42301771c9aeb91f14539b (patch)
tree779f4220a53e847ab6bb7710c631b17bdcc96d58
parentf47d8fe88c946458fb10194c071c289d8b793421 (diff)
compositor: Move click-to-focus and ctrl-alt-bs bindings to shell.c
-rw-r--r--compositor/compositor.c32
-rw-r--r--compositor/shell.c33
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;