emersion
1150ff13ce
data-device: make sources inert, rename cancel to destroy
2019-01-24 12:12:55 +01:00
emersion
4cb0697e57
data-device, primary-selection: add request_set_selection
...
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-24 11:38:23 +01:00
Ian Fan
c41d01306d
wlr_xdg_output_v1: move where name & description are sent
2019-01-22 22:58:52 +01:00
Brian Ashworth
f3ff40a0eb
wlr_xdg_output_v1: only send name/description once
...
The xdg-output protocol states that name and description should only be
sent once per output since they do not change.
2019-01-22 21:53:33 +01:00
emersion
365a75139c
Merge pull request #1485 from emersion/data-device-serial
...
primary-selection: add a serial argument
2019-01-22 20:13:01 +01:00
Ilya Trukhanov
c4ce3d0a49
Check if client understands wl_pointer::frame
...
Fixes a crash in SDL2 applications when using locked pointer.
SDL2 expects a wl_pointer v1 interface and doesn't provide a handler for
the wl_pointer::frame event. This results in a "listener function for
opcode 5 of wl_pointer is NULL" abort in wayland-client.
Tested on Xonotic v0.8.2 with libSDL2 v2.0.9. Xonotic needs to be ran
with "SDL_VIDEODRIVER=wayland xonotic-sdl" for SDL2 to use the wayland
backend.
2019-01-22 19:50:01 +02:00
emersion
06467d2e12
primary-selection: add a serial argument
...
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-21 19:23:40 +01:00
emersion
a4eb90315e
Fix indentation in various files
2019-01-21 17:56:19 +01:00
Drew DeVault
d4de2bd708
Merge pull request #1476 from emersion/fullscreen-shell
...
fullscreen-shell-v1: initial protocol implementation
2019-01-20 09:30:52 -05:00
Drew DeVault
0db2a687b7
Merge pull request #1479 from emersion/lost-crtc-state
...
backend/drm: fix state for outputs loosing their CRTC
2019-01-20 09:02:00 -05:00
emersion
d4ffa5b7a6
backend/drm: fix state for outputs loosing their CRTC
...
When there aren't enough CRTCs for all outputs, we try to move a CRTC from a
disabled output to an enabled one. When this happens, the old output's state
wasn't changed, so the compositor thought it was still enabled and rendering.
This commit marks the old output as WLR_DRM_CONN_NEEDS_MODESET and sets its
current mode to NULL.
2019-01-19 10:18:03 +01:00
Ilya Trukhanov
268cc450b6
Fix segfault in get_relative_pointer
...
Occurs on subsequent calls to
relative_pointer_manager_v1_handle_get_relative_pointer()
Steps to reproduce:
- run rootston
- run examples/relative-pointer
- switch to relative pointer more than once
Note: if done fast enough it may take more than two switches to crash.
2019-01-18 22:53:32 +02:00
Connor E
b1cdd2b4b3
Use assertions instead of guard.
2019-01-14 16:05:24 +00:00
Connor E
e7fff4f560
Remove wlr_xdg_surface_send_close.
2019-01-13 14:22:49 +00:00
emersion
0fafab87e3
Fix a few typos
2019-01-10 09:30:14 +01:00
Drew DeVault
e61ea7706b
Merge pull request #1423 from emersion/data-control
...
Implement data-control-unstable-v1
2019-01-06 22:41:35 -05:00
emersion
f71cf15aad
relative-pointer-v1: move pointer iteration in wlroots
...
This makes sure we always send events to the right client.
2019-01-06 12:17:31 +01:00
emersion
86f263a0b8
fullscreen-shell-v1: initial protocol implementation
2019-01-06 12:12:06 +01:00
emersion
610f5bfc77
Merge pull request #1432 from ForTheReallys/relative-pointers
...
Relative pointers
2019-01-04 13:42:53 +01:00
emersion
69e7fd61b7
data-control-v1: update to latest protocol proposal
2018-12-30 02:52:03 +01:00
emersion
340281b48a
data-control-v1: fix data source not properly destroyed
2018-12-30 02:48:04 +01:00
emersion
a28167c255
data-control-v1: allow clearing selection
2018-12-30 02:48:03 +01:00
emersion
ae1dd635b1
data-device: fix dangling listener in seat_client_selection_source_destroy
2018-12-30 02:48:03 +01:00
emersion
aa2dafb7c8
data-control-v1: fix crash in manager_handle_get_data_control
2018-12-30 02:48:03 +01:00
emersion
1e581ad95c
data-control-v1: fix crash after wlr_data_control_v1_destroy
2018-12-30 02:48:03 +01:00
emersion
99d879c887
data-control-v1: initial protocol implementation
2018-12-30 02:48:03 +01:00
Alex Maese
b8460f448c
Rename some variables for clarity
2018-12-23 06:50:39 -06:00
Timidger
9af0c5338f
Standardize the wlr_box input paramaters
...
Fixes #1094
2018-12-21 13:56:10 -05:00
Alex Maese
5999d0322b
Add a listener for when the pointer gets destroyed
2018-12-21 12:20:48 -06:00
Alex Maese
12d9edc0c9
Address more of @emersion's comments
2018-12-21 12:20:48 -06:00
Alex Maese
a803a007fb
Address @emersion's comments
2018-12-21 12:20:48 -06:00
Alex Maese
f5ea393bca
Remove pointer resource from relative pointer
2018-12-21 12:20:48 -06:00
Alex Maese
09bdbf24f4
Removed relative pointers from wlr_seat
2018-12-21 12:20:48 -06:00
Alex Maese
f4cf3c0886
Remove wl_client from wlr_relative_pointer_v1
2018-12-21 12:20:48 -06:00
random human
68137dca3f
relative_pointer: implementation and code fixes
...
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-21 12:20:48 -06:00
random human
fb44ce9fa8
relative_pointer: send frame event to pointer for Xwayland
2018-12-21 12:20:48 -06:00
random human
6fa1777f94
relative_pointer: code formatting fixes
2018-12-21 12:20:48 -06:00
random human
d020344675
relative_pointer: implement protocol events
...
Implement zwp_relative_pointer_v1.relative_motion event, along with some
glue code in wlr_seat_pointer and rootston.
2018-12-21 12:20:48 -06:00
random human
ba5b1676df
relative_pointer: implement protocol requests
...
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-21 12:20:48 -06:00
random human
3a3d1b6617
relative_pointer: create skeleton and build
...
Add protocol, header and type files to build. Create skeleton structs,
creator and destroyer, and define implementations.
2018-12-21 12:20:47 -06:00
Ryan Walklin
2a3c62b4d2
[WIP][DONTMERGE]Add support for libinput_switch input devices
...
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-15 14:42:35 +11:00
Drew DeVault
ef9506b0bc
Merge pull request #1433 from ammen99/fix-layer-shell-unconstrain
...
xdg-popup: fix wlr_xdg_popup_get_toplevel_coords()
2018-12-12 07:48:21 -05:00
Ilia Bozhinov
07865104e1
xdg-popup: fix wlr_xdg_popup_get_toplevel_coords()
...
The previous code resulted in a crash when we try to unconstrain a popup
which is part of a layer-shell surface popup tree.
Fixes #1425
2018-12-12 08:51:13 +01:00
emersion
c2113decb3
gtk-primary-selection: warn when offering MIME type after set_selection
2018-12-09 12:42:27 +01:00
emersion
8c573bc7c6
gtk-primary-selection: basic serial validation
2018-12-09 12:38:35 +01:00
Ilia Bozhinov
5b1b9657bf
types: implement wlr_foreign_toplevel_management_v1
2018-12-08 14:09:30 +01:00
emersion
1256314afe
export-dmabuf-v1: add missing destroy request handler
...
Also document lists in the header file.
2018-12-06 19:08:28 +01:00
Drew DeVault
fdb67ff63b
Merge pull request #1415 from emersion/tablet-seat-leak
...
tablet-v2: fix wlr_tablet_seat_v2 leak
2018-12-04 18:20:46 -05:00
emersion
3ca7ca5306
tablet-v2: fix wlr_tablet_seat_v2 leak
2018-12-04 20:06:38 +01:00
emersion
5515faa197
xdg-shell: emit xdg_surface destroy when role object is destroyed
...
Fixes https://github.com/swaywm/wlroots/issues/1407
2018-12-04 13:42:29 +01:00