Matthias Clasen
8c9e1e7444
wayland: Stop using the query_state vfunc
...
Just call the backend implementation directly.
2020-08-26 17:56:41 -04:00
Matthias Clasen
125ed52ccb
Merge branch 'new-sysprof' into 'master'
...
Port profiling to sysprof-collector api
See merge request GNOME/gtk!2457
2020-08-21 23:58:09 +00:00
Matthias Clasen
d4e069a629
Port tracing to the sysprof collector api
...
Use the new sysprof collector api to do tracing.
2020-08-21 10:55:01 -04:00
Björn Daase
6315cd977c
*: Fix spelling mistakes found by codespell
2020-08-21 15:29:34 +02:00
Matthias Clasen
3d7343144f
wayland: Drop unused surface type hint field
...
This wasn't used at all.
2020-08-13 22:24:06 -04:00
Matthias Clasen
a85fc0008c
wayland: Don't send invalid anchor rectangles
...
When we send an anchor rectangle with a width or
height of 0, mutter reponds with "Invalid anchor
rectangle size". So, don't do that.
This was seen as sudden disappearance of gtk4-demo
when you click the fishbowl benchmark all the way
through to the menubuttons.
Fixes : #3027
2020-08-09 16:02:25 -04:00
Jonas Ådahl
6724d4250f
wayland/toplevel: Don't leak wl_callback used during present()
2020-08-07 14:01:16 +02:00
Jonas Ådahl
c27f811462
wayland/surface: Destroy toplevel present callback if ignored
...
We might break the loop early, e.g. if we're unmapped before the round
trip finishes, and to avoid the callback to write to invalid stack
memory, destroy the callback so it won't be invoked.
Fixes : #3026
2020-08-07 09:06:21 +02:00
Jonas Ådahl
3590923c8b
wayland/surface: Fix toplevel present roundtrip condition
...
We should round trip until we both have received callback and have
ensured we received the initial configuration.
2020-08-07 09:06:21 +02:00
Matthias Clasen
12450cfcef
wayland: Don't leak content formats
...
We were not unreffing the formats here.
2020-08-06 20:02:33 -04:00
Matthias Clasen
1d7b273669
docs: Clean up dangling links in gdk docs
...
Clean up references to no-longer-existing APIs.
2020-08-05 15:45:43 -04:00
Jonas Ådahl
2ff74eb667
gdk/toplevel: Negotiate surface size via a compute-size signal
...
GTK will not up front know how to correctly calculate a size, since it
will not be able to reliably predict the constraints that may exist
where it will be mapped.
Thus, to handle this, calculate the size of the toplevel by having GDK
emitting a signal called 'compute-size' that will contain information
needed for computing a toplevel window size.
This signal may be emitted at any time, e.g. during
gdk_toplevel_present(), or spontaneously if constraints change.
This also drops the max size from the toplevel layout, while moving the
min size from the toplevel layout struct to the struct passed via the
signal,
This needs changes to a test case where we make sure we process
GDK_CONFIGURE etc, which means we also needs to show the window and
process all pending events in the test-focus-chain test case.
2020-08-05 15:49:00 +02:00
Carlos Garnacho
96452a2e46
gdk: Rename gdk_seat_get_physical_devices() to gdk_seat_get_devices()
...
We don't want to tell what they are, and the distinction is now less
clear. Remove the adjective from the function name.
2020-07-30 18:44:40 +02:00
Carlos Garnacho
46eb054337
gdk: Drop gdk_device_get_device_type()
...
There is no longer a hierarchy of devices, or none that is seen
on the outside.
2020-07-30 18:44:40 +02:00
Benjamin Otte
4dc2ab61c9
Merge branch 'wip/otte/geometry' into 'master'
...
Some GdkGeometry cleanups
See merge request GNOME/gtk!2322
2020-07-30 15:31:27 +00:00
Benjamin Otte
b12b06e917
gdk: Remove base_size and increment from GdkGeometry
...
It's unused.
2020-07-30 16:55:45 +02:00
Matthias Clasen
7df070d681
gdk: Move default group api to the X11 backend
...
This is the only place where it is implemented.
2020-07-29 22:58:37 -04:00
Carlos Garnacho
cab1dcb696
gdk: Conflate GDK devices
...
Make GdkEvents hold a single GdkDevice. This device is closer to
the logical device conceptually, although it must be sufficient for
device checks (i.e. GdkInputSource), which makes it similar to the
physical devices.
Make the logical devices have a more accurate GdkInputSource where
needed, and conflate the event devices altogether.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
25ea17a6fc
gdk: Drop source_device argument from _gdk_display_device_grab_update()
...
It's just passed around and used nowhere.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
4a2bbed157
gdk: Make events hold an axis array matching GdkAxisUse
...
Instead of doing device-specific translations of array positions,
use GdkAxisUse as an array index right away.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
b52ad33031
gdk: Add gdk_seat_get_tools() API call
...
There's GdkSeat::tool-added and ::tool-removed, but there's no
API to query the known tools. Add this call.
2020-07-29 00:11:34 +02:00
Carlos Garnacho
a2876b5cb4
gdkdevice: Remove gdk_device_get_state()
...
This is not needed nor recommended anymore, all reasons to maybe
need this were all kept within gdk.
2020-07-28 17:36:18 +02:00
Benjamin Otte
3078b180fe
Replace "gdouble" with "double"
2020-07-25 00:47:36 +02:00
Benjamin Otte
d375dce9f5
Replace "gchar" with "char"
2020-07-25 00:47:36 +02:00
Benjamin Otte
d7266b25ba
Replace "gint" with "int"
2020-07-25 00:47:36 +02:00
Emmanuel Gil Peyrot
74a4432688
gdk/wayland: Add an API to inhibit and uninhibit idle
...
This uses the idle-inhibit protocol from wayland-protocols, to attach an
inhibitor to the GdkSurface. The inhibit function can be called as many
times as the user wants, but the uninhibit function MUST be called as
many times to unset the idle inhibition.
This has been tested on Sway.
2020-07-14 21:47:22 +02:00
Caolán McNamara
7e97c2513f
gtk#767 add a way to change the application_id of a toplevel wayland GdkSurface
...
so LibreOffice can reuse toplevels and get the right task icons
references;
https://gitlab.gnome.org/GNOME/gtk/-/issues/767
https://lists.freedesktop.org/archives/wayland-devel/2019-July/040704.html
e0d6ad1d5e
https://bugs.documentfoundation.org/show_bug.cgi?id=125934
https://bugzilla.redhat.com/show_bug.cgi?id=1334915
https://bugreports.qt.io/browse/QTBUG-77182
2020-07-07 15:56:12 +01:00
Matthias Clasen
d46b04631e
wayland: Respect GDK_DEBUG=default-settings
...
You can get this in other ways for Wayland (by
setting GSETTINGS_BACKEND=memory), but it is better
to be consistent across backends.
2020-06-28 13:42:02 -04:00
Carlos Garnacho
7be6afe84d
gdk: Depend less on gdk_event_get_device()
...
For the most part, we are interested in seats here.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
6d2860efb7
gdk: Drop gdk_seat_get_logical_pointers()
...
Events come from hardware devices and are handled by controllers,
there's no need to use logical pointers, nor to peek them. Drop this
unused API.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
5f29b8fcec
gdk: Drop GdkGrabOwnership
...
We no longer expose such low level tweaks, this is essentially
unused.
2020-06-23 23:42:53 +02:00
Carlos Garnacho
c1d90273ca
gdk: Drop GDK_SOURCE_ERASER
...
All tools come from devices with GDK_SOURCE_PEN.
2020-06-23 23:42:53 +02:00
Emmanuele Bassi
1c856a208f
Rename master and slave device
...
We already use the "logical/virtual" and "physical" names in the
documentation, there's no reason to use loaded terms just because X11
uses them.
2020-06-18 19:22:20 +01:00
Matthias Clasen
2c82151d65
gdk: Drop axis labels
...
This was only ever implemented on X11, and the labels
here were atom names, so unlikely to be useful for
anything interesting.
2020-06-10 07:36:30 -04:00
Matthias Clasen
876560924f
wayland: Drop a pointless vfunc
...
A vfunc that just returns FALSE is not useful.
2020-06-08 18:24:20 -04:00
Sebastian Keller
2bd938952d
wayland: Remove unused fribidi include
...
The included fribidi header is not used in gdkkeys-wayland.c and already
included in gdk.c which causes linker issues due to the header defining
a global variable.
2020-06-04 20:44:55 +02:00
Benjamin Otte
3c1cca13b7
wayland: Remove function declaration for nonexisting function
2020-05-30 10:46:49 -04:00
Yuri Chornoivan
01bd4cc4e1
Fix minor typos
2020-05-28 11:00:03 +03:00
Matthias Clasen
ec39ddee63
Help static analysis with an assertion
...
It is hard for clang to see that layouts will
always be smaller than num_layouts, so just assert
that.
2020-05-25 20:56:09 -04:00
Timm Bäder
ae711d8301
gdkdisplay-wayland: only remove one monitor
...
Ids here are unique, so break out of the loop once we found the monitor
with the given ID.
2020-05-20 15:51:11 +02:00
Christian Hergert
fa08d848ca
device: remove get_toplevel from surface_at_position vfunc
...
This is not used anymore now that surfaces are always toplevel in the
semantics of GdkWindow where child windows were available. We can drop
that and simplify the vfunc just a bit more.
Fixes #2765
2020-05-19 13:07:38 -07:00
Matthias Clasen
d6818475d7
gdk: Simplify gdk_display_supports_input_shapes
...
Make this a display property, and do away with
the vfunc in favor of a private setter, to match
how we handle other display characteristics.
2020-05-17 22:05:24 -04:00
Matthias Clasen
287c40276a
gdk: Drop gdk_display_supports_shapes
...
The apis to set shapes on surfaces are gone,
so there is no point in providing this information
on GdkDisplay.
2020-05-17 21:52:15 -04:00
Matthias Clasen
71bad81aff
gdk: Make gdk_drag_begin take doubles
...
This is a better fit to the way we treat coordinates
everywhere else.
2020-05-17 17:51:03 -04:00
Matthias Clasen
c0faf0c6b6
Merge branch 'toplevel-move-resize' into 'master'
...
Toplevel move resize
See merge request GNOME/gtk!1923
2020-05-17 19:15:46 +00:00
Matthias Clasen
1e8a58e367
gdk: Move the begin_move/resize_drag vfuncs around
...
Move these from GdkSurface to GdkToplevel, where they
belong. Update all backends.
2020-05-17 14:15:06 -04:00
Benjamin Otte
b353221185
Merge branch 'wip/otte/monitors' into 'master'
...
various GDK cleanups
See merge request GNOME/gtk!1920
2020-05-17 16:57:52 +00:00
Benjamin Otte
4c7914dc49
display: Remove unneeded getters
...
Applications can use the listmodel instead.
2020-05-17 07:32:37 +02:00
Benjamin Otte
9a30019268
display: Remove the monitor signals
...
Applications can listen to GdkDisplay:monitors::items-changed if they
want to track monitor changes.
2020-05-17 07:10:34 +02:00
Benjamin Otte
e81a1db48c
monitor: Add gdk_monitor_set_geometry()
...
Make it replace gdk_monitor_set_size() and gdk_monitor_set_position()
which used to be called in pairs anyway.
2020-05-17 07:10:34 +02:00