stacking: Set a keyboard focus handler so we can repaint the frame
Yes, perhaps this should be more automatic...
diff --git a/clients/stacking.c b/clients/stacking.c
index 45eb81e..544094c 100644
--- a/clients/stacking.c
+++ b/clients/stacking.c
@@ -49,6 +49,9 @@
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 @@
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 @@
}
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));