summaryrefslogtreecommitdiff
path: root/gdk/broadway/gdkeventsource.c
Commit message (Collapse)AuthorAgeFilesLines
* gdk: Get rid of gdk_event_free()Benjamin Otte2018-05-291-1/+1
| | | | Events are objects, so use g_object_unref().
* broadway: Fix up window -> surface renamesAlexander Larsson2018-03-211-40/+40
|
* Convert all references to GdkEvent->surfaceAlexander Larsson2018-03-201-10/+10
|
* GdkWindow -> GdkSurface initial type renameAlexander Larsson2018-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This renames the GdkWindow class and related classes (impl, backend subclasses) to surface. Additionally it renames related types: GdkWindowAttr, GdkWindowPaint, GdkWindowWindowClass, GdkWindowType, GdkWindowTypeHint, GdkWindowHints, GdkWindowState, GdkWindowEdge This is an automatic conversion using the below commands: git sed -f g GdkWindowWindowClass GdkSurfaceSurfaceClass git sed -f g GdkWindow GdkSurface git sed -f g "gdk_window\([ _\(\),;]\|$\)" "gdk_surface\1" # Avoid hitting gdk_windowing git sed -f g "GDK_WINDOW\([ _\(]\|$\)" "GDK_SURFACE\1" # Avoid hitting GDK_WINDOWING git sed "GDK_\([A-Z]*\)IS_WINDOW\([_ (]\|$\)" "GDK_\1IS_SURFACE\2" git sed GDK_TYPE_WINDOW GDK_TYPE_SURFACE git sed -f g GdkPointerWindowInfo GdkPointerSurfaceInfo git sed -f g "BROADWAY_WINDOW" "BROADWAY_SURFACE" git sed -f g "broadway_window" "broadway_surface" git sed -f g "BroadwayWindow" "BroadwaySurface" git sed -f g "WAYLAND_WINDOW" "WAYLAND_SURFACE" git sed -f g "wayland_window" "wayland_surface" git sed -f g "WaylandWindow" "WaylandSurface" git sed -f g "X11_WINDOW" "X11_SURFACE" git sed -f g "x11_window" "x11_surface" git sed -f g "X11Window" "X11Surface" git sed -f g "WIN32_WINDOW" "WIN32_SURFACE" git sed -f g "win32_window" "win32_surface" git sed -f g "Win32Window" "Win32Surface" git sed -f g "QUARTZ_WINDOW" "QUARTZ_SURFACE" git sed -f g "quartz_window" "quartz_surface" git sed -f g "QuartzWindow" "QuartzSurface" git checkout NEWS* po-properties
* Drop the Big GDK LockEmmanuele Bassi2018-02-031-12/+0
| | | | | | | | | | | | | | | | GDK has a lock to mark critical sections inside the backends. Additionally, code that would re-enter into the GTK main loop was supposed to hold the lock. Back in the Good Old Days™ this was guaranteed to kind of work only on the X11 backend, and would cause a neat explosion on any other GDK backend. During GTK+ 3.x we deprecated the API to enter and leave the critical sections, and now we can remove all the internal uses of the lock, since external API that uses GTK+ 4.x won't be able to hold the GDK lock. https://bugzilla.gnome.org/show_bug.cgi?id=793124
* broadway: Make compile after GdkEvent objectificationBenjamin Otte2017-12-141-20/+10
|
* broadway: Use "surface" instead of window/toplevel for browser objectAlexander Larsson2017-12-051-140/+140
| | | | Als fixes indentation/tabs and removes some unused code.
* broadway: Remove references to unused BROADWAY_EVENT_DELETE_NOTIFYAlexander Larsson2017-12-051-12/+0
|
* broadway: Stop using GdkDeviceManagerMatthias Clasen2017-11-251-25/+29
| | | | We can use the GdkSeat apis for this.
* broadway: Roundtrip each update to rate limit redrawAlexander Larsson2017-11-231-0/+7
|
* broadway: Drop the root windowMatthias Clasen2017-11-061-4/+0
| | | | | We already have a list of toplevels, so we don't need the root window for this.
* broadway: Stop using gdk_display_get_root_windowMatthias Clasen2017-11-051-1/+1
| | | | We can just use the field in the display.
* broadway: No more screenMatthias Clasen2017-11-011-4/+1
| | | | | This gets rid of the GdkBroadwayScreen object and all remnants of GdkScreen in the broadway backend.
* Port to gdk_display_get_root_windowMatthias Clasen2017-10-311-1/+1
| | | | This is the replacement for the GdkScreen api of the same name.
* Make gdk_event_get_pointer_emulated publicMatthias Clasen2016-05-101-2/+2
| | | | | | There is not strong reason to keep the getter private. At the same time, strip _-prefixes from a few other GdkEvent APIs. Update all callers.
* Save scancode inside GdkEventPrivateFrediano Ziglio2016-04-211-0/+1
| | | | | | | | | | | | Windows save in hardware_keycode an information which is not so low level and some application require the hardware scancode. As Windows provides this information save it in GdkEventPrivate and provide a function to get this information. For no Windows system the function return the hardware_keycode instead. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> https://bugzilla.gnome.org/show_bug.cgi?id=765259
* broadway: get the core pointer from the device managerPaolo Borelli2016-02-291-16/+16
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=762820
* broadway: Add a few ignore deprecations statements around GdkDeviceManagerCarlos Garnacho2015-12-161-0/+2
| | | | | | There's places where we still need to deal with floating devices, which are unseen by seats. Ignore deprecations and keep using GdkDeviceManager until we can forget about floating devices.
* broadway: Use GdkSeatDefault to Implement GdkSeatCarlos Garnacho2015-12-151-0/+9
|
* Broadway: Remove display assumptionsMatthias Clasen2014-10-251-2/+19
| | | | | | | | | In various places, the broadway backend was just using the default display and assumed that it is the broadway display. That may not be the case in a multi-backend world, so instead iterate over all displays and use the first broadway display - still not perfect, but enough to survive for now.
* broadway: Improve touch eventsAlexander Larsson2013-11-141-15/+3
| | | | | We now respect core pointer grabs, and we do the pointer emulation detection on the browser side.
* broadway: Send focus out eventsAlexander Larsson2013-11-131-1/+11
|
* broadway: Fix focus handling with touch eventsAlexander Larsson2013-11-131-1/+1
|
* broadway: Support window resize/drag via touchAlexander Larsson2013-11-121-0/+4
|
* broadway: Add initial touch event supportAlexander Larsson2013-11-121-1/+62
| | | | | This seems to get something going on an ipad, but some events seem to get swallowed. For instance, window dragging doesn't work.
* broadway: use 'click-to-focus' approach instead of 'focus-follows-mouse'Alexander Larsson2013-11-121-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>.
* Handle recursion from motion event handlersOwen W. Taylor2013-11-111-7/+3
| | | | | | | | | | | | If a motion event handler (or other handler running from the flush-events phase of the frame clock) recursed the main loop then flushing wouldn't complete until after the recursed main loop returned, and various aspects of the state would get out of sync. To fix this, change flushing of the event queue to simply mark events as ready to flush, and let normal event delivery handle the rest. https://bugzilla.gnome.org/show_bug.cgi?id=705176
* broadway: Fix warningAlexander Larsson2013-04-051-1/+1
| | | | Don't pass NULL source_device in grab/ungrab events
* broadway: Ensure window sizes are synched rightAlexander Larsson2013-03-291-4/+0
| | | | | | | We don't want to update the window size on configure event, only the position, as the size is client side controlled. We were updating to an old size during resizes which causes us to send surfaces of the wrong size to the daemon.
* Broadway/Quartz/Win32: make event source prepare()/check() note paused statusOwen W. Taylor2013-02-211-2/+8
| | | | | | | | | | | | | | When events are paused, we should not return TRUE from prepare() or check(). GTK+ handles this for events that are already in the GTK+ queue, but we also need suppress checks for events that are in the system queue - if we return TRUE indicating that there are events in the system queue, then we'll call dispatch(), and do nothing. The event source will spin, and will never run the other phases of the paint clock. (Broadway doesn't have a window system queue separate from the GDK event queue, but we write the function the same way for consistency.) https://bugzilla.gnome.org/show_bug.cgi?id=694274
* broadway: Add enum for even typesAlexander Larsson2012-12-271-13/+13
|
* broadway: Separate out the server partsAlexander Larsson2012-12-201-42/+5
| | | | | | | This (shouldn't) change any behaviour, but it moves the webserver parts to a separate file, making the broadway display file smaller and preparing for later separating out the server to its own process.
* gdk: Don't use GDK_THREADS_ENTER/LEAVE macros internallyMatthias Clasen2012-07-301-6/+6
| | | | | | These are just wrappers for the functions, and we want to deprecate them. Stopping to use them internally is a good first step.
* Change FSF AddressJavier Jardón2012-02-271-3/+1
|
* [broadway] Implement gdk_window_begin_resize_dragAlexander Larsson2011-04-151-0/+15
| | | | This makes the resize grip work.
* [broadway] Handle keyboard modifiers in stateAlexander Larsson2011-04-141-0/+3
|
* [broadway] Emulate hardware keycodes in keyboard eventsAlexander Larsson2011-04-141-0/+1
| | | | | | | | We can't really know the client side keymaps, so we use the keysym as the hardware keycode (essentially claiming to have a keyboard with one key for all possible keysyms). This is not ideal, but its hard to do better with no knowledge of the client side keyboard mappings. (And html keyboard events suck badly...)
* [broadway] Serialize event timesAlexander Larsson2011-04-071-2/+0
| | | | | | Event times come from the browser and may change weirdly when we reconnect with another browser, so we normalize these to be strictly increasing and with a 5 second gap for each reconnect.
* [broadway] Handle screen sizeAlexander Larsson2011-04-071-0/+11
| | | | Without this menu placement doesn't work right
* [broadway] Track and report last and future stateAlexander Larsson2011-04-071-0/+5
| | | | This fixes the drawing area demo in gtk-demo
* [broadway] Fix all unnecessary warningsAlexander Larsson2011-04-071-3/+0
|
* [broadway] Wire up the delete eventAlexander Larsson2011-04-071-0/+12
|
* [broadway] Add configure event for browser-side geometry changesAlexander Larsson2011-04-071-0/+24
| | | | | Atm this only works for the useToplevelWindows case, but we can add a browser wm to make use of it inside the browser too.
* [broadway] Keep track of current real cursor window (sans grabs)Alexander Larsson2011-04-071-5/+15
| | | | We need this to be able to do a non-roundtripping get-window.
* [broadway] Save last event time seenAlexander Larsson2011-04-071-0/+2
|
* [broadway] Parse broadway input messages earlierAlexander Larsson2011-04-071-135/+65
| | | | | We now parse the broadway messages as soon as they are read from the wire. This will let us sanely do lookahead in the message queue later.
* broadway: Fix various typos in mouse button event reportingAlexander Larsson2011-03-141-1/+1
|
* broadway: Fix up grab events, its "mode" not "detail" we sendAlexander Larsson2011-03-141-6/+6
|
* broadway: Track button stateAlexander Larsson2011-03-141-0/+7
|
* broadway: Implement pointer grabsAlexander Larsson2011-03-141-3/+11
|