Alexander Orzechowski
1e018e72b4
Delete old damage tracking code
...
The new scene graph abstraction handles this for us.
10 months ago
Alexander Orzechowski
6e5fc4c2aa
scene_graph: Port xwayland
10 months ago
Alexander Orzechowski
b38ed8b479
scene_graph: Port xdg_shell
10 months ago
Alexander Orzechowski
188811f808
scene_graph: Port layer_shell
10 months ago
Alexander Orzechowski
5b8b505af5
input: Query scene graph for relevant surface/node intersections
10 months ago
Alexander Orzechowski
bac3ab5526
seat: Remove dead seatop_render function
10 months ago
Alexander Orzechowski
9a57966606
scene_graph: Port ext_session_v1
10 months ago
Alexander Orzechowski
0639bde9fb
scene_graph: Port seatop_move_tiling indicators
10 months ago
Alexander Orzechowski
c640c3015f
scene_graph: Port seat drag icons
10 months ago
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.
10 months ago
Simon Ser
95265fba59
input: reconfigure send_events on output hotplug
...
Closes: https://github.com/swaywm/sway/issues/7890
11 months ago
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
11 months ago
Simon Ser
c6edbb7e5a
input/seat: simplify seat_is_input_allowed()
...
Use an early return to make the code more readable.
12 months ago
Simon Ser
e8a0205607
input/seat: rename seat_set_exclusive_client()
12 months ago
Simon Ser
607b8aed0c
input/seat: inline seat_set_exclusive_client() with NULL client
12 months ago
Simon Ser
7ad8c80bfe
input/{keyboard,switch}: rename input_inhibited variable to locked
...
This is more descriptive now.
12 months ago
Simon Ser
dbd70faf2e
input/seat: drop exclusive_client
...
This was a input-inhibit concept.
12 months ago
llyyr
a946b1aecf
Chase wlroots!4440
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4440
1 year ago
NemuiBanila
c3ec141b34
seat: Fix cursor theme reload for tablet tool
1 year ago
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
1 year ago
Simon Ser
5c99b98805
input/input-manager: drop input_manager_configure_all_inputs
...
This is now unused.
1 year ago
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.
1 year ago
Simon Ser
caa92ddee8
input/seat: rename seat_apply_input_config
...
seat_apply_input_mapping is a lot more descriptive.
1 year ago
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.
1 year ago
Simon Ser
7cf4e1d5c6
Drop support for KDE's idle protocol
...
We support the standard idle-notify protocol since Sway 1.8.
1 year ago
Kirill Primak
a908651821
chore: chase wlroots xdg-surface role rework
1 year ago
Simon Ser
6bd11ad0df
Add support for cursor-shape-v1
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4106
1 year ago
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.
1 year ago
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.
1 year ago
Simon Ser
974a8629a8
Use "default" XCursor instead of "left_ptr"
...
"left_ptr" is the legacy XCursor name. "default" is the cursor
spec name.
1 year ago
Simon Ser
5411ed4ef0
Use wlr_cursor_unset_image()
...
A bit cleaner.
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4209
1 year ago
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
1 year ago
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>
1 year ago
33KK
be14cd96cd
Fix `bindsym --to-code` not respecting input configs
...
Fixes #7535
1 year ago
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.
1 year ago
Kirill Primak
c9e1dab318
chore: chase wlroots map logic unification
2 years ago
hrdl
01b0c11394
seatop_down: Call seatop_begin_default after sending touch events
...
This is consistent with pointer tablet and button events.
Fixes #7577 .
2 years ago
hrdl
3cd7c71780
handle_touch_cancel: fix begin default
...
I forgot to call seatop_begin_default in
e8f7551e46
.
2 years ago
hrdl
e8f7551e46
Add support for touch cancel events
2 years ago
Alexander Orzechowski
d5cc474aef
render: pass rendering state together in a struct
...
This lets us easily add rendering state that we need in the future
2 years ago
Simon Ser
08c1946d71
Use format_str() throughout
2 years ago
Simon Ser
d6cb4fa8de
Constify pixman_region32_t for rendering functions
2 years ago
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.
2 years ago
Daniel Hill
788118f194
Fix map_to_output * turning off device
...
Signed-off-by: Daniel Hill <daniel@gluo.nz>
2 years ago
Simon Ser
9959e6b8dc
Convert to *_try_from_wlr_surface()
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3991
2 years ago
Simon Ser
ae2d14ceeb
Convert to wlr_xwayland_surface_try_from_wlr_surface()
...
Accomodate for the breaking changes in [1].
[1]: fbf5982e38
2 years ago
Simon Ser
6a3e265326
Fix pointer events for ext-session-lock surfaces
...
We were never sending any pointer event to ext-session-lock
surfaces.
2 years ago
Simon Ser
d5b69d5912
Fix indentation in surface_is_xdg_popup()
2 years ago
Kirill Primak
53c9a4a643
input/tablet: handle focusing NULL surface
...
Additionally, rename the function responsible for switching focus to
match its behavior better.
2 years ago
Ronan Pigott
2f2cdd60de
input: enable user xkb configs with cap_sys_nice
2 years ago