aboutsummaryrefslogtreecommitdiff
path: root/rootston
AgeCommit message (Collapse)Author
2019-01-30rootston: only allow one drag icon per seatemersion
2019-01-30seat: don't send motion if pointer hasn't movedemersion
2019-01-29Fix two issues found with Clang's static analyzeremersion
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-26pointer: add a frame eventemersion
Frame events group logically connected pointer events. It makes sense to make the backend responsible for sending frame events, since once the events are split (ie. once the frame events are stripped) it's not easy to figure out which events belongs to which frame again. This is also how Weston handles frame events. Fixes https://github.com/swaywm/wlroots/issues/1468
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-21Fix indentation in various filesemersion
2019-01-18rootston: document why Xwayland is disconnected before clientsemersion
2019-01-13Remove wlr_xdg_surface_send_close.Connor E
2019-01-07Simplify evdev includes on FreeBSD by relying on up-to-date packageJan Beich
As evdev-proto is installed by CI some files have been missed: ../examples/pointer-constraints.c:2:10: fatal error: 'linux/input-event-codes.h' file not found #include <linux/input-event-codes.h> ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../examples/relative-pointer-unstable-v1.c:5:10: fatal error: 'linux/input-event-codes.h' file not found #include <linux/input-event-codes.h> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
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-04Merge pull request #1448 from myfreeweb/fix-retroarch-crashemersion
rootston: fix crash with fullscreen surfaces
2019-01-04rootston: fix crash with fullscreen surfacesGreg V
Fixes fullscreen mode in e.g. RetroArch and ioquake3.
2019-01-04Merge pull request #1432 from ForTheReallys/relative-pointersemersion
Relative pointers
2019-01-03Update READMEs per tinywl mergeDrew DeVault
2019-01-02Only send relative events to the focused client in rootstonAlex Maese
2018-12-30data-control-v1: initial protocol implementationemersion
2018-12-21Standardize the wlr_box input paramatersTimidger
Fixes #1094
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-21Only send relative motion to correct seatAlex Maese
2018-12-21Removed relative pointers from wlr_seatAlex 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: 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: 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-15Remove unused variablesRyan Walklin
2018-12-15Improve event matching logicRyan Walklin
2018-12-15Fix style nitsRyan Walklin
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-15Remove debug logsRyan Walklin
2018-12-15Update config struct, reduce complexity and correctly parse config.iniRyan Walklin
2018-12-15Remove redundant signal in seat.cRyan Walklin
2018-12-15Factor out binding command execution to separate fileRyan Walklin
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-08rootston: add support for wlr_foreign_toplevel_management_v1Ilia Bozhinov
2018-12-08rootston: add title/app_id/class listenersIlia Bozhinov
2018-12-05rootston: use box for views positionLouis Taylor
2018-12-05rootston: use int for width, heightLouis Taylor
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: 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-13output: add wlr_output_render_software_cursorsemersion
Rendering in wlr_output_swap_buffers has unfortunate side-effects.
2018-11-13output: remove wlr_output_set_fullscreen_surfaceemersion
This wasn't using direct scan-out. Direct scan-out will probably work differently with @ascent12's work anyway.
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.