aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorLines
2024-02-20text_input: Implement input-method popupsAccess-0/+23
Co-authored-by: tadeokondrak <me@tadeo.ca>
2024-02-17xdg-activation: distinguish activation and urgency requestsAleksei Bavshin-0/+6
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-17launcher: track the seat in the launcher ctxRonan Pigott-0/+3
This is a more suitable place to track the requesting seat, since we are able to respond appropriately to destroy notifications.
2024-02-15Drop unnecessary includes from sway/server.hSimon Ser-17/+0
2024-02-15Fix build with wlroots DRM backend disabledSimon Ser-1/+0
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-12view: drop ext_foreign_destroyKirill Primak-1/+0
It's not used and causes a crash when a view is destroyed.
2024-02-12layer_shell: Handle popups through popup descriptorAlexander Orzechowski-1/+4
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-12xdg_shell: Extract struct for popup descriptorAlexander Orzechowski-0/+7
2024-02-12layer_shell: Arrange popups even if exclusive zone doesn't changeAlexander Orzechowski-0/+3
2024-02-12ext-foreign-toplevel-list: Implement protocolMerlin Lex-0/+7
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4543
2024-01-20Add debug flag to re-enable wl_drmSimon Ser-0/+1
7e69a7076fc8 ("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-18scene_graph: port wlr_forgein_toplevel_management output enter/leave eventsAlexander Orzechowski-0/+4
2024-01-18remove damage debug optionsAlexander Orzechowski-7/+0
Now that we use wlr_scene, wlroots handles these. If available use the wlroots debug options instead.
2024-01-18scene_graph: Implement toplevel clippingAlexander Orzechowski-1/+1
2024-01-18container: Don't track outputsAlexander Orzechowski-22/+0
The scene graph abstraction does this for us
2024-01-18Delete old damage tracking codeAlexander Orzechowski-67/+0
The new scene graph abstraction handles this for us.
2024-01-18scene_graph: Port view saved buffersAlexander Orzechowski-15/+3
2024-01-18scene_graph: Port xwaylandAlexander Orzechowski-13/+9
2024-01-18scene_graph: Port xdg_shellAlexander Orzechowski-43/+4
2024-01-18transaction: ready signals will return success boolsAlexander Orzechowski-2/+9
2024-01-18scene_graph: Port container server side decorationsAlexander Orzechowski-24/+13
2024-01-18scene_graph: Port layer_shellAlexander Orzechowski-50/+19
2024-01-18input: Query scene graph for relevant surface/node intersectionsAlexander Orzechowski-13/+7
2024-01-18Introduce sway_text_nodeAlexander Orzechowski-0/+28
This is a helper on top of a wlr_scene_buffer that will handle text rendering for us.
2024-01-18renderer: Remove in favor of scene_graphAlexander Orzechowski-15/+0
2024-01-18seat: Remove dead seatop_render functionAlexander Orzechowski-8/+0
2024-01-18scene_graph: Port ext_session_v1Alexander Orzechowski-7/+20
2024-01-18scene_graph: Port seat drag iconsAlexander Orzechowski-20/+13
2024-01-18renderer: Render scene_graphAlexander Orzechowski-19/+1
2024-01-18scene_graph: Introduce sway_scene_descriptorAlexander Orzechowski-0/+25
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-18scene_graph: Maintain `wlr_scene_node`s for the sway tree.Alexander Orzechowski-0/+85
2024-01-18view: init function should return a success boolAlexander Orzechowski-1/+1
2024-01-18desktop: Rename layers to shell_layersAlexander Orzechowski-1/+1
This code will be deleted later, but for the time being rename it so it doesn't conflict with future properties.
2024-01-02input: reconfigure send_events on output hotplugSimon Ser-0/+3
Closes: https://github.com/swaywm/sway/issues/7890
2023-12-28Remove wlr_presentation in sway_server structBillli11-2/+0
It is no longer in use.
2023-12-13output: Destroy when output layout is destroyedAlexander Orzechowski-0/+1
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-13input/seat: rename seat_set_exclusive_client()Simon Ser-2/+1
2023-12-13input/seat: drop exclusive_clientSimon Ser-3/+0
This was a input-inhibit concept.
2023-12-12Detect Nvidia proprietary driver via drmGetVersion()Simon Ser-0/+2
This is less punishing for users with the Nvidia driver loaded but not used by Sway (e.g. for CUDA).
2023-11-23common: move load_image to swaybarManuel Stoeckl-2/+2
swaynag, swaymsg, and sway do not use this function and are unlikely to in the future.
2023-11-23common: rename load_background_image to load_imageManuel Stoeckl-1/+1
2023-11-23common: Drop unused render_background_imageManuel Stoeckl-14/+1
And the associated background_mode enum.
2023-11-23xdg-shell: chase events updateKirill Primak-2/+5
2023-11-23Pass wl_display to wlr_output_layoutSimon Ser-1/+1
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4310
2023-11-22Chase wlroots!4440llyyr-2/+0
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4440
2023-11-21Add support for security-context-v1Simon Ser-0/+4
As a first step, deny access to privileged protocols to sandboxed apps. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3589
2023-11-16input/input-manager: drop input_manager_configure_all_inputsSimon Ser-2/+0
This is now unused.
2023-11-16Only reconfigure input mappings on output changeSimon Ser-0/+5
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-10-05Drop support for KDE's idle protocolSimon Ser-2/+0
We support the standard idle-notify protocol since Sway 1.8.
2023-09-07i3 compat: Adding support for the `all` criteriaJohan Sköld-0/+1
Matches all views. i3 PR: https://github.com/i3/i3/pull/4460 Fixes #7110