New focus handling
The current rough plan for reworked focus handling:
-
Make gtk_widget_grab_focus and gtk_window_set_focus do the same -
Accept the fact that setting GtkWindow::focus-widget can end up putting the focus on another (child) widget -
Make focus revert to the nearest focusable parent when a widget is hidden or becomes unfocusable. At least for popovers -
Make GtkWindow:focus-widget default to the window itself -
Make ::can-focus recursive: if it is FALSE, the focus never enters the widget -
Set grab_focus and focus vfuncs on all widgets that need them to reinstate the expected focus keynav -
Drop ::is-focus and ::has-focus