editor: Add keyboard_focus handler to schedule repaint
authorKristian Høgsberg <krh@bitplanet.net>
Thu, 2 Jan 2014 07:57:42 +0000 (23:57 -0800)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 2 Jan 2014 07:57:42 +0000 (23:57 -0800)
This let the editor client repaint the frame to indicate it's active
when it receives keyboard focus.

clients/editor.c

index 6e38426..b34aafa 100644 (file)
@@ -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);