gtk2/gdk
Alexander Larsson ddade66496 broadway: use 'click-to-focus' approach instead of 'focus-follows-mouse'
The broadway backend would move the focus from one window to another based on
where the mouse was (i.e. 'focus-follows-mouse' approach). Handling the focus
this wait didn't play well with widgets which rely on focus-in-event and
focus-out-event, like the GtkEntry when using a completion popup window, see
e.g:
  https://bugzilla.gnome.org/show_bug.cgi?id=708984

So instead, setup broadway to require a click in a window to move the focus
(i.e. 'click-to-focus' approach):

 * The implicit GDK_FOCUS_CHANGE events that were generated upon reception of
   BROADWAY_EVENT_ENTER or BROADWAY_EVENT_LEAVE are removed.

 * The broadway daemon will now keep track of which is the focused window

 * Whenever the daemon detects an incoming BROADWAY_EVENT_BUTTON_PRESS, it will
   trigger the focused window switch, which sends a new BROADWAY_EVENT_FOCUS to
   the client, specifying which windows holds the focus.

 * Upon reception of a BROADWAY_EVENT_FOCUS, the client will generate a new
   GDK_FOCUS_CHANGE.

 * gdk_broadway_window_focus() was also implemented, which now requests the
   focus to the broadway server using a new BROADWAY_REQUEST_FOCUS_WINDOW.

