summaryrefslogtreecommitdiff
path: root/clients/stacking.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2013-12-05 15:14:45 -0800
committerKristian Høgsberg <krh@bitplanet.net>2013-12-05 15:37:29 -0800
commitacdae2e641354a204d511106e9411c0679abf19f (patch)
treeeb697891964df7116c2baf6a63b26cdc9abc52a0 /clients/stacking.c
parent5031cbe7b41bbeb1cd04cfc6c9b301d75cb21385 (diff)
downloadweston-acdae2e641354a204d511106e9411c0679abf19f.tar.gz
stacking: Set a keyboard focus handler so we can repaint the frame
Yes, perhaps this should be more automatic...
Diffstat (limited to 'clients/stacking.c')
-rw-r--r--clients/stacking.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/clients/stacking.c b/clients/stacking.c
index 45eb81e9..544094c6 100644
--- a/clients/stacking.c
+++ b/clients/stacking.c
@@ -49,6 +49,9 @@ key_handler(struct window *window,
uint32_t key, uint32_t sym, enum wl_keyboard_key_state state,
void *data);
static void
+keyboard_focus_handler(struct window *window,
+ struct input *device, void *data);
+static void
fullscreen_handler(struct window *window, void *data);
static void
redraw_handler(struct widget *widget, void *data);
@@ -71,6 +74,7 @@ new_window(struct stacking *stacking, struct window *parent_window)
window_set_title(new_window, "Stacking Test");
window_set_key_handler(new_window, key_handler);
+ window_set_keyboard_focus_handler(new_window, keyboard_focus_handler);
window_set_fullscreen_handler(new_window, fullscreen_handler);
widget_set_button_handler(new_widget, button_handler);
widget_set_redraw_handler(new_widget, redraw_handler);
@@ -167,6 +171,13 @@ key_handler(struct window *window,
}
static void
+keyboard_focus_handler(struct window *window,
+ struct input *device, void *data)
+{
+ window_schedule_redraw(window);
+}
+
+static void
fullscreen_handler(struct window *window, void *data)
{
window_set_fullscreen(window, !window_is_fullscreen(window));