wlroots/include/wlr/types
emersion f001f98cef
gtk-primary-selection: refactor everything, untie from seat
This commits completely refactors wlr_gtk_primary_selection. The goal is to
remove gtk-primary-selection state from the seat and better handle inert
resources where it makes sense.

wlr_seat_client.primary_selection_devices has been removed and replaced by
wlr_gtk_primary_selection_device. This allows us to make offers inert when the
current selection is replaced.

wlr_seat_set_primary_selection has been removed because it relied on wlr_seat
instead of wlr_gtk_primary_selection_device_manager. A new function,
wlr_gtk_primary_selection_device_manager_set_selection (candidate for the
longest function name in wlroots) has been added. It doesn't take a serial
anymore as serial checking only makes sense for set_selection requests coming
from Wayland clients (serial checking is now done in the Wayland interface
implementation).

Since wlr_gtk_primary_selection_device_manager is now required to set the
selection, a new function wlr_xwayland_set_gtk_primary_selection_device_manager
(candidate number two for longest function name) has been added.

Devices are now made inert when the seat goes away.

Future work includes removing the last primary selection bits from the seat,
mainly wlr_seat.primary_selection_source and wlr_seat.events.primary_selection,
replacing those with new fields in wlr_gtk_primary_selection_device. Or maybe
we could keep those in the seat and replace them with a re-usable interface
(for future zwp_primary_selection_v1 support). We need to think how we'll sync
these three protocols (GTK, X11 and wayland-protocols).

See https://github.com/swaywm/wlroots/issues/1388
2018-11-27 18:57:26 +01:00
..
meson.build Rename wlr_primary_selection to wlr_gtk_primary_selection 2018-11-23 11:58:56 +01:00
wlr_box.h Implement pointer-constraints protocol in wlroots and rootston 2018-09-18 10:14:33 +02:00
wlr_buffer.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_compositor.h surface: fix destroyed subsurfaces handling 2018-11-26 23:17:52 +01:00
wlr_cursor.h Implement pointer-constraints protocol in wlroots and rootston 2018-09-18 10:14:33 +02:00
wlr_data_device.h data-device: allow multiple devices for the same seat 2018-11-26 12:35:48 +01:00
wlr_export_dmabuf_v1.h export-dmabuf: disable hardware cursors if desired 2018-09-18 11:48:04 +02:00
wlr_gamma_control.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00
wlr_gamma_control_v1.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00
wlr_gtk_primary_selection.h gtk-primary-selection: refactor everything, untie from seat 2018-11-27 18:57:26 +01:00
wlr_idle.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00
wlr_idle_inhibit_v1.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00
wlr_input_device.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_input_inhibitor.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00
wlr_input_method_v2.h input-method-v2: fix include guard name 2018-10-12 19:58:12 +02:00
wlr_keyboard.h Send unique keymap file descriptors 2018-09-18 13:58:36 +05:30
wlr_layer_shell_v1.h layer-shell: add _v1 suffix 2018-09-14 19:32:33 +02:00
wlr_linux_dmabuf_v1.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_list.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_matrix.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_output.h output: add wlr_output_preferred_read_format() 2018-11-24 10:54:25 +01:00
wlr_output_damage.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_output_layout.h introduce wlr_output_layout_farthest_output 2018-08-25 09:14:55 +02:00
wlr_pointer.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_pointer_constraints_v1.h pointer-constraints: add unstable header 2018-09-27 12:39:29 +02:00
wlr_presentation_time.h Rename get_present_clock to get_presentation clock, use it 2018-10-04 22:00:22 +02:00
wlr_region.h Implement pointer-constraints protocol in wlroots and rootston 2018-09-18 10:14:33 +02:00
wlr_screencopy_v1.h output: add wlr_output_set_hardware_cursors_enabled 2018-09-18 11:37:37 +02:00
wlr_screenshooter.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00
wlr_seat.h gtk-primary-selection: refactor everything, untie from seat 2018-11-27 18:57:26 +01:00
wlr_server_decoration.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00
wlr_surface.h Merge pull request #1261 from arandomhuman/damage-control 2018-11-04 14:31:17 +01:00
wlr_tablet_pad.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_tablet_tool.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_tablet_v2.h Merge pull request #1160 from Ongy/tablet-grabs 2018-09-12 19:01:50 +02:00
wlr_text_input_v3.h wlroots: add support for zwp_text_input_unstable_v3 2018-10-09 09:56:11 +00:00
wlr_touch.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_virtual_keyboard_v1.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00
wlr_wl_shell.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00
wlr_xcursor_manager.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
wlr_xdg_decoration_v1.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00
wlr_xdg_output_v1.h xdg-output: add _v1 suffix 2018-09-14 19:29:08 +02:00
wlr_xdg_shell.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00
wlr_xdg_shell_v6.h Add destroy signals to types that are destroyed by wl_display_destroy 2018-08-26 23:23:12 +02:00