summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2014-01-01 23:57:42 -0800
committerKristian Høgsberg <krh@bitplanet.net>2014-01-01 23:57:42 -0800
commit7885890df8be868a12b561858c3feeba9bd7a321 (patch)
tree0e30cd615e91ce1d43f82b5c64e9e5eea4b9274e
parent8bc525c60d36b5216af54bc041340cd4f36e141d (diff)
editor: Add keyboard_focus handler to schedule repaint
This let the editor client repaint the frame to indicate it's active when it receives keyboard focus.
-rw-r--r--clients/editor.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/clients/editor.c b/clients/editor.c
index 6e38426e..b34aafa9 100644
--- a/clients/editor.c
+++ b/clients/editor.c
@@ -1098,6 +1098,16 @@ editor_button_handler(struct widget *widget,
}
}
+
+static void
+keyboard_focus_handler(struct window *window,
+ struct input *device, void *data)
+{
+ struct editor *editor = data;
+
+ window_schedule_redraw(editor->window);
+}
+
static void
key_handler(struct window *window,
struct input *input, uint32_t time,
@@ -1233,6 +1243,8 @@ main(int argc, char *argv[])
window_set_title(editor.window, "Text Editor");
window_set_key_handler(editor.window, key_handler);
+ window_set_keyboard_focus_handler(editor.window,
+ keyboard_focus_handler);
window_set_user_data(editor.window, &editor);
widget_set_redraw_handler(editor.widget, redraw_handler);