aboutsummaryrefslogtreecommitdiff
path: root/include/sway/server.h
AgeCommit message (Collapse)Author
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-18remove damage debug optionsAlexander Orzechowski
Now that we use wlr_scene, wlroots handles these. If available use the wlroots debug options instead.
2024-01-18scene_graph: Port ext_session_v1Alexander Orzechowski
2024-01-18renderer: Render scene_graphAlexander Orzechowski
2023-12-28Remove wlr_presentation in sway_server structBillli11
It is no longer in use.
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-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-07-24Add support for cursor-shape-v1Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4106
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-02-05launcher: support external launcher tokensRonan Pigott
2022-11-28Make session 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-10-28Rework session lock keyboard focus handlingDaniel De Graaf
When removing outputs, it is possible to end up in a situation where none of the session lock client's surfaces have keyboard focus, resulting in it not receiving keyboard events. Track the focused surface and update it as needed on surface destroy.
2022-10-14Add support for ext-idle-notify-v1Simon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3753
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-18realtime: request SCHED_RR using CAP_SYS_NICERouven Czerwinski
Try to gain SCHED_RR (round-robin) realtime scheduling privileges before starting the server. This requires CAP_SYS_NICE on Linux systems. We additionally register a pthread_atfork callback which resets the scheduling class back to SCHED_OTHER (the Linux system default). Due to CAP_SYS_NICE, setting RLIMIT_RTPRIO has no effect on the process as documented within man 7 sched (from Linux): Privileged (CAP_SYS_NICE) threads ignore the RLIMIT_RTPRIO limit; as with older kernels, they can make arbitrary changes to scheduling policy and priority. See getrlimit(2) for further information on RLIMIT_RTPRIO Note that this requires the sway distribution packagers to set the CAP_SYS_NICE capability on the sway binary. Supersedes #6992
2022-04-29Implement ext-session-lock-v1Daniel De Graaf
2021-12-13Add support for linux-dmabuf surface hintsSimon Ser
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/1376
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-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-10-30Bump RLIMIT_NOFILESimon Ser
Wayland compositors handle many file descriptors: client connections, DMA-BUFs, sync_files, wl_data_device pipes, and so on. Bump the limit to the max. Closes: https://github.com/swaywm/sway/issues/6285
2021-09-20Add -Dnoscanout debug optionSimon Ser
This can help debugging direct scan-out issues, such as [1]. [1]: https://github.com/swaywm/wlroots/issues/3185
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-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
2020-06-23Implement wlr-foreign-toplevel-management-v1Drew DeVault
2020-05-01Add a secondary headless backendSimon Ser
This allows the create_output command to work on DRM too.
2020-04-04Port input method and text input from rootstonxdavidwu
This ports swaywm/wlroots#1203, swaywm/wlroots#1303, swaywm/wlroots#1308, swaywm/wlroots#1759 rootston part to sway. Co-Authored-By: Leo Chen <leo881003@gmail.com>
2020-02-26Add support for wlr-output-power-management-unstable-v1Simon Ser
2020-01-24Fix compiling with -fno-commonthermitegod
2019-11-17Add sway_surfaceIvan Molodetskikh
For extending wlr_surface with additional things.
2019-09-25input: Add support for tablet protocol.John Chadwick
Sway has basic support for drawing tablets, but does not expose properties such as pressure sensitivity. This implements the wlr tablet v2 protocol, providing tablet events to Wayland clients.
2019-08-20Remove xdg-shell v6 supportSimon Ser
All major toolkits and apps have gained xdg-shell stable support. Closes: https://github.com/swaywm/sway/issues/3690
2019-07-27Remove all wayland-server.h includesSimon Ser
The documentation for wayland-server.h says: > Use of this header file is discouraged. Prefer including > wayland-server-core.h instead, which does not include the server protocol > header and as such only defines the library PI, excluding the deprecated API > below. Replacing wayland-server.h with wayland-server-core.h allows us to drop the WL_HIDE_DEPRECATED declaration. This commit si similar to wlroots' ca45f4490ccc ("Remove all wayland-server.h includes").
2019-07-17Update output manager on layout changeJosef Gajdusek
The output manager config was not properly updated if the position of the output got changed.
2019-05-24Implement wlr-output-management-v1Josef Gajdusek
2019-03-18Remove debug treeRyan Dwyer
This feature has served its purpose. It's better to use IPC now.
2019-01-30Add relative pointerabsrd
2019-01-30Implement pointer-constraints-unstable-v1Las
2019-01-22Use noop output when there's no outputs connectedRyan Dwyer
Instead of having NULL workspace->output pointers, use a noop output. This should be safer.
2018-11-19Add xwayland commandemersion
2018-11-18Use #if instead of #ifdefemersion
2018-10-23Implement the presentation-time protocolemersion
2018-09-27Add CSD to border modesRyan Dwyer
This replaces view.using_csd with a new border mode: B_CSD. This also removes sway_xdg_shell{_v6}_view.deco_mode and view->has_client_side_decorations as we can now get these from the border. You can use `border toggle` to cycle through the modes including CSD, or use `border csd` to set it directly. The client must support the xdg-decoration protocol, and the only client I know of that does is the example in wlroots. If the client switches from SSD to CSD without us expecting it (via the server-decoration protocol), we stash the previous border type into view.saved_border so we can restore it if the client returns to SSD. I haven't found a way to test this though.
2018-09-14Update for swaywm/wlroots#1243emersion