Jan Seeger
7d657a975f
Implemented mouse_warping_position
command to adjust position of mouse warp.
2024-03-18 11:17:12 +01:00
Andri Yngvason
5a7477cb8f
Implement transient seat management
2024-03-18 09:07:21 +01:00
Simon Ser
3bc75221bc
Re-create renderer when lost
2024-03-14 22:55:46 +01:00
Simon Ser
23389ebd1f
config/output: drop enabling flag
...
This was useful when wlroots backends were updating the current
mode on their own. This is no longer the case.
2024-03-08 09:12:12 -05:00
Simon Ser
4e6d7612ff
xdg-shell: implement popup repositioning
2024-03-08 09:52:14 +03:00
Simon Ser
fca8474e9b
Convert to new pointer enums
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4575
2024-02-28 14:28:11 -05:00
Access
7c11c463a3
text_input: Implement input-method popups
...
Co-authored-by: tadeokondrak <me@tadeo.ca>
2024-02-20 10:53:20 +01:00
Aleksei Bavshin
d19810eba8
xdg-activation: distinguish activation and urgency requests
...
Check if the app that requested a token has provided a valid input
serial and a focused surface. Downgrade activation request to urgency
otherwise.
This is mostly in line with what other Wayland compositors decided to
do, and offers a better security than the original logic.
2024-02-17 00:54:30 -07:00
Ronan Pigott
f6d22f8e68
launcher: track the seat in the launcher ctx
...
This is a more suitable place to track the requesting seat, since we are
able to respond appropriately to destroy notifications.
2024-02-17 00:54:30 -07:00
Simon Ser
541e6e260c
Drop unnecessary includes from sway/server.h
2024-02-15 15:56:36 +01:00
Simon Ser
ca40663d42
Fix build with wlroots DRM backend disabled
...
The header is not installed by wlroots when the DRM backend is
disabled. We don't need it here, so don't include it.
Closes: https://github.com/swaywm/sway/issues/7943
2024-02-15 09:44:12 -05:00
Kirill Primak
7a2ff7ba81
view: drop ext_foreign_destroy
...
It's not used and causes a crash when a view is destroyed.
2024-02-12 19:05:13 +01:00
Alexander Orzechowski
09c360d503
layer_shell: Handle popups through popup descriptor
...
We tried to synchronize layer shell popups with the parent layer shell
on commits, but this is subtly wrong because we would only update
the position for one layer shell that was committed, but not any other
layer that might be affected. By moving handling to the scene descriptor
we can iterate all popups and ensure they are synchronized.
2024-02-12 19:19:22 +03:00
Alexander Orzechowski
1846944f04
xdg_shell: Extract struct for popup descriptor
2024-02-12 19:19:22 +03:00
Alexander Orzechowski
1dc661af17
layer_shell: Arrange popups even if exclusive zone doesn't change
2024-02-12 19:19:22 +03:00
Merlin Lex
1b5515400d
ext-foreign-toplevel-list: Implement protocol
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4543
2024-02-12 15:36:44 +01:00
Simon Ser
08a06a7b6b
Add debug flag to re-enable wl_drm
...
7e69a7076f
("Drop wl_drm") has dropped wl_drm, however a lot of
software wasn't quite ready for this (Xwayland, libva, amdvlk).
Keep wl_drm disabled by default to pressure the wl_drm phase-out,
but add a -Dlegacy-wl-drm flag for users to restore the previous
behavior in the meantime.
References: https://github.com/swaywm/sway/issues/7897
2024-01-20 14:42:58 -05:00
Alexander Orzechowski
5fc85c5066
scene_graph: port wlr_forgein_toplevel_management output enter/leave events
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
7c635b61fe
remove damage debug options
...
Now that we use wlr_scene, wlroots handles these. If available use
the wlroots debug options instead.
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
9da295c11f
scene_graph: Implement toplevel clipping
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
5f0801b6f2
container: Don't track outputs
...
The scene graph abstraction does this for us
2024-01-18 18:36:54 +03:00
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
06ad734e70
scene_graph: Port view saved buffers
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
08c484f46f
transaction: ready signals will return success bools
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
6d7b1321db
scene_graph: Port container server side decorations
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
946fc80945
Introduce sway_text_node
...
This is a helper on top of a wlr_scene_buffer that will handle text
rendering for us.
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
869baff252
renderer: Remove in favor of scene_graph
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
c640c3015f
scene_graph: Port seat drag icons
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
9c17cba0b2
renderer: Render scene_graph
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
0e1a02bf0a
scene_graph: Introduce sway_scene_descriptor
...
Across a wayland compositor, there are multiple shells: It can be
a toplevel, or a layer_shell, or even something more meta like a drag
icon or highlight indicators when dragging windows around.
This object lets us store values that represent these modes of operation
and keep track of what object is being represented.
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
1eb16d1367
scene_graph: Maintain wlr_scene_node
s for the sway tree.
2024-01-18 18:36:54 +03:00
Alexander Orzechowski
dbd2fbf430
view: init function should return a success bool
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
Billli11
0aceff7469
Remove wlr_presentation in sway_server struct
...
It is no longer in use.
2023-12-28 11:28:28 +01:00
Alexander Orzechowski
bbabb9aae8
output: Destroy when output layout is destroyed
...
Since output layout is destroyed when the wayland display is destroyed
we run into a destroy listener order problem: Either the display starts
destroying the outputs first, in which case we're good: The existing
handling will clean up. However, things go wrong if the display decides
to destroy the output layout first. In this case, sway will hold
invalid references to the output layout as part of each output so that
when it finally goes to destroy them, sway will dereference destroyed
output layout bits.
Ref: https://github.com/swaywm/sway/pull/6844#issuecomment-1843599513
2023-12-13 18:10:03 +01:00
Simon Ser
e8a0205607
input/seat: rename seat_set_exclusive_client()
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
Simon Ser
ff07eab85b
Detect Nvidia proprietary driver via drmGetVersion()
...
This is less punishing for users with the Nvidia driver loaded but
not used by Sway (e.g. for CUDA).
2023-12-12 10:04:14 -05:00
Manuel Stoeckl
e633fe0b40
common: move load_image to swaybar
...
swaynag, swaymsg, and sway do not use this function and are
unlikely to in the future.
2023-11-23 20:42:04 +01:00
Manuel Stoeckl
439122e887
common: rename load_background_image to load_image
2023-11-23 20:42:04 +01:00
Manuel Stoeckl
39b9c0d6ba
common: Drop unused render_background_image
...
And the associated background_mode enum.
2023-11-23 20:42:04 +01:00
Kirill Primak
47e6a1164c
xdg-shell: chase events update
2023-11-23 19:41:57 +01:00
Simon Ser
128b6253a9
Pass wl_display to wlr_output_layout
...
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4310
2023-11-23 16:13:19 +03:00