aboutsummaryrefslogtreecommitdiff
path: root/sway/server.c
AgeCommit message (Collapse)Author
2024-01-25Chase wlroots!4443Kirill Primak
2024-01-20Add debug flag to re-enable wl_drmSimon Ser
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-18renderer: Render scene_graphAlexander Orzechowski
2024-01-08Mark DRM lease protocol privilegedSimon Ser
Allowing sandboxed clients to request DRM leases has security implications.
2024-01-04Drop wl_drmSimon Ser
See https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4397
2023-12-28Remove wlr_presentation in sway_server structBillli11
It is no longer in use.
2023-12-12Detect proprietary DisplayLink driversSimon Ser
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
This is less punishing for users with the Nvidia driver loaded but not used by Sway (e.g. for CUDA).
2023-11-23xdg-shell: chase events updateKirill Primak
2023-11-23Pass wl_display to wlr_output_layoutSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4310
2023-11-22Chase wlroots!4440llyyr
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4440
2023-11-21Add support for security-context-v1Simon Ser
As a first step, deny access to privileged protocols to sandboxed apps. References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3589
2023-10-05Drop support for KDE's idle protocolSimon Ser
We support the standard idle-notify protocol since Sway 1.8.
2023-09-10sway/server: Fix null pointer crash when Xwayland disabledManuel Stoeckl
2023-08-24Hide xwayland_shell_v1 from regular clientsSimon Ser
Regular clients are not allowed to use this interface. wlroots already sends a protocol error if a non-Xwayland client tries to use this interface, but let's remove all temptation by hiding it completely.
2023-07-24Add support for cursor-shape-v1Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4106
2023-07-12Send wl_surface.preferred_buffer_scaleSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3696
2023-06-23idle-inhibit-v1: simplify with server globalSimon Ser
We only have a single running server, no need to keep track of multiple server instances. Also no need to support multiple idle inhibit managers.
2023-06-08Handle gamma-control-v1 set_gamma eventsSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4046
2023-06-06Add support for wlr-layer-shell ON_DEMAND keyboard interactivityErik Reider
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-04-14Pass version to wlr_compositor_create()Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3696
2023-02-10Add support for fractional-scale-v1Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3511
2023-02-05launcher: support external launcher tokensRonan Pigott
2022-12-05Add `primary_selection` config optionAidan Dang
See: https://github.com/swaywm/sway/issues/4511 Adds a bool config option `primary_selection`, which explicitly enables/disables the primary selection clipboard. Defaults to enabled. This is implemented as a launch-only option which enables or disables the creation of the `zwp_primary_selection_device_manager_v1` global. Co-authored-by: Tilde Rose <t1lde@protonmail.com>
2022-11-30Chase breaking changes in wlroots!3903Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3903
2022-11-28Make DRM backend optionalSimon Ser
2022-11-26launcher: initialize launcher_ctxs once on startupRonan Pigott
2022-11-15Update for wlroots!3814Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3814
2022-11-15ipc: add view content typeSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3599
2022-11-14sway/server: specify wlr-layer-shell version on creationSimon Zeni
2022-10-14Add support for ext-idle-notify-v1Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753
2022-08-04Enable single-pixel-buffer-v1Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3428
2022-06-03Refuse to start when SUID is detectedKenny Levinsen
This ensures that those surprised by the deprecation of SUID operation receive an error rather than accidentally having sway run as root. This detection will be removed in a future release.
2022-05-16server: request xdg-shell v2Rouven Czerwinski
Wlroots does not yet support the newer xdg-shell versions and now requires the compositor to set the supported xdg-shell version during creation. Set this to v2 for sway as well. Fixes https://github.com/swaywm/sway/issues/7001
2022-04-29Implement ext-session-lock-v1Daniel De Graaf
2022-04-09Avoid format-truncation warningDaniel De Graaf
The existing code gives this error when compiled with GCC 12: ../sway/server.c: In function ‘server_init’: ../sway/server.c:217:75: error: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size 8 [-Werror=format-truncation=] 217 | snprintf(name_candidate, sizeof(name_candidate), "wayland-%d", i); | ^~ ../sway/server.c:217:66: note: directive argument in the range [-2147483647, 32] 217 | snprintf(name_candidate, sizeof(name_candidate), "wayland-%d", i); | ^~~~~~~~~~~~ ../sway/server.c:217:17: note: ‘snprintf’ output between 10 and 20 bytes into a destination of size 16 217 | snprintf(name_candidate, sizeof(name_candidate), "wayland-%d", i); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Because i is never negative, this is a false positive, but it is easy to change i to unsigned to silence the error.
2022-02-08Fix snprintf compiler warningMuhamed Hobi
2022-01-13Upgrade for wlroots surface refactoringSimon Ser
See [1] for details. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3412
2021-12-13Add support for linux-dmabuf surface hintsSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/1376
2021-12-09Fixup headless output namesSimon Ser
We use the headless backend to create a special fallback output used when no other output is connected. However this messes up the "real" headless output names users have come to expect (e.g. currently the first headless output will be named "HEADLESS-2" instead of "HEADLESS-1"). Fix this by setting the output name with [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3395
2021-11-25sway: replace noop_output by fallback_outputSimon Zeni
wlroots removed the support for the noop backend. Instead we rely on the headless backend to provide the fallback output.
2021-11-25Replace wlr_headless_backend_create_with_renderer callSimon Ser
Update for the wlroots breaking change in [1]. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3367
2021-11-18sway: create wlr_renderer and wlr_allocatorSimon Zeni
wlroots now required the compositor to create its own wlr_renderer and wlr_allocator to initialize the wlr_output
2021-09-09introduce wlr_drm_lease_v1Simon Zeni
This prevents sway from extending the desktop to i.e. VR headsets, and makes them available for DRM leasing. Non-desktop wlr_outputs will be offered through the wlr_drm_lease_v1_manager interface for client to lease.
2021-06-02Implement xdg-activation-v1Simon Ser
See https://github.com/swaywm/wlroots/pull/2718.
2021-04-11Remove WLR_HAS_XDG_FOREIGN checksSimon Ser
References: https://github.com/swaywm/wlroots/pull/2833
2021-02-16transactions: Amend pending transactionsKenny Levinsen
The transaction system contains a necessary optimization where a popped transaction is combined with later, similar transactions. This breaks the chronological order of states, and can lead to desynchronized geometries. To fix this, we replace the queue with only 2 transactions: current and pending. If a pending transaction exists, it is updated with new state instead of creating additional transactions. As we never have more than a single waiting transaction, we no longer need the queue optimization that is causing problems. Closes: https://github.com/swaywm/sway/issues/6012
2021-02-02xdg-foreign: add v1 and v2 implementationsAleksei Bavshin
Co-authored-by: Jason Francis <cycl0ps@tuta.io>
2020-12-30Remove create_renderer_func argumentSimon Ser
It's removed upstream [1]. [1]: https://github.com/swaywm/wlroots/pull/2561
2020-12-08Handle secondary headless backend failuresSimon Ser