Ferdinand Bachmann
d3a2ea33e5
types/seat/wlr_seat.c: fix focused_client being null after seat_client recreation
2022-04-16 20:56:30 +02:00
Ferdinand Bachmann
2d4e813530
types/wlr_pointer_gestures_v1.c: get client from seat client instead of resource
2022-04-16 20:53:52 +02:00
Ferdinand Bachmann
eedb9df531
types/wlr_pointer_gestures_v1: null-check both focused_surface and focused_client
...
(fixes #3385 )
2022-04-15 16:06:16 +02:00
Kirill Primak
4ba8458255
scene/output-layout: fix scene destroy handler
2022-04-14 06:51:39 +00:00
Kirill Primak
dec2565f2b
xdg-toplevel: don't schedule configures on state requests
2022-04-13 17:00:06 +00:00
Kirill Primak
04aa44b4df
xdg-foreign-v2: treat unmapped parents as NULL
2022-04-13 16:48:15 +00:00
Kirill Primak
dac040f87f
xdg-foreign-v1: treat unmapped parents as NULL
2022-04-13 16:48:15 +00:00
Kirill Primak
bf3f60ff73
xdg-toplevel: treat unmapped parents as NULL
2022-04-13 16:48:15 +00:00
Kirill Chibisov
2e14bed9f7
meson: use target_machine instead of host_machine
2022-04-03 11:46:25 +00:00
Kirill Primak
578e5614d4
tinywl: remove outdated non-feature from README.md
...
Now that tinywl uses wlr_scene under the hood, damage tracking comes for
free.
2022-04-01 14:22:28 +00:00
Kirill Primak
62fbf3f4ba
tinywl: don't generate xdg-shell-protocol.c
...
It's unused, and wlroots-based compositors don't need to do this anyway.
2022-04-01 11:51:24 +03:00
Kenny Levinsen
bb32349c97
meson: soversion arg should be string
...
muon, a meson implementation in C, is more strict with its types and
revealed this discrepancy between meson behavior and documentation.
2022-03-28 20:21:49 +02:00
Guido Günther
dd03d839ab
xdg-activation: Deduplicate token creation code
...
There were three places initializing a token:
- wlr_xdg_activation_v1_add_token
- wlr_xdg_activation_token_v1_create
- activation_handle_get_activation_token
The initialization of the token.destroy was missing in the first one. To
prevent these functions from getting out of sync move the token creation
into a common function.
Fixes 4c59f7d4
("xdg-activation: Allow to submit tokens")
2022-03-26 17:28:51 +01:00
Leonardo Hernández Hernández
4519117a68
seat: take wlr_keyboard in wlr_seat_set_keyboard()
...
Signed-off-by: Leonardo Hernández Hernández <leohdz172@protonmail.com>
2022-03-23 13:08:41 +00:00
Guido Günther
4cc2a03620
layer-shell: Make wlr_layer_surface_v1_from_resource public
...
This allows compositors to leverage the `wl_instance_of` based type
check.
2022-03-23 09:19:43 +00:00
Simon Zeni
aaf787ee56
types/wlr_touch: uniformize events name
2022-03-17 18:16:14 +00:00
Simon Zeni
e732c5c895
types/wlr_tablet_tool: uniformize events name
2022-03-17 18:16:14 +00:00
Simon Zeni
d1f543a9d8
types/wlr_tablet_pad: uniformize events name
2022-03-17 18:16:14 +00:00
Simon Zeni
13d7fa2f03
types/wlr_switch: uniformize events name
2022-03-17 18:16:14 +00:00
Simon Zeni
9a17200446
types/wlr_keyboard: uniformize events name
2022-03-17 18:16:14 +00:00
Simon Zeni
bd6c000d14
types/wlr_pointer: uniformize events name
2022-03-17 18:16:14 +00:00
Simon Zeni
96ccc50c57
types/wlr_input_device: move width_mm and height_mm fields to wlr_tablet and wlr_touch
2022-03-17 13:44:19 -04:00
Simon Zeni
a92e5f8d46
types/wlr_input_device: move output_name field to wlr_pointer and wlr_touch
2022-03-17 13:44:18 -04:00
Simon Zeni
2001441a37
backend/wayland: remove wl_seat_listener from public API
2022-03-17 17:16:47 +00:00
Simon Zeni
b7e9ad7989
backend/wayland: remove wlr_wl_input_device
2022-03-17 17:16:47 +00:00
Simon Zeni
56f7c000b5
backend/wayland/tablet_v2: give wlr_tablet_* ownership to wlr_wl_seat
2022-03-17 17:16:47 +00:00
Simon Zeni
d3fb44314c
backend/wayland: give wlr_touch ownership to wlr_wl_seat
2022-03-17 17:16:47 +00:00
Simon Zeni
e723dd928b
backend/wayland: drop wlr_switch support
2022-03-17 17:16:47 +00:00
Simon Zeni
be8527bd36
backend/wayland: give wlr_pointer ownership to wlr_wl_seat
...
All the code logic related to the pointer has been moved to its own file.
The seat is responsible for the lifetime of its wlr_wl_pointer(s), and assigning
them to the relevant wlr_wl_output. The wlr_wl_pointer becomes a simple helper
to manager the wlr_pointer associated to the seat's wl_pointer and its lifetime.
2022-03-17 17:16:47 +00:00
Simon Zeni
f9b6aa3079
backend/wayland: give wlr_keyboard ownership to wlr_wl_seat
2022-03-17 17:16:47 +00:00
Simon Zeni
64fe6ab300
tinywl: init cursor_mode
...
valgrind complains on a use-before-init for the cursor mode.
2022-03-17 17:16:47 +00:00
Alexander Orzechowski
74381f3bc3
types/wlr_output: Handle subpixel hints through output commits
2022-03-16 18:41:49 +00:00
Simon Ser
68f2f8cf92
Revert "scene: try to import buffers as textures before rendering"
...
This reverts commit 3db1bcbe64
.
Since [1], importing buffers as textures before wlr_renderer_begin isn't
necessary anymore.
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3464
2022-03-16 16:42:45 +00:00
Kirill Primak
2d623724c3
xdg-positioner: fix sliding regression
...
This commit fixes a regression introduced in
511f137f8f
where GTK tooltips wouldn't be
unconstrained due to no gravity on x axis being set, in which case the
behavior is ambiguous, by sliding to the right/bottom.
2022-03-15 18:08:29 +00:00
Dean
104060fec5
Free drmDevice in get_egl_device_from_drm_fd()
2022-03-14 05:55:50 +00:00
Samuel Čavoj
5c17452ae0
Pass O_CLOEXEC to drmModeCreateLease calls
...
The lease_fd is currently being leaked to child processes
Link: https://github.com/swaywm/sway/issues/4286#issuecomment-1065987957
2022-03-13 13:28:48 +01:00
Simon Zeni
4c8ecfcd4a
types/wlr_virtual_pointer_v1: remove destroy event
...
The destroy event from the pointer base wlr_input_device must be used
2022-03-11 20:02:21 +00:00
Simon Zeni
45c8771735
types/wlr_virtual_keyboard_v1: remove destroy event
...
The destroy event from the keyboard base wlr_input_device must be used
2022-03-11 20:02:21 +00:00
Simon Zeni
eae8952e17
types/wlr_keyboard: remove destroy event
...
The destroy event from the base wlr_input_device must be used
2022-03-11 20:02:21 +00:00
David96
7a2c96dcbd
types/wlr_tablet_tool: remove name ambiguity
...
It wasn't clear in the backend whether to use name or base.name, change
it so base.name has to be used.
Fixes https://github.com/swaywm/sway/issues/6884
2022-03-11 11:49:41 +01:00
Sebastian Krzyszkowiak
13fcdba75c
wlr_output_layout_contains_point: handle outputs that aren't in the layout
...
Instead of crashing, return `false` when the specified output isn't part
of the layout, as we can be sure that it doesn't contain the specified
point.
2022-03-11 06:49:49 +00:00
Moon Sungjoon
2dd121235e
xcursor: support XDG Base Directory Specification
...
This patch adds ~/.local/share/icons to the search path, so user-specific
themes can be loaded through the API provided by libwayland-cursor.
Use this PR as reference:
https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/112
2022-03-08 15:41:42 +00:00
Alexander Orzechowski
f330759ba4
wlr_output_damage: Don't schedule a new frame if damage region does not intersect with output
...
This fixed adaptive sync issues with wlr_scene. Scenes don't check
if the damage region intersects with an output when calling
wlr_output_damage_add.
This is especially important for multi output.
2022-03-08 14:05:36 +00:00
Alexander Orzechowski
fbd4d40318
wlr_output_damage: Use wlr_output_damage_add for wlr_output_damage_add_box
2022-03-08 14:05:36 +00:00
Isaac Freund
4792446ee8
wlr_switch: remove WLR_SWITCH_STATE_TOGGLE
...
This was originally added in 810c7b7
for use in rootston's input config
handling. It has never actually been part of the wlroots API and
shouldn't exist.
2022-03-08 13:45:10 +00:00
Simon Zeni
cfed039c9a
types/wlr_input_device: move init and finish function to private API
2022-03-07 16:37:41 +00:00
Simon Zeni
1bb2631c5c
types/wlr_input_device: remove wlr_input_device_destroy
2022-03-07 16:37:41 +00:00
Simon Zeni
9d8dc026e5
tinywl: destroy keyboard on wlr_input_device event
2022-03-07 16:37:41 +00:00
Simon Zeni
10cbb9fbe1
interface/wlr_touch: rework destroy sequence
...
The destroy callback in wlr_touch_impl has been removed. The function
`wlr_touch_finish` has been introduced to clean up the resources owned by a
wlr_touch.
`wlr_input_device_destroy` no longer destroys the wlr_touch, attempting to
destroy a wlr_touch will result in a no-op.
The field `name` has been added to the wlr_touch_impl to be able to identify
a given wlr_touch device.
2022-03-07 16:37:41 +00:00
Simon Zeni
8d3cb94b41
interface/wlr_tablet_tool: rework destroy sequence
...
The destroy callback in wlr_tablet_tool_impl has been removed. The function
`wlr_tablet_tool_finish` has been introduced to clean up the resources owned by
a wlr_tablet_tool.
`wlr_input_device_destroy` no longer destroys the wlr_tablet_tool, attempting to
destroy a wlr_tablet_tool will result in a no-op.
The field `name` has been added to the wlr_tablet_tool_impl to be able to
identify a given wlr_tablet_tool device.
2022-03-07 16:37:41 +00:00