aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2024-01-18Delete old damage tracking codeAlexander Orzechowski-448/+0
The new scene graph abstraction handles this for us.
2024-01-18scene_graph: Port view saved buffersAlexander Orzechowski-84/+91
2024-01-18xwayland: Cleanup geometry handling on commitAlexander Orzechowski-16/+5
Instead of doing this roundabout thing where we get the surface from the view, let's instead get it from the `wlr_surface_state` that we already track in `handle_commit`. This makes the NULL state impossible which is what the old `get_geometry` is checking for and generally cleans things up a little bit. Also don't check if the geometry x/y changed, those will always be 0 for xwayland.
2024-01-18scene_graph: Port xwaylandAlexander Orzechowski-70/+60
2024-01-18scene_graph: Port xdg_shellAlexander Orzechowski-372/+81
2024-01-18transaction: ready signals will return success boolsAlexander Orzechowski-4/+15
2024-01-18scene_graph: Port container server side decorationsAlexander Orzechowski-253/+378
2024-01-18scene_graph: Port layer_shellAlexander Orzechowski-642/+256
2024-01-18input: Query scene graph for relevant surface/node intersectionsAlexander Orzechowski-408/+89
2024-01-18Introduce sway_text_nodeAlexander Orzechowski-0/+332
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-1097/+0
2024-01-18seat: Remove dead seatop_render functionAlexander Orzechowski-23/+0
2024-01-18scene_graph: Port ext_session_v1Alexander Orzechowski-188/+276
2024-01-18scene_graph: Port seatop_move_tiling indicatorsAlexander Orzechowski-30/+41
2024-01-18scene_graph: Port seat drag iconsAlexander Orzechowski-131/+53
2024-01-18renderer: Render scene_graphAlexander Orzechowski-406/+80
2024-01-18scene_graph: Introduce sway_scene_descriptorAlexander Orzechowski-0/+92
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: Use built-in linux dmabuf feedback handlingAlexander Orzechowski-27/+4
2024-01-18scene_graph: Maintain `wlr_scene_node`s for the sway tree.Alexander Orzechowski-7/+288
2024-01-18view: init function should return a success boolAlexander Orzechowski-4/+11
2024-01-18desktop: Rename layers to shell_layersAlexander Orzechowski-38/+37
This code will be deleted later, but for the time being rename it so it doesn't conflict with future properties.
2024-01-17layer-shell: don't configure uninitialized surfacesKirill Primak-0/+5
2024-01-17layer-shell: wait for an initial commit before configuringKirill Primak-10/+6
2024-01-17layer-shell: don't try to unmap on destroyKirill Primak-21/+14
A surface is guaranteed to be unmapped on destruction.
2024-01-08Mark DRM lease protocol privilegedSimon Ser-0/+11
Allowing sandboxed clients to request DRM leases has security implications.
2024-01-04Drop wl_drmSimon Ser-2/+0
See https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4397
2024-01-02readme: add swaybg as optional depSimon Ser-0/+2
2024-01-02input: reconfigure send_events on output hotplugSimon Ser-18/+46
Closes: https://github.com/swaywm/sway/issues/7890
2023-12-28Remove wlr_presentation in sway_server structBillli11-4/+1
It is no longer in use.
2023-12-27Chase wlroots!4482Bill Li-2/+2
2023-12-25Check wlr_pointer_constraint_v1_state.cursor_hint.enabledSimon Ser-2/+1
Update for a wlroots breaking change which resets the committed mask. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4478
2023-12-13output: Destroy when output layout is destroyedAlexander Orzechowski-2/+15
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: simplify seat_is_input_allowed()Simon Ser-11/+11
Use an early return to make the code more readable.
2023-12-13input/seat: rename seat_set_exclusive_client()Simon Ser-5/+3
2023-12-13input/seat: inline seat_set_exclusive_client() with NULL clientSimon Ser-10/+8
2023-12-13input/{keyboard,switch}: rename input_inhibited variable to lockedSimon Ser-11/+11
This is more descriptive now.
2023-12-13input/seat: drop exclusive_clientSimon Ser-18/+4
This was a input-inhibit concept.
2023-12-12Detect proprietary DisplayLink driversSimon Ser-8/+17
evdi is open-source, but is just some condom for their proprietary user-space driver.
2023-12-12Detect Nvidia proprietary driver via drmGetVersion()Simon Ser-30/+36
This is less punishing for users with the Nvidia driver loaded but not used by Sway (e.g. for CUDA).
2023-12-12Drop fglrx detectionSimon Ser-12/+0
This ancient driver doesn't do KMS. So we were never able to run with it anyways.
2023-12-12sway: raise error on non-accessible background fileTamino Bauknecht-0/+3
2023-12-06desktop/xwayland: correctly handle association on o-r changeSimon Ser-2/+21
When override-redirect changes, we need to setup/teardown listeners, just like we do for map. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3773
2023-12-04Update sway.5.scdmrusme-1/+2
Make it extra extra extra clear, because I had to stumbled upon https://github.com/swaywm/sway/issues/3292 to understand this.
2023-12-01Don't destroy output layout on exitAlexander Orzechowski-1/+0
wlroots will destroy this object itself.
2023-11-29sway/config.c: use `memcpy()` for known buffer sizeSergei Trofimovich-1/+1
`gcc-14` added a new warning around dangerous use of `strncpy()` withi known overflow: ../sway/config.c: In function 'do_var_replacement': ../sway/config.c:983:33: error: '__builtin___strncpy_chk' specified bound depends on the length of the source argument [-Werror=stringop-truncation] 983 | strncpy(newptr, var->value, vvlen); | ^ ../sway/config.c:971:45: note: length computed here 971 | int vvlen = strlen(var->value); | ^~~~~~~~~~~~~~~~~~ It's a bit fishy to rely on truncating behaviour of `strncpy()`. The change uses `memcpy()` as more explicit way to express copy of `vvlen` bytes.
2023-11-24Update README.de.md to match the EN oneapreiml-6/+6
2023-11-23common: move load_image to swaybarManuel Stoeckl-6/+5
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-3/+3
2023-11-23common: Drop unused render_background_imageManuel Stoeckl-100/+3
And the associated background_mode enum.
2023-11-23xdg-shell: chase events updateKirill Primak-90/+114