emersion
c2178d51a8
rootston: split rendering code into render.c
2019-03-02 09:37:05 -07:00
emersion
242e9e3bf0
rootston: fix Xwayland children rendering when fullscreen
2019-03-02 09:37:05 -07:00
emersion
bfaf06f04b
rootston: fix rotated views rendering
2019-03-02 09:37:05 -07:00
emersion
62fd03a7be
rootston: refactor rendering
...
This implements rootston surface iterators to ease rendering, sending
frame/presentation events and accumulating damage.
2019-03-02 09:37:05 -07:00
Guido Günther
65f1ec1d5e
rootston: Make add_{switch,binding}_config static
2019-02-26 15:48:59 +01:00
Drew DeVault
e77e53dae5
Merge pull request #1517 from emersion/refactor-dnd
...
Refactor drag-and-drop
2019-02-23 13:02:28 -05:00
emersion
9adcbabea4
rootston: make roots_view embedded and remove unions
2019-02-23 15:24:28 +01:00
emersion
9f11bf571e
rootston: add a view child interface
2019-02-23 14:18:32 +01:00
emersion
e86c7a3dd6
rootston: move part of desktop.c to view.c, use an interface for views
2019-02-23 12:15:37 +01:00
Sebastian Krzyszkowiak
4f66565606
rootston: surface_at: check for fullscreen surfaces in between TOP and OVERLAY layers
...
Input order didn't match rendering order, causing pointer events to go into surfaces
that were completely obscured by others (like a LAYER_TOP panel behind a fullscreen
window).
2019-02-22 19:13:57 +01:00
Sebastian Krzyszkowiak
de56ea6b1e
rootston: don't try to maximize fullscreen surfaces
...
It doesn't make much sense and actually breaks stuff when using layer-shell
(fullscreen window gets resized, but it's still fullscreen, leading to black
bars where the shell layers are behind).
2019-02-22 17:31:20 +01:00
emersion
ae2aeb65cc
rootston: cancel drag on invalid serial
2019-02-20 18:42:34 +01:00
emersion
6291e84532
data-device: refactor wlr_drag
2019-02-20 18:42:29 +01:00
Drew DeVault
ea28887a23
Merge pull request #1493 from emersion/primary-selection-v1
...
primary-selection-v1: copy from gtk-primary-selection
2019-02-19 08:59:20 -05:00
emersion
943e918a96
subsurface: add map/unmap events
...
Fixes https://github.com/swaywm/wlroots/issues/1414
2019-02-17 12:01:15 +01:00
emersion
8163f7e1e2
primary-selection-v1: copy from gtk-primary-selection
2019-02-13 19:28:25 +01:00
emersion
faa00a4a33
rootston: only allow one drag icon per seat
2019-01-30 15:24:18 +01:00
emersion
d6de329d98
seat: don't send motion if pointer hasn't moved
2019-01-30 15:24:17 +01:00
emersion
7309d8c9ac
Fix two issues found with Clang's static analyzer
2019-01-29 19:56:43 +01:00
Greg V
9fe8e37961
Implement the pointer-gestures-unstable-v1 protocol
...
This protocol relays touchpad gesture events produced by libinput to
supporting clients (e.g. Evince, Eye of GNOME).
2019-01-28 22:06:36 +01:00
emersion
5de26ad8ed
pointer: add a frame event
...
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-26 11:04:05 +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
emersion
a4eb90315e
Fix indentation in various files
2019-01-21 17:56:19 +01:00
emersion
461360aff1
rootston: document why Xwayland is disconnected before clients
2019-01-18 12:20:04 +01:00
Connor E
e7fff4f560
Remove wlr_xdg_surface_send_close.
2019-01-13 14:22:49 +00:00
Jan Beich
f80d174e8b
Simplify evdev includes on FreeBSD by relying on up-to-date package
...
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-07 08:08:47 +00: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
aebd74243f
Merge pull request #1448 from myfreeweb/fix-retroarch-crash
...
rootston: fix crash with fullscreen surfaces
2019-01-04 16:02:33 +01:00
Greg V
57edfacba4
rootston: fix crash with fullscreen surfaces
...
Fixes fullscreen mode in e.g. RetroArch and ioquake3.
2019-01-04 16:13:04 +03:00
emersion
610f5bfc77
Merge pull request #1432 from ForTheReallys/relative-pointers
...
Relative pointers
2019-01-04 13:42:53 +01:00
Drew DeVault
f0d8b793a8
Update READMEs per tinywl merge
2019-01-03 10:10:03 -05:00
Alex Maese
78caed0c99
Only send relative events to the focused client in rootston
2019-01-02 13:06:37 -06:00
emersion
99d879c887
data-control-v1: initial protocol implementation
2018-12-30 02:48:03 +01:00
Timidger
9af0c5338f
Standardize the wlr_box input paramaters
...
Fixes #1094
2018-12-21 13:56:10 -05:00
Alex Maese
e276d310e8
Add unaccelerated pointer values to wlr_event_pointer_motion events
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
d0c940d796
Only send relative motion to correct seat
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
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
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
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
Ilia Bozhinov
96861ccb7a
rootston: create foreign toplevel handle before sending outputs
...
Otherwise the initial list of outputs isn't sent to foreign-toplevel
clients.
2018-12-20 10:41:58 +01:00
Ryan Walklin
f8129ecbc5
Remove unused variables
2018-12-15 14:59:51 +11:00
Ryan Walklin
282fcd458c
Improve event matching logic
2018-12-15 14:57:25 +11:00
Ryan Walklin
8f5ec5e2bb
Fix style nits
2018-12-15 14:57:12 +11:00
Ryan Walklin
810c7b700c
Working switches in rootston:
...
Factor out switch handling to separate file
Add formal enum for toggle action
Implement binding actions
2018-12-15 14:42:35 +11:00
Ryan Walklin
62a9cf87fa
Remove debug logs
2018-12-15 14:42:35 +11:00