This is based on an initial patch from Aleksander Morgado <aleksander@lanedo.com>.
2013-11-12 12:03:50 +01:00
..
broadway broadway: use 'click-to-focus' approach instead of 'focus-follows-mouse' 2013-11-12 12:03:50 +01:00
quartz Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
wayland Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
win32 Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
x11 Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
COPYING Change FSF Address 2012-02-27 17:06:11 +00:00
fallback-c89.c gdk/fallback-c89.c: Add fallback for round() 2013-03-13 13:22:46 +08:00
gdk.c Fix GI warnings 2013-10-09 14:19:54 -04:00
gdk.h Include public headers in gdk.h 2013-02-25 10:54:32 +01:00
gdkapplaunchcontext.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkapplaunchcontext.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkapplaunchcontextprivate.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkcairo.c gdkcairo: Actually paint the pixbuf 2013-09-24 17:43:44 +02:00
gdkcairo.h gdk: Add gdk_cairo_surface_create_from_pixbuf 2013-07-03 14:34:13 +02:00
gdkcolor.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkcolor.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkconfig.h.win32 Clean up the pre-configured gdkconfig.h.win32 2013-05-28 13:04:37 +08:00
gdkconfig.h.win32_broadway Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
gdkcursor.c Fix up docs for new cursor apis 2013-08-09 20:24:44 -04:00
gdkcursor.h gdk: Add gdk_cursor_new_from_surface 2013-08-07 13:34:10 +02:00
gdkcursorprivate.h gdk: Add gdk_cursor_get_surface() 2013-08-07 13:34:10 +02:00
gdkdeprecated.c gdk: Ignore headers for declared functions 2012-10-06 15:55:30 -04:00
gdkdevice.c docs: Minor grammatical corrections. 2013-07-29 11:51:33 +02:00
gdkdevice.h gdk: Convert mouse position to doubles, add new getters 2013-07-03 14:39:25 +02:00
gdkdevicemanager.c Fix a typo 2013-05-09 12:03:09 -04:00
gdkdevicemanager.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkdevicemanagerprivate.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkdeviceprivate.h gdk: Convert mouse position to doubles, add new getters 2013-07-03 14:39:25 +02:00
gdkdisplay.c Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
gdkdisplay.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkdisplaymanager.c Revert "Try Wayland before X11" 2013-09-16 08:24:39 -04:00
gdkdisplaymanager.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkdisplaymanagerprivate.h gdk: Unvfuncify gdk_display_manager_open_display() 2013-04-19 16:23:43 -04:00
gdkdisplayprivate.h Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
gdkdnd.c Documentation fixes 2013-09-17 01:13:03 -04:00
gdkdnd.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkdndprivate.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkenumtypes.c.template Include config.h in gdkenumtypes.c.template 2013-03-15 09:19:35 -04:00
gdkenumtypes.h.template Use GDK_AVAILABLE_IN_ALL for generated enum types 2013-05-05 15:38:46 -04:00
gdkevents.c Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
gdkevents.h gdkevents.h: Mention _get_source_device() 2013-10-15 21:31:53 -04:00
gdkframeclock.c gdk: Use new macros for defining private data 2013-07-09 09:28:49 +01:00
gdkframeclock.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkframeclockidle.c all: Add names to timeouts 2013-10-23 13:31:18 +02:00
gdkframeclockidle.h Change GdkFrameClock from an interface to a class 2013-02-14 17:19:52 -05:00
gdkframeclockprivate.h Add gdk_frame_clock_begin/end_updating() 2013-02-18 17:14:24 +01:00
gdkframetimings.c Fix a few more doc issues 2013-02-25 10:57:34 +01:00
gdkframetimings.h GdkFrameTimings: add documentation 2013-02-14 17:19:52 -05:00
gdkglobals.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkinternals.h Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
gdkintl.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkkeynames.c Keep XF86 keysym names working 2013-04-19 20:11:39 -04:00
gdkkeys.c gdk: Unvfuncify generic key functions 2013-04-16 15:30:14 +02:00
gdkkeys.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkkeysprivate.h gdk: Refactor gdk_keyval_convert_case() 2013-04-16 15:30:14 +02:00
gdkkeysyms-compat.h Update gdkkeysyms.h header 2013-04-19 20:11:38 -04:00
gdkkeysyms-update.pl gdkkeysyms-update: Remove workarounds for old bugs 2013-07-17 16:40:05 -04:00
gdkkeysyms.h Update gdkkeysyms.h header 2013-04-19 20:11:38 -04:00
gdkkeyuni.c gdk: Ignore headers for declared functions 2012-10-06 15:55:30 -04:00
gdkmain.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkmarshalers.list Bug 631599 - Allow to use arbitrary surfaces for offscreen windows 2010-10-14 13:25:23 +02:00
gdkoffscreenwindow.c gdk/gdkoffscreenwindow.c: Include fallback-c89.c 2013-07-19 18:33:42 +08:00
gdkpango.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkpango.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkpixbuf-drawable.c gdk_pixbuf_get_from_source: only reuse surfaces with matching format 2013-09-06 18:50:07 +03:00
gdkpixbuf.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkprivate.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkproperty.c docs: Move property section docs to correct file 2013-04-16 15:30:14 +02:00
gdkproperty.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkrectangle.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkrectangle.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkrgba.c GdkRgba: Fix 'loose' typo 2013-05-23 20:53:30 +02:00
gdkrgba.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkscreen.c GdkScreen: Return 1, not 1.0 for the (int) scale factor 2013-08-26 21:17:45 +02:00
gdkscreen.h add gdk_screen_ and gdk_window_get_scale_factor() 2013-07-03 12:27:10 +02:00
gdkscreenprivate.h add gdk_screen_ and gdk_window_get_scale_factor() 2013-07-03 12:27:10 +02:00
gdkselection.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkselection.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdktestutils.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkthreads.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdktypes.h gdk_{pointer,keyboard}_grab are deprecated 2013-03-17 11:58:21 +01:00
gdkversionmacros.h.in Introduce version macros for 3.12 2013-09-23 18:55:28 -04:00
gdkvisual.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkvisual.h Add GDK_AVAILABLE_IN_ALL annotations in gdk 2013-05-05 15:38:46 -04:00
gdkvisualprivate.h Change FSF Address 2012-02-27 17:06:11 +00:00
gdkwindow.c Handle recursion from motion event handlers 2013-11-11 23:17:14 -05:00
gdkwindow.h Add an event_compression setting to GdkWindow 2013-11-09 00:01:05 -05:00
gdkwindowimpl.c Change FSF Address 2012-02-27 17:06:11 +00:00
gdkwindowimpl.h gdk: Add opaque region setters 2013-08-28 10:33:57 -04:00
gdkx.h Change FSF Address 2012-02-27 17:06:11 +00:00
gen-keyname-table.pl gdk: Make gen-keyname-table.pl work again 2011-10-26 10:36:43 +01:00
keyname-table.h Fix key "Page_Down" identified as "Next" 2013-10-24 18:48:33 -04:00
keynames-translate.txt Add AudioMicMute 2013-07-17 17:52:19 -04:00
keynames.txt Fix key "Page_Down" identified as "Next" 2013-10-24 18:48:33 -04:00
Makefile.am Add Visual Studio Build Support for Broadway 2013-08-02 11:20:19 +08:00
makefile.msc win32: gdk3 resurrection 2011-01-02 13:33:04 +01:00