Alexander Orzechowski
1e018e72b4
Delete old damage tracking code
...
The new scene graph abstraction handles this for us.
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
6e5fc4c2aa
scene_graph: Port xwayland
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
b38ed8b479
scene_graph: Port xdg_shell
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
188811f808
scene_graph: Port layer_shell
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
5b8b505af5
input: Query scene graph for relevant surface/node intersections
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
bac3ab5526
seat: Remove dead seatop_render function
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
9a57966606
scene_graph: Port ext_session_v1
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
0639bde9fb
scene_graph: Port seatop_move_tiling indicators
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
c640c3015f
scene_graph: Port seat drag icons
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
b4d7e84d38
desktop: Rename layers to shell_layers
...
This code will be deleted later, but for the time being rename
it so it doesn't conflict with future properties.
2024-01-18 18:36:54 +03:00
Simon Ser
95265fba59
input: reconfigure send_events on output hotplug
...
Closes: https://github.com/swaywm/sway/issues/7890
2024-01-02 14:07:35 +01:00
Simon Ser
22d0dd8bde
Check wlr_pointer_constraint_v1_state.cursor_hint.enabled
...
Update for a wlroots breaking change which resets the committed
mask.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4478
2023-12-25 11:57:30 +01:00
Simon Ser
c6edbb7e5a
input/seat: simplify seat_is_input_allowed()
...
Use an early return to make the code more readable.
2023-12-13 10:11:35 +01:00
Simon Ser
e8a0205607
input/seat: rename seat_set_exclusive_client()
2023-12-13 10:11:35 +01:00
Simon Ser
607b8aed0c
input/seat: inline seat_set_exclusive_client() with NULL client
2023-12-13 10:11:35 +01:00
Simon Ser
7ad8c80bfe
input/{keyboard,switch}: rename input_inhibited variable to locked
...
This is more descriptive now.
2023-12-13 10:11:35 +01:00
Simon Ser
dbd70faf2e
input/seat: drop exclusive_client
...
This was a input-inhibit concept.
2023-12-13 10:11:35 +01:00
llyyr
a946b1aecf
Chase wlroots!4440
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4440
2023-11-22 00:42:55 +03:00
NemuiBanila
c3ec141b34
seat: Fix cursor theme reload for tablet tool
2023-11-21 11:35:49 +01:00
Lina Banik
f7a40cfa2f
seat: Fix reloading cursor theme after change
...
This reverts commit afde6369
"seat: avoid unneeded reloading xcursor theme".
Always avoiding to reload the xcursor theme prevents reloading the
cursor even when this is desired. Instead seat_configure_xcursor
can determine whether a full reload is necessary.
To stay with the spirit of the reverted change, cursors are only fully
reloaded, if the theme has changed.
Fixes #6931
2023-11-21 11:35:49 +01:00
Simon Ser
5c99b98805
input/input-manager: drop input_manager_configure_all_inputs
...
This is now unused.
2023-11-16 16:29:07 +01:00
Simon Ser
7036769bea
Only reconfigure input mappings on output change
...
Fully reconfiguring all input devices on output change takes a
loooong time. Let's just reconfigure what we need: only mappings
depend on outputs.
2023-11-16 16:29:07 +01:00
Simon Ser
caa92ddee8
input/seat: rename seat_apply_input_config
...
seat_apply_input_mapping is a lot more descriptive.
2023-11-16 16:29:07 +01:00
Simon Ser
01dcad80e1
input/seat: don't configure mappings for switches
...
Switch devices cannot be mapped to an output/region, stop trying
to do so.
2023-11-16 16:29:07 +01:00
Simon Ser
7cf4e1d5c6
Drop support for KDE's idle protocol
...
We support the standard idle-notify protocol since Sway 1.8.
2023-10-05 00:01:54 +02:00
Kirill Primak
a908651821
chore: chase wlroots xdg-surface role rework
2023-08-21 18:41:32 +02:00
Simon Ser
6bd11ad0df
Add support for cursor-shape-v1
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4106
2023-07-24 11:28:31 +02:00
Simon Ser
ee4637b086
Deprecate seat idle_wake
...
Sway has two knobs to control idling:
- seat idle_inhibit: when the seat is active (ie. not idle), this
extends the active state. When the seat is idle, this is
ignored.
- seat idle_wake: when the seat is idle, this wakes up the seat.
When the seat is active, this is ignored.
The motivation for the deprecation is two-fold:
- The concept of "seat idle state" is ill-defined. Each idle-notify-v1
client will pass a different idle timeout. With the old logic, a
seat was declared idle if and only if all idle-notify-v1 timeouts have
expired. However, if only a portion of the timeouts have expired,
then some clients would wake up, and the rest would stay active.
This is inconsistent with the definition of idle_inhibit/idle_wake:
idle_inhibit was used for clients which are waking up.
- It never worked properly with the new idle-notify-v1 protocol
and no-one noticed. Only the legacy KDE idle protocol is taken
into account, but that protocol is not used anymore.
2023-07-19 09:28:33 +02:00
Mark Bolhuis
20c91335f6
input: Move wlr_pointer_gestures_v1 to sway_input_manager
...
On multi-seat configurations a zwp_pointer_gestures_v1 global was
created for every seat.
Instead, create the global once in the input manager, to be shared
across all seats.
2023-06-26 22:57:46 +02:00
Simon Ser
974a8629a8
Use "default" XCursor instead of "left_ptr"
...
"left_ptr" is the legacy XCursor name. "default" is the cursor
spec name.
2023-06-25 22:38:10 +02:00
Simon Ser
5411ed4ef0
Use wlr_cursor_unset_image()
...
A bit cleaner.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4209
2023-06-19 19:48:53 +02:00
Simon Ser
6f1a3b6652
Use wlr_cursor_set_xcursor()
...
wlr_xcursor_manager_set_cursor_image() is deprecated.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4170
2023-06-19 19:48:53 +02:00
Cezary Drożak
c08762901e
input/libinput: add scroll_button_lock method
...
Closes https://github.com/swaywm/sway/issues/6987
Co-authored-by: JJGadgets <git@jjgadgets.tech>
Co-authored-by: DeltaWhy <mike5713@gmail.com>
2023-06-16 15:30:04 +02:00
33KK
be14cd96cd
Fix bindsym --to-code
not respecting input configs
...
Fixes #7535
2023-06-11 11:36:30 +02:00
Erik Reider
913a7679cb
Add support for wlr-layer-shell ON_DEMAND keyboard interactivity
...
This allows for layer shell surfaces to receive focus while the surface is explicitly focused, i.e allowing
text fields to receive keyboard input just like a regular surface.
2023-06-06 09:07:05 +02:00
Kirill Primak
c9e1dab318
chore: chase wlroots map logic unification
2023-06-02 20:11:42 +02:00
hrdl
01b0c11394
seatop_down: Call seatop_begin_default after sending touch events
...
This is consistent with pointer tablet and button events.
Fixes #7577 .
2023-05-11 12:47:56 +02:00
hrdl
3cd7c71780
handle_touch_cancel: fix begin default
...
I forgot to call seatop_begin_default in
e8f7551e46
.
2023-05-04 17:34:54 +02:00
hrdl
e8f7551e46
Add support for touch cancel events
2023-05-04 13:30:57 +02:00
Alexander Orzechowski
d5cc474aef
render: pass rendering state together in a struct
...
This lets us easily add rendering state that we need in the future
2023-05-02 18:31:55 +02:00
Simon Ser
08c1946d71
Use format_str() throughout
2023-04-14 18:34:54 +02:00
Simon Ser
d6cb4fa8de
Constify pixman_region32_t for rendering functions
2023-02-22 13:37:44 -05:00
Stacy Harper
4666d1785b
Implement seatop_touch
...
Atm we got issue with the touch position sent to the clients. While
holding contact, leaving the initial container will continue to send
motion event to the client but with the new local position from the new
container.
This seatop goal is to send the position of the touch event, relatively
to the initial container layout position.
2023-02-20 10:35:10 -05:00
Daniel Hill
788118f194
Fix map_to_output * turning off device
...
Signed-off-by: Daniel Hill <daniel@gluo.nz>
2023-02-18 20:15:28 +01:00
Simon Ser
9959e6b8dc
Convert to *_try_from_wlr_surface()
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3991
2023-02-02 14:53:15 +03:00
Simon Ser
ae2d14ceeb
Convert to wlr_xwayland_surface_try_from_wlr_surface()
...
Accomodate for the breaking changes in [1].
[1]: fbf5982e38
2023-02-01 23:38:12 +01:00
Simon Ser
6a3e265326
Fix pointer events for ext-session-lock surfaces
...
We were never sending any pointer event to ext-session-lock
surfaces.
2023-01-18 11:23:05 -05:00
Simon Ser
d5b69d5912
Fix indentation in surface_is_xdg_popup()
2023-01-18 16:48:38 +01:00
Kirill Primak
53c9a4a643
input/tablet: handle focusing NULL surface
...
Additionally, rename the function responsible for switching focus to
match its behavior better.
2023-01-16 15:37:59 -05:00
Ronan Pigott
2f2cdd60de
input: enable user xkb configs with cap_sys_nice
2023-01-11 11:32:09 +01:00