- 23 Jan, 2019 1 commit
-
-
Carlos Garnacho authored
This uses the gtk_surface1.request_focus request added in gtk-shell v3, the given startup ID may be used by the compositor in order to determine when was the request started, and whether user input happened in between. Closes: #624
-
- 19 Jun, 2018 1 commit
-
-
myfreeweb authored
This functionality is similar to Linux's memfd. It creates anonymous shared memory without touching the filesystem, which allows it to work in Capsicum capability mode (sandbox).
-
- 16 Mar, 2018 1 commit
-
-
Jonas Ådahl authored
This commit adds support the stable version of the xdg-shell protocol. Support for the last version of the unstable series is left intact, but will not receive new features. The stable version is prioritized above the older version. https://bugzilla.gnome.org/show_bug.cgi?id=791939
-
- 14 Feb, 2018 1 commit
-
-
Carlos Garnacho authored
The internal known_globals hashtable is used to carry accounting for interfaces that depend on others (as ordering is not guaranteed), extend its usage so it also keeps track of unimplemented interfaces (here at least). The API call will then use this to allow querying the globals offered by the compositor, it will be useful to determine whether we can use text-input protocols or should fallback to other IMs.
-
- 26 Oct, 2017 1 commit
-
-
Drew DeVault authored
If the compositor prefers server-side decorations and the client doesn't customize the title bar, we disable client-side decorations and let the compositor know. Otherwise, we continue to use client-side decorations. Signed-off-by:
Drew DeVault <sir@cmpwn.com> https://bugzilla.gnome.org/show_bug.cgi?id=781909
-
- 03 Oct, 2017 1 commit
-
-
Georges Basile Stavracas Neto authored
Now that GTK windows have the ability to properly handle per-edge tiling constraints, this patch extends GTK's internal Wayland protocol to have a proper enum with the relevant edge data. Once this approach is validated, we can think of upstreaming this work as an official Wayland protocol extension. https://bugzilla.gnome.org/show_bug.cgi?id=783669
-
- 02 Aug, 2017 1 commit
-
-
Olivier Fourdan authored
This adds support for the shortcut inhibitor protocol in gdk/wayland backend. A shortcut inhibitor request is issued from the gdk wayland backend for both the older, deprecated API gdk_device_grab() and the new gdk seat API gdk_seat_grab(), but only if the requested capability is for the keyboard only. https://bugzilla.gnome.org/show_bug.cgi?id=783343
-
- 20 Jul, 2017 2 commits
-
-
Jonas Ådahl authored
If a bad behaving application tries to make the window/display beep too often, throttle the beep requests so that we don't end up filling the Wayland socket queue. The throttle is set to 50 beeps per second, which far more beeps than will ever make any sense from a user experience point of view, but will avoid terminating due to an excessive amount of requests. https://bugzilla.gnome.org/show_bug.cgi?id=778188
-
Jonas Ådahl authored
This way we can add things like throttling. https://bugzilla.gnome.org/show_bug.cgi?id=778188
-
- 08 Nov, 2016 1 commit
-
-
Florian Müllner authored
For wayland clients, the startup notification ID is currently only set from the DESKTOP_STARTUP_ID environment variable. As that variable is only set for clients launched via exec(), startup completion is not indicated correctly for DBus-activated applications unless an explicit ID is specified - usually that is not the case, as the default handling uses gdk_notify_startup_complete(). To address this, we need API to set the startup notification ID from GTK as we have on X11. https://bugzilla.gnome.org/show_bug.cgi?id=768531
-
- 08 Sep, 2016 1 commit
-
-
Timm Bäder authored
-
- 29 Aug, 2016 2 commits
-
-
Jonas Ådahl authored
Add an API that enables an application to, given an exported window handle, set its own window as a transient of the window associated with the exported window handle. https://bugzilla.gnome.org/show_bug.cgi?id=769788
-
Jonas Ådahl authored
Using the xdg_foreign protocol, expose a way to get handles to windows that may be shared between processes. https://bugzilla.gnome.org/show_bug.cgi?id=769788
-
- 25 Aug, 2016 2 commits
-
-
-
Jonas Ådahl authored
Don't expose the xdg_shell struct as it is not yet a stable type that will stay the same. https://bugzilla.gnome.org/show_bug.cgi?id=769937
-
- 22 Jul, 2016 1 commit
-
-
Carlos Garnacho authored
Only update to using v2 headers/structs. The incompatible changes to tool events are dealt with in the next commit. Pads aren't handled in this commit either.
-
- 16 Jun, 2016 2 commits
-
-
Ray Strode authored
Debian stable currently ships with a 3.16 kernel, so it doesn't have memfd available. This commit adds shm_open fall back code for that case (for now). https://bugzilla.gnome.org/show_bug.cgi?id=766341
-
Ray Strode authored
We currently use syscall() directly to invoke memfd_create, since the function isn't available in libc headers yet. The code, though, mishandles how errors are passed from syscall(). It assumes syscall returns the error code directly (but negative), when in fact, syscall() uses errno. Also, the code fails to retry on EINTR. This commit moves the handling of memfd create to a helper function, and changes the code to use errno and handle EINTR. https://bugzilla.gnome.org/show_bug.cgi?id=766341
-
- 18 May, 2016 1 commit
-
-
Olivier Fourdan authored
Given that Wayland has no global coordinate, the only way for gdk to retrieve the monitor a window last entered is to retrieve it from the GdkWaylandWindow itself. Implement the backend specific get_monitor_at_window() to return the monitor that was last entered by the window. https://bugzilla.gnome.org/show_bug.cgi?id=766566
-
- 01 May, 2016 1 commit
-
-
Matthias Clasen authored
It should just return the same as gdk_screen_make_display_name.
-
- 28 Apr, 2016 1 commit
-
-
Matthias Clasen authored
-
- 26 Apr, 2016 1 commit
-
-
Jonas Ådahl authored
The naming of pointers to GdkWaylandDisplay's were inconsistent. Running the following commands in gtk+/gdk/wayland illustrate the inconsistency: $ grep -r '\<display_wayland\>' *.[ch] | wc -l 195 $ grep -r '\<wayland_display\>' *.[ch] | wc -l 81 This patch renames all occurrences of "wayland_display" to "display_wayland". This is also consistent with naming in the X11 backend. A couple of whitespace changes were done as well in places where the rename was already done, that added line breaks to long lines that stood out. https://bugzilla.gnome.org/show_bug.cgi?id=765474
-
- 06 Apr, 2016 1 commit
-
-
Lyude Paul authored
Only the management of tablets and tools is added so far. No tablet events are yet interpreted. As it's been the tradition in GTK+, erasers are split into their own device, whereas the rest of the tools are meant to be routed through the GDK_SOURCE_PEN device. Both pen/eraser devices are slaves to a master pointer device, separate to wl_pointer's. This is so each tablet can maintain its own cursor/positioning accounting. Signed-off-by:
Stephen Chandler Paul <thatslyude@gmail.com>
-
- 26 Mar, 2016 1 commit
-
-
Matthias Clasen authored
Use GDK_DEBUG=misc to see information about wl_shm pixel formats supported by the compositor.
-
- 10 Mar, 2016 2 commits
-
-
Jonas Ådahl authored
Invoke the system bell by calling the request added to the gtk_shell protocol. https://bugzilla.gnome.org/show_bug.cgi?id=763001
-
Jonas Ådahl authored
The gtk_shell protocol used some half baked unstable protocol semantics that worked by only allowing binding the exact version of the interface. This hack is a bit too confusing and it makes it impossible to do any compatible changes without breaking things. So, instead rename it to include a number in the interface names. This way we can add requests and events without causing compatibility issues, and we can later remove requests and events by bumping the number in the interface names. https://bugzilla.gnome.org/show_bug.cgi?id=763001
-
- 29 Feb, 2016 2 commits
-
-
Paolo Borelli authored
gdk_display_list_devices is deprecated and all the backends implement the same fallback by delegating to the device manager and caching the list (caching it is needed since the method does not transfer ownership of the container). The compat code can be shared among all backends and we can initialize the list lazily only in the case someone calls the deprecated method. https://bugzilla.gnome.org/show_bug.cgi?id=762891
-
Paolo Borelli authored
It is not used anymore, so no need to set it https://bugzilla.gnome.org/show_bug.cgi?id=762820
-
- 28 Feb, 2016 1 commit
-
-
Matthias Clasen authored
g_logv adds one for us already.
-
- 26 Feb, 2016 2 commits
-
-
Matthias Clasen authored
This was detected by gccs address sanitizer.
-
Carlos Garnacho authored
Implement it using the internal copy of the protocol. Otherwise, we just deal with it the same than clipboard selection, just mapping it to the PRIMARY atom instead of the CLIPBOARD one. https://bugzilla.gnome.org/show_bug.cgi?id=762561
-
- 19 Feb, 2016 1 commit
-
-
Carlos Garnacho authored
Fetch the DESKTOP_STARTUP_ID envvar at the same point it's done for the X11 backend, and notify the startup ID gotten on notify_startup_complete().
-
- 18 Feb, 2016 1 commit
-
-
Olivier Fourdan authored
When running with a Wayland compositor which doesn't support the xdg_shell interface, gtk+ will segfault while trying to access the corresponding wl proxy. Check for xdg_shell support and do not use Wayland if not present, so that it can fallback to X11, hoping that Xwayland is usable. Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=762258
-
- 06 Feb, 2016 3 commits
-
-
Ray Strode authored
Right now we handle buffer releases coming from the compositor in a central place. We add a listener when first creating the shared buffers. This is problematic because a buffer can only have one listener on it at once so users of the buffer can't get notified when it's released. This commit moves the buffer listener code from the centrally managed display code to the cursor and window code. https://bugzilla.gnome.org/show_bug.cgi?id=761312
-
Ray Strode authored
The client and compositor share access to the window pixel buffers. After the client hands off (commits) the buffer to the compositor it's not supposed to write to it again until it's released by the compositor. The code tries to deal with this contention by allocating a temporary buffer and using that in the mean time. This temporary buffer is allocated by a higher layer of the code when begin_paint returns TRUE. Unfortunately, that layer of the code has no idea when the buffer is released, so it ends up blitting the temporary buffer back to the shared buffer prematurely. This commit changes begin_paint to always return FALSE. A future commit will address the contention problem in a different way. https://bugzilla.gnome.org/show_bug.cgi?id=761312
-
Ray Strode authored
This commit renames the key name to be more specific for clarity. https://bugzilla.gnome.org/show_bug.cgi?id=761312
-
- 25 Jan, 2016 2 commits
-
-
Ray Strode authored
It looks like the gnome-continuous headers haven't quite caught up yet, so try __NR_memfd_create instead. If that doesn't work, i'll likely just add in a fallback code path.
-
Ray Strode authored
The tmpdir is used for a wide assortment of things, and can easily fill up. If it fills then desktop will start crashing with SIGBUS errors. This commit changes the shm pool allocation code, to use memfd_create, instead, so the shared memory files will be anonymous and not associated with /tmp https://bugzilla.gnome.org/show_bug.cgi?id=761095
-
- 22 Jan, 2016 1 commit
-
-
Matthias Clasen authored
As pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=760964, we should use the GLib facilities for determining the preferred location for temporary files.
-
- 20 Jan, 2016 1 commit
-
-
Ray Strode authored
create_shm_pool doesn't need the width or height, it just needs the total size. By passing it in, we're requiring it to redo stride calculation unnecessarily. This commit drops the width and height parameters and makes the function just take the total size directly. https://bugzilla.gnome.org/show_bug.cgi?id=760897
-