aboutsummaryrefslogtreecommitdiff
path: root/rootston/desktop.c
AgeCommit message (Collapse)Author
2019-02-13primary-selection-v1: copy from gtk-primary-selectionemersion
2019-01-28Implement the pointer-gestures-unstable-v1 protocolGreg V
This protocol relays touchpad gesture events produced by libinput to supporting clients (e.g. Evince, Eye of GNOME).
2019-01-06Merge pull request #1423 from emersion/data-controlDrew DeVault
Implement data-control-unstable-v1
2018-12-30data-control-v1: initial protocol implementationemersion
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: create skeleton and buildrandom human
Add protocol, header and type files to build. Create skeleton structs, creator and destroyer, and define implementations.
2018-12-20rootston: create foreign toplevel handle before sending outputsIlia Bozhinov
Otherwise the initial list of outputs isn't sent to foreign-toplevel clients.
2018-12-08rootston: add support for wlr_foreign_toplevel_management_v1Ilia Bozhinov
2018-12-05rootston: use box for views positionLouis Taylor
2018-12-05rootston: use int for width, heightLouis Taylor
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: 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-23Rename wlr_primary_selection to wlr_gtk_primary_selectionemersion
2018-11-12Use #if instead of #ifdef for wlroots config dataemersion
This prevents some annoying issues when e.g. not including wlr/config.h or making a typo in the guard name.
2018-10-28rootston: fix segfault when destroying unmapped fullscreen viewsemersion
2018-10-28rootston: fix segfault in view_atemersion
Make sure the view is mapped.
2018-10-28Fix "variable ‘cursor_default’ set but not used"Sorcus
2018-10-12Merge pull request #1203 from dcz-purism/inputDrew DeVault
Support input method and text input
2018-10-09rootston: add support for text input and the basic of input methodDorota Czaplejewicz
The compositor acts as a relay between applications using the text-input protocol and input methods using the input-method protocol. This change implements the basic but useful support for input-method, leaving out grabs as well as popups.
2018-10-08rootston: export XCURSOR_SIZE and XCURSOR_THEMEemersion
These can be used by toolkits (currently Qt) to choose a default cursor theme and size. Note that this isn't a perfect solution: - Per-seat configuration isn't possible - It's not possible to set the default image - Live config reload isn't possible But it's easy to implement and simple. To fix these remaining issues a separate protocol would be needed.
2018-10-04rootston: send presentation eventsemersion
2018-09-27pointer-constraints: refactoringemersion
* Rename the constraint_create signal to new_constraint for consistency * Move the constraint_destroy signal to the constraint itself * Use rotate_child_position instead of duplicating logic * Fix inert constraint resource handling * Style fixes
2018-09-26pointer-constraints: make region not a pointer, add committed bitfieldemersion
2018-09-18Implement pointer-constraints protocol in wlroots and rootstonLas
2018-09-18Remove extraneous indentation and conform to coding styleLas
2018-09-14Merge pull request #1243 from emersion/layer-shell-suffixDrew DeVault
layer-shell: add _v1 suffix
2018-09-14layer-shell: add _v1 suffixemersion
2018-09-14xdg-output: add _v1 suffixemersion
2018-09-02Init dmabuf global in rendereremersion
2018-08-02rootston: fire up wlr-gamma-control-unstable-v1emersion
2018-08-02Merge pull request #1053 from emersion/xdg-decorationDrew DeVault
Add xdg-decoration-unstable-v1 support
2018-07-29rootston: focus newly-created surfacesIlia Bozhinov
Whenever a new surface is created, we have to update the cursor focus, even if there's no input event. So, we generate one motion event, and reuse the code to update the proper cursor focus. We need to do this for all surface roles - toplevels, popups, subsurfaces. Fixes #1162
2018-07-28Add xdg-decoration-unstable-v1 supportemersion
2018-07-19linux-dmabuf: add v1 suffixemersion
This prevents some future conflicts with the stable version. Fixes #1133
2018-07-14Basic tablet_v2 object lifetimeMarkus Ongyerth
2018-07-09util: add wlr_ prefix to log symbolsemersion
2018-07-04surface: make pending and current embedded structsemersion
2018-06-30screencopy-v1: add basic implementationemersion
2018-05-29rootston: enable export-dmabufemersion
2018-05-28virtual-keyboard: add support for the virtual-keyboard-v1 protocolDorota Czaplejewicz
2018-05-08Merge pull request #959 from VincentVanlaer/xwayland-lazyemersion
Add the option to start Xwayland only when a client connects
2018-05-08add wlr_layer_surface_surface_atMarkus Ongyerth
Adds wlr_layer_surface_surface_at, this is consistent with the other shell implementations, and simplifies handling in compositors.
2018-05-06Add option to rootston to start xwayland lazyVincent Vanlaer
2018-05-06Allow xwayland to start lazilyVincent Vanlaer
Makes the xwayland startup process two phased. The first phase just initialises the X11 sockets. The second phase starts the Xwayland server itself. When starting xwayland lazily the second phase will be postponed until a client has connected to the X11 socket. Changes in behaviour: The DISPLAY environment is now set immediately after the X11 sockets are created. When the Xwayland server is killed or crashes, the sockets will not be recreated, but reused. Fixes #849: Start up Xwayland lazily
2018-04-23rootston: Let layer_surface_at look at popupsGuido Günther
This allows them to receive input as well.
2018-04-22Implement output auto-selection in rootstonDrew DeVault
2018-04-21Remove wlr_surface::subsurfaceemersion
2018-04-08Merge pull request #850 from emersion/remove-backend-eglDrew DeVault
backend: remove wlr_backend_get_egl
2018-04-08backend: remove wlr_backend_get_eglemersion
2018-04-07rootston: fix compilation without XWayland supportBruno