aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
AgeCommit message (Collapse)Author
2019-01-24data-device: unexport wlr_seat_client_send_selectionemersion
2019-01-24data-device: make sources inert, rename cancel to destroyemersion
2019-01-24data-device, primary-selection: add request_set_selectionemersion
This makes compositors able to block and/or customize set_selection requests coming from clients. For instance, it's possible for a compositor to disable rich selection content (by removing all MIME types except text/plain). This commit implements the design proposed in [1]. Two new events are added to wlr_seat: request_set_selection and request_set_primary_selection. Compositors need to listen to these events and either destroy the source or effectively set the selection. Fixes https://github.com/swaywm/wlroots/issues/1138 [1]: https://github.com/swaywm/wlroots/issues/1367#issuecomment-442403454
2019-01-21primary-selection: add a serial argumentemersion
The serial needs to be bumped when X11 clients set the selection, otherwise some Wayland clients (e.g. GTK) will overwrite it when they gain focus.
2019-01-20Add wlr_x11_output_set_titleJente Hidskes
2019-01-20wlr/backend/x11.h: add documentationJente Hidskes
Copied from wlr/backend/wayland.h and modified accordingly.
2019-01-20Merge pull request #1476 from emersion/fullscreen-shellDrew DeVault
fullscreen-shell-v1: initial protocol implementation
2019-01-19Add noop.h to include/wlr/backend/meson.buildRyan Dwyer
2019-01-17Introduce noop backendRyan Dwyer
The noop backend is similar to headless, but it doesn't contain a renderer. It can be used as a place to stash views for when there's no physical outputs connected.
2019-01-13Remove wlr_xdg_surface_send_close.Connor E
2019-01-10Add wlr_wl_output_set_titleDrew DeVault
2019-01-06Merge pull request #1423 from emersion/data-controlDrew DeVault
Implement data-control-unstable-v1
2019-01-06relative-pointer-v1: move pointer iteration in wlrootsemersion
This makes sure we always send events to the right client.
2019-01-06fullscreen-shell-v1: initial protocol implementationemersion
2019-01-04Merge pull request #1432 from ForTheReallys/relative-pointersemersion
Relative pointers
2019-01-02Finish addressing @emersion's commentsAlex Maese
2018-12-30data-control-v1: update to latest protocol proposalemersion
2018-12-30data-control-v1: initial protocol implementationemersion
2018-12-22Protect against redefining MESA_EGL_NO_X11_HEADERSJente Hidskes
2018-12-21Standardize the wlr_box input paramatersTimidger
Fixes #1094
2018-12-21Add a listener for when the pointer gets destroyedAlex Maese
2018-12-21Address more of @emersion's commentsAlex Maese
2018-12-21Add unaccelerated pointer values to wlr_event_pointer_motion eventsAlex Maese
2018-12-21Address @emersion's commentsAlex Maese
2018-12-21Remove pointer resource from relative pointerAlex Maese
2018-12-21Removed relative pointers from wlr_seatAlex Maese
2018-12-21Remove wl_client from wlr_relative_pointer_v1Alex Maese
2018-12-21Add wlr_relative_pointer_v1.h to meson.buildAlex Maese
2018-12-21relative_pointer: implementation and code fixesrandom human
In particular, modified public creator and destructor function names, added a display destroy listener, safely extract user data from resources, send correct time (in usecs) in rootston, etc.
2018-12-21relative_pointer: send frame event to pointer for Xwaylandrandom human
2018-12-21relative_pointer: code formatting fixesrandom human
2018-12-21relative_pointer: implement protocol eventsrandom human
Implement zwp_relative_pointer_v1.relative_motion event, along with some glue code in wlr_seat_pointer and rootston.
2018-12-21relative_pointer: implement protocol requestsrandom human
Flesh out the details of the structs, signals, callback functions, and so on. weston-resizer silently works at this point (no events sent).
2018-12-21relative_pointer: create skeleton and buildrandom human
Add protocol, header and type files to build. Create skeleton structs, creator and destroyer, and define implementations.
2018-12-15Working switches in rootston:Ryan Walklin
Factor out switch handling to separate file Add formal enum for toggle action Implement binding actions
2018-12-15[WIP][DONTMERGE]Add support for libinput_switch input devicesRyan Walklin
These are used primarily by laptops to signal the state of the lid (open/closed) and tablet mode if supported, based on ACPI events.
2018-12-09gtk-primary-selection: basic serial validationemersion
2018-12-08types: implement wlr_foreign_toplevel_management_v1Ilia Bozhinov
2018-12-06export-dmabuf-v1: add missing destroy request handleremersion
Also document lists in the header file.
2018-12-03Install wlr_pointer_constraints_v1.hDuncaen
2018-12-02Merge pull request #1403 from emersion/swap-buffers-damage-coordsDrew DeVault
output: switch swap_buffers damage to output-buffer-local coords
2018-12-01output: switch swap_buffers damage to output-buffer-local coordsemersion
This is one more step towards [1]. This gives more freedom to the compositor wrt. how it handles damage. [1]: https://github.com/swaywm/wlroots/issues/1363
2018-11-29primary-selection: introduce wlr_primary_selection_sourceemersion
This is a common interface that can be used for all primary selection protocols, as discussed in [1]. A new function wlr_seat_set_primary_selection is added to set the primary selection for all protocols. The seat now owns again the source, and resets the selection to NULL when destroyed. [1]: https://github.com/swaywm/wlroots/issues/1367#issuecomment-442403454
2018-11-27gtk-primary-selection: use impl pattern for sourcesemersion
2018-11-27gtk-primary-selection: remove offer structemersion
We don't need it, we can use the device instead.
2018-11-27gtk-primary-selection: refactor everything, untie from seatemersion
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-26Merge pull request #1387 from emersion/rename-gtk-primary-selectionDrew DeVault
Rename wlr_primary_selection to wlr_gtk_primary_selection
2018-11-26Merge pull request #1384 from emersion/data-multiple-devicesDrew DeVault
data-device: allow multiple devices for the same seat
2018-11-26surface: fix destroyed subsurfaces handlingemersion
wlr_subsurface_from_wlr_surface can return NULL if the wl_surface is still alive and if the wl_subsurface has been destroyed. Make sure we check for NULL. Fixes https://github.com/swaywm/sway/issues/3195
2018-11-26data-device: allow multiple devices for the same seatemersion
This commit makes it possible for a single client to have multiple data devices for the same seat. This fixes issues with Firefox. This mainly removes wlr_data_source.offer. We make sure we create one data offer per device. We now make the offer inert when the source is destroyed. Fixes the second half of https://github.com/swaywm/wlroots/issues/1041