Matthias Clasen
48b569eae0
wayland: Support the settings portal
...
Under Wayland, we are currently directly using GSettings
for desktop settings. But in a sandbox, we may not have
access to dconf, so this may fail. Use the new settings
portal instead.
2018-11-04 15:44:50 -05:00
Florian Müllner
1e39f999e3
wayland: Remove GNOME Classic-specific workaround
...
As GSettings now supports session-specific defaults, GNOME Classic
no longer uses a separate schema and the decoration layout is always
determined by the regular schema.
This essentially reverts commit add67b516c
(although the code was
moved since then).
https://gitlab.gnome.org/GNOME/gtk/merge_requests/400
2018-11-02 16:44:33 +01:00
emersion
e9a67cc6d0
gdk: seal in-memory files when possible
...
This can be used by compositors to mmap memory without having to
handle SIGBUS.
2018-09-27 23:35:18 +02:00
Matthias Clasen
a73f961e65
wayland: drop subsurfaces
...
We don't use them in GTK+ anymore.
2018-08-18 23:25:05 -04:00
Matthias Clasen
081b45399f
gdk/wayland: Avoid idempotent wl_subsurface.set_position calls
...
These may not result on wl_surface.frame callbacks, yet we do trigger
a frame clock tick that would get stuck on the lack of such callback.
https://bugzilla.gnome.org/show_bug.cgi?id=784314
https://gitlab.gnome.org/GNOME/gtk/issues/844
Closes : #844
2018-08-19 01:26:20 +00:00
Matthias Clasen
0874a54708
gdk/wayland: Always map windows 'moved-to-rect' as popups
...
Only popups can make use of the move-to-rect semantics so it makes no
sense to try anything other surface type.
2018-08-19 01:26:20 +00:00
Matthias Clasen
cd40ec2200
gdk/wayland: Don't remap non-subsurface as subsurface
...
Let's just use the fact that a window was mapped as a subsurface to
remap it above another transient parent instead of relying on the more
complicated 'should-map-as-subsurface' helper function.
2018-08-19 01:26:20 +00:00
Guido Günther
72ec8963d7
gdk: Use application_id as xdg_shell's app_id if available
...
This (manually) reverts commit e1fd87728d
This makes sure xdg_shell's app_id matches the DBus name of the the
appliation when using GtkApplication. It also allows the compositor to
derive the desktop file ID from the app_id:
https://cgit.freedesktop.org/wayland/wayland-protocols/tree/stable/xdg-shell/xdg-shell.xml?id=298d888ac718eae57ff2245d373d4327074506ea#n598
Closes #653
2018-08-02 11:03:41 +02:00
Benjamin Otte
375fbd4e47
gdk: Remove key_event->string and key_event->length
...
They're unused.
2018-07-30 19:32:38 +02:00
Ernestas Kulik
6adaf7c33d
Remove GDestroyNotify casts in g_clear_pointer() uses
...
GLib master propagates argument types in g_clear_pointer(), which causes
the usual function pointer casts to GDestroyNotify to trip compiler
warnings. Additionally, this commit changes some cleanup functions where
appropriate (wl_data_source_destroy ->
gtk_primary_selection_source_destroy for struct
gtk_primary_selection_source).
2018-07-25 10:05:39 +03:00
Matthias Clasen
7a1073c3ae
Revert "gdk: Drop configure events"
...
This reverts commit a8926c9d87
.
2018-07-15 20:23:45 -04:00
Matthias Clasen
410d4bca83
wayland: Set actions on drag
...
We should pass the actions to the newly created
drag in drag_begin.
2018-07-15 16:52:16 -04:00
Matthias Clasen
298b6ee81a
wayland: Stop accessing GdkDrag members
2018-07-15 16:43:28 -04:00
Matthias Clasen
034f89b17f
wayland: Drop an unused api
...
Nothing was calling gdk_wayland_drag_set_source_surface.
2018-07-15 16:42:07 -04:00
Matthias Clasen
228f813c43
dnd: Drop gdk_drag_drop
...
This is an inconsistently used private api, and just adds
a vfunc indirection for no other benefit.
2018-07-15 15:58:05 -04:00
Matthias Clasen
7ca6440f4d
gdk: Drop map events
...
We are really inconsistent about generating these,
and they are not actually used in GTK+. Instead,
add a boolean GdkSurface::mapped property.
2018-07-15 15:10:56 -04:00
Matthias Clasen
a8926c9d87
gdk: Drop configure events
...
Replace configure events with a GdkSurface::size-changed signal.
This is part of the move to use events only for input.
2018-07-15 11:51:09 -04:00
Matthias Clasen
f432c937cc
dnd: Drop gdk_drag_abort
...
This function is never called, so drop it, its vfunc,
and all the backend implementations.
2018-07-12 13:57:45 +02:00
Matthias Clasen
0e2ac0ebf2
wayland: Rename a source file
...
Rename gdkdnd-wayland.c to gdkdrag-wayland.c to go along
with gdkdrop-wayland.c.
2018-07-12 13:02:42 +02:00
Matthias Clasen
c73cb2c154
wayland: Drop an unused field
...
Nothing was using the foreign_dnd_surface anymore, so no
need to create it in the first place.
2018-07-12 13:02:42 +02:00
Matthias Clasen
94af080fb6
Rename a property
...
Change GdkDrag::action to GdkDrag::selected-action, which is
more clearly different from actions, and follows the existing
name of the struct field and getter.
2018-07-12 13:02:42 +02:00
Matthias Clasen
f69bb2fb2b
wayland: set a cursor when starting a drag
...
Otherwise, we wont have one.
2018-07-12 13:02:42 +02:00
Matthias Clasen
db0b9f61ae
dnd: Add a GdkDrag::action property
...
This lets us drop the ::action-changed signal for the
property change notification. But, can just as well move
the signal class handers which just update the cursor
to the ::action setter. No need to do this in the backends.
2018-07-12 13:02:42 +02:00
Matthias Clasen
63ab523146
wayland: Remove an unused field
...
GdkDragWayland.suggested_action was entirely unused, so drop it.
2018-07-12 13:02:42 +02:00
Matthias Clasen
12464731f1
Merge branch 'dnd-cleanups' into 'master'
...
Dnd cleanups
See merge request GNOME/gtk!226
2018-07-02 21:19:45 +00:00
Matthias Clasen
64f5afe608
dnd: Rename headers
...
Rename gdkdnd.h to gdkdrag.h, to go along with gdkdrop.h
This commit includes the necessary updates to the X11, Wayland
and Broadway backends. Other backends have to be updated separately.
2018-07-02 15:00:50 +02:00
Matthias Clasen
7733f646d6
gdk: Rename GdkDragContext to GdkDrag
...
This is to go along with the newly introduced GdkDrop.
This commit includes the necessary updates to the X11, Wayland
and Broadway backends. Other backends have to be updated separately.
2018-07-02 14:59:26 +02:00
Matthias Clasen
9c3de51412
Merge branch 'wip/cursor-output-scale-changes' into 'master'
...
wayland: Update cursor surface scale when output scale changes
See merge request GNOME/gtk!224
2018-06-29 15:08:17 +00:00
Jonas Ådahl
dfd1372a9b
wayland: Update cursor surface scale when output scale changes
...
Also update the cursor surfaces of every seat when an output changes
scale. This could for example happen when a monitor scale is changed via
Settings.
2018-06-28 12:44:22 +02:00
Matthias Clasen
8755d884f3
Remove a lot of Since annotations
...
4.0 will represent a clean epoch. We don't want to have
lots of noise in the docs about 2.x or 3.x.
2018-06-25 19:55:04 -04:00
Matthias Clasen
cd99f82e0c
Merge branch 'master' into 'issue1084'
...
# Conflicts:
# gdk/gdk.c
2018-06-20 14:21:24 +00:00
myfreeweb
a1bcbdd02a
wayland: Use shm_open(SHM_ANON) on FreeBSD
...
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).
2018-06-19 11:45:49 -04:00
Benjamin Otte
a2839d157f
dnd: Remove unused time arguments
2018-06-18 23:49:53 +02:00
Benjamin Otte
aa1f0cfd4f
dnd: Remove GdkDragContext.is_source
...
All drag contexts are sources these days, the other ones are GdkDrop
now.
2018-06-18 23:49:53 +02:00
Benjamin Otte
a960641ace
dnd: GdkDragContext is no longer a GdkDrop subclass
...
This includes a bunch of header cleanup
2018-06-18 23:49:52 +02:00
Benjamin Otte
a1cee7fa65
surface: Kill event masks
...
In particular, this patch removes:
gdk_surface_get_events()
gdk_surface_set_events()
gdk_surface_get_device_events()
gdk_surface_set_device_events()
Event masks so far still exist for grabs.
2018-06-18 23:49:52 +02:00
Benjamin Otte
66bd54d14c
wayland: Store the current drag operation
...
Use it to detect local drags when creating drop objects.
2018-06-18 23:49:52 +02:00
Benjamin Otte
7afa0badd8
wayland: Get rid of GdkWaylandSelection
...
Move data source handling into the DND code instead.
2018-06-18 23:49:52 +02:00
Benjamin Otte
4eb3a9faaa
wayland: Split drop context into GdkWaylandDrop
...
GdkWaylandDrop no longer inherits from GdkDragContext now.
2018-06-18 23:49:52 +02:00
Benjamin Otte
81e1dc9a66
wayland: Remove a bunch of unused functions
2018-06-18 23:49:52 +02:00
Benjamin Otte
114ab8775a
wayland: Use new DND event emitters
2018-06-18 23:49:52 +02:00
Benjamin Otte
05bf87cf14
drop: Add GdkDrop:surface property
...
This replaces gdk_drag_context_get_dest_surface().
2018-06-18 23:49:52 +02:00
Benjamin Otte
6048b69145
wayland: Fix drop operations for new semantics
2018-06-18 23:49:52 +02:00
Benjamin Otte
4b85b5299a
dnd: Remove GdkDragContext::commit_drag_status() vfunc
...
The idea behind the vfunc doesn't work as status updates can happen
asynchronously.
A better solution needs to be found.
2018-06-18 23:49:52 +02:00
Benjamin Otte
316bd6a333
dnd: Add gdk_drop_finish()
...
and move the vfunc into GdkDrop.
2018-06-18 23:49:20 +02:00
Benjamin Otte
a05af1f0f3
dnd: Move the gdk_drag_status() function
...
It's now gdk_drop_status().
Also clarify the intended semantics.
2018-06-18 23:49:19 +02:00
Benjamin Otte
2e27967814
dnd: Make actions a private member variable
...
Use a setter in the backends.
2018-06-18 23:49:19 +02:00
Benjamin Otte
6573d08b08
wayland: Set correct variable
...
This got messed up in commit 7f8a8f221d
.
2018-06-18 23:49:19 +02:00
Benjamin Otte
ac44353f9b
dnd: Remove GDK_ACTION_DEFAULT and GDK_ACTION_PRIVATE
...
They're unused and nobody knows what they're supposed to men anyway.
2018-06-18 23:49:19 +02:00
Benjamin Otte
6919d8c532
drop: Move gdk_drop_read_async() to GdkDrop class
2018-06-18 23:49:19 +02:00