ITADN
swaywm/sway

版本发布 8

1.11
? · 2025-06-08

Sway 1.11 contains 189 changes from 53 contributors. This release depends on wlroots 0.19.0. See the [wlroots release notes](https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.0). ### New features - All of the enhancements from [wlroots 0.19.0](https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.0). - Add support for linux-drm-syncobj-v1 for explicit synchronization - Add support for alpha-modifier-v1 for setting an alpha multiplier for a surface - Add support for ext-image-copy-capture-v1 and ext-image-capture-source-v1 for improved screen capture - Add support for ext-data-control-v1 as an alternative protocol for clipboard managers - Improved output configuration logic for better and faster fallbacks - Pointer keys are now supported and can be bound in keymaps to trigger pointer events - security-context-v1 metadata is exposed in IPC, and can be used in criteria and title format ### Changes - The default configuration file now ships key bindings for a few utilities: pactl, brightnessctl, grim - The default menu now uses wmenu-run and no longer depends on dmenu_path. - The default tap-and-drag lock mode has been switched to sticky [as recommended by upstream](https://lists.freedesktop.org/archives/wayland-devel/2024-November/043860.html) - The `sway.desktop` file now sets `DesktopNames` (`XDG_CURRENT_DESKTOP` will be set by login managers) <details> <summary>Full changelog</summary> ``` Adam Chovanec (1): readme: update Czech translation Alexander Orzechowski (19): transaction: Reparent all container children when disabling for scratchpad xwayland: Let scene restack output: Use wlr_scene_output_needs_frame output: Use wlr_scene_set_gamma_control_manager_v1 output: Chase wlroots!4803 container: Skip % char if it doesn't match a view property text_input: Check for allocation failure text_input: Move popup placement to own function transaction: Allow no popup descriptor in popup list text_input: Properly handle map/unmap events text_input: Inline input_popup_update into input_popup_set_focus Fix alpha-modifier-v1 layer_shell: Arrange exclusive zone clients first layer_shell: Restore sway 1.9 ordering container: Properly constrain title bar padding swaybar: Handle opaque region properly output: Expose output_configure_scene to header output: Allow configuring scene without an output commands/opacity: Call output_configure_scene on updated container Anna (navi) Figueiredo Gomes (1): sway/commands/move.c: arrange new workspace AsciiWolf (1): Remove language bars from remaining non-English README files Attila Fidan (1): input/cursor: remove tool_proximity listener in destroy Baltazár Radics (1): input/libinput: fix parsing input drag_lock command Bill Li (4): build: Bump wlroots version Chase wlroots!2434 ci: use package x11-servers/xwayland instead of x11-servers/xwayland-devel Drop wlr_matrix.h include from sway/desktop/output.c Bonsaiiv (1): Improve example of input section in default config Chris Perl (1): Remove constraint that con->view != NULL to use __focused__ criteria Claudia (1): Fix tabbed/stacking container height regression Dan Baterisna (1): man: Document bar mode toggle command Daniel De Graaf (1): Use wl_event_loop_add_signal for exit signals Dennis Baurichter (1): man: clarify criteria (incl. PCRE2 usage) Emil Engberg (1): Add toggle for output adaptive_sync Felix Pehla (1): commands/output/color_profile: allows use of relative path for ICC profile Ferdinand Bachmann (7): sway/ipc-json: add ext-foreign-toplevel-handle identifier to get_tree ipc output server: remove event listeners on fini input/input-manager: remove event listeners on fini desktop/idle_inhibit: remove event listeners on destroy input/text_input: remove event listeners on destroy tree/container: remove event listeners on destroy server: recreate renderer in idle callback to avoid UAF Filip Vujičić (1): Remove duplicate arrange_container Furkan Sahin (6): swaybar: Fix 100% cpu usage if dbus dies. input/mouse: bugfix button2 being interpreted as trying to move the container output/background: fix config ignoring fallback color ipc: standardize pretty print with raw print sway/commands: Handle incorrect resize unit input/seatop_down: Update decorations for touchscreen inputs György Kurucz (1): input/libinput: fix builtin device detection logic Hong Xu (1): Explain that the title bar always shows Jacob McNamee (3): tree/view: add getters for sandbox properties tree/container: support sandbox properties in title format swaymsg: pretty-print sandbox properties James Knight (1): build: avoid git repository discovery when determining version Jan Palus (1): trigger container update after disabling urgent in timer Jim (1): Increase max default buffer size to 1 MiB JingMatrix (1): Add null-safety check for virtual keyboard keymaps Joan Bruguera Micó (2): layer-shell: Restore interactive layer focus code swaybar: Emit property changes for SNI watcher Jon Wallace (2): Use heading markdown to demarcate sections of commands Its a little tought to notice that the COMMANDS section is actually 3 sections. Use markdown to make this easier to see for the user. use subheadings instead Kenny Levinsen (51): desktop/output: Stop repaint loop when not needed config/output: Do not set adaptive_sync if not supported config/output: Skip search if config has a mode desktop/output: Do not use commit listener to arrange tree/output: Rely on modeset arranging root (desktop|tree)/output: Do not use layout listener to arrange desktop/output: Avoid duplicate output manager update tree/output: Avoid duplicate input mapping configure tree/arrange: Remove redundant output geometry update desktop/transaction: Deactivate workspace on inactive outputs tree/arrange; Skip arranging disabled outputs config/output: Support multiple matches in find_output_config config/output: Always start with default in find_output_config config/output: Accept a list of output_configs to use config/output: Rename to apply_stored_output_configs ext-session-lock: Do not use commit listener to arrange config/output: Add support for 6-bit render fmt config/output: Stringify render format when logging it commands/gaps: Check config->reading instead desktop/output: Expose request_modeset config: Batch input/output configuration on load desktop/output: Clear modeset timer on output manager apply Re-init renderer for all outputs on lost context config/output: Improve modeset state logging config/output: Always set output states from config config/output: Always set all output fields on finalize config/output: Remove initial values in find_output_config config/output: Remove remaining logs from queue_output_config desktop/output: Store output config on request_state desktop/output: Add missing output config allocation checks config/output: Update output position in two passes desktop/output: Clean up output state if build_state fails desktop/output: Clear frame_pending even output is disabled config: Force modeset before running deferred configs ipc-server: Force modeset if needed after executing commands desktop/output: Clear repaint timer earlier in destroy sway_text_node: Apply max_width when rendering sway_text_node: Remove use of source box Rework fork/exec strategy Use SIG_IGN for SIGCHLD instead of our own handler config/output: Reset everything before swaybg exec desktop/output: Skip repaint if wlr_output is disabled Avoid crashing on too many containers idle_inhibit: Ignore inhibitors when locked idle_inhibit: Explicitly handle layer surfaces idle_inhibit: Assume view is invisible by default idle_inhibit: Check if layer surface output is enabled config/output: Use INT_MAX as x/y unset value config/output: Fix missing output config supersedes output: Minimize interaction with output after destroy tree/workspace: Remove exclude arg from get_highest_available Kirill Primak (5): xwayland: chase wlr_xwayland_surface_set_maximized() change tearing: remove trailing whitespace tearing: fix UAF on destroy xdg-shell: chase xdg_surface geometry updates desktop/output: chase wlroots private fields update Loukas Agorgianitis (1): server: fix shutdown crash when running on x11 backend Manuel Stoeckl (1): swaynag: fix null dereference on scale change Mark Stosberg (1): docs: use "window" instead of "view" throughout. Norbert Bolanowski (1): move title_format to container Olivia Taliesin (1): Removed destination-is-ancestor check from container_move_to_container to match i3 behaviour Paul Riou (1): stringop: fix has_prefix() arg order in config parsing Pavel 'LEdoian' Turinsky (1): Fix includes with relative paths Piotr Piwoński (1): sway/commands: Return error if container is not in scratchpad Puck Meerburg (2): ipc-json: add sandbox properties to view JSON criteria: add sandbox properties Ricardo Steijn (1): Add support for tearing-control-v1 Scott Dubinsky (1): Remove unguarded double include ShootingStarDragons (2): fix: sway crashes if switch to another workspace with surface when IME popup is shown text_input: Fix ime panic in ext-session-lock Simon Ser (32): build: use fs.relative_to() instead of hand-rolled logic desktop/xwayland: don't restack when marking window as inactive Add support for linux-drm-syncobj-v1 Bind a few utilities to special keys in default config Switch default config to wmenu-run Add support for alpha-modifier-v1 release: push tags before creating GitHub release server: check backend support for timelines input/keyboard: add support for pointer keys input/seatop_default: refactor move/resize button logic release.sh: read meson-rewrite output from stdout ipc-json: handle LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY Add support for LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY stringop: move over has_prefix() Use has_prefix() instead of strncmp() throughout Fix has_prefix() comparisons with 0 config/output: don't hardcode DMA-BUF in search_render_format() Add ext-image-copy-capture-v1 and ext-image-capture-source-v1 Fix crash on shutdown when Xwayland is disabled swaymsg, swaynag: drop sway_terminate() definitions server: move sway_terminate() definition to header Drop wl_drm again build: bump version to 1.11-rc1 Use pthread_atfork() to restore signals and NOFILE limit Replace signal() with sigaction() build: bump version to 1.11-rc2 build: bump version to 1.11-rc3 ci: pin wlroots to 0.19.x input: fix udev_device leak Log message on for_window command error build: bump version to 1.11-rc4 build: bump version to 1.11 Solt Budavári (1): Fix orthographic mistakes in Hungarian README Steffen Dirkwinkel (1): config/output: support DRM_FORMAT_ARGB8888 Violet Purcell (1): tree/container: remove output_{enter,leave} listeners in destroy YaoBing Xiao (1): server: fix socket path memory leak alex-huff (7): transaction: Ensure all tabs are visible in tabbed mode move: fix broken titlebar when moving child to new workspace transaction: ensure border scene is enabled for floating containers transaction: fix size of child container decorations in stacking layouts transaction: reparent scenes of containers behind fullscreen containers layer-shell: reclaim space from unmapped layer surfaces transaction: fix floating fullscreen containers llyyr (7): sway/tree/container: don't trunc coords in `floating_fix_coordinates` sway/input/keyboard: always set active keyboard if there is none sway/server: bind to presentation-time-v2 layer_shell: cleanup new_popup listener when destroying node config/output: don't leak background_fallback sway/server: create ext-data-control manager layer_shell: destroy layer_surface on assigned output destruction melvinm1 (1): Fix output repositioning in global fullscreen mtvare6 (3): desktop/transaction: clamp vertical border length to 0 commands/include: handle many files in single line config/output: skip format checks if all are supported nilninull (1): Add the DesktopNames key to the sway.desktop session file odyxz (1): raise scratchpad container ``` </details>

1.11-rc3预发布
? · 2025-05-18
1.11-rc2预发布
? · 2025-04-27
1.11-rc1预发布
? · 2025-04-20

Sway 1.11-rc1 contains 163 changes from 48 contributors. This release depends on wlroots 0.19.0-rc1. See the [wlroots release notes](https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.0-rc1). ### New features - All of the enhancements from [wlroots 0.19.0-rc1](https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.0-rc1). - Add support for linux-drm-syncobj-v1 for explicit synchronization - Add support for alpha-modifier-v1 for setting an alpha multiplier for a surface - Add support for ext-image-copy-capture-v1 and ext-image-capture-source-v1 for improved screen capture - Add support for ext-data-control-v1 as an alternative protocol for clipboard managers - Improved output configuration logic for better and faster fallbacks - Pointer keys are now supported and can be bound in keymaps to trigger pointer events - security-context-v1 metadata is exposed in IPC, and can be used in criteria and title format ### Changes - The default configuration file now ships key bindings for a few utilities: pactl, brightnessctl, grim - The default menu now uses wmenu-run and no longer depends on dmenu_path. - The default tap-and-drag lock mode has been switched to sticky [as recommended by upstream](https://lists.freedesktop.org/archives/wayland-devel/2024-November/043860.html) - The `sway.desktop` file now sets `DesktopNames` (`XDG_CURRENT_DESKTOP` will be set by login managers) <details> <summary>Full changelog</summary> ``` Adam Chovanec (1): readme: update Czech translation Alexander Orzechowski (19): transaction: Reparent all container children when disabling for scratchpad xwayland: Let scene restack output: Use wlr_scene_output_needs_frame output: Use wlr_scene_set_gamma_control_manager_v1 output: Chase wlroots!4803 container: Skip % char if it doesn't match a view property text_input: Check for allocation failure text_input: Move popup placement to own function transaction: Allow no popup descriptor in popup list text_input: Properly handle map/unmap events text_input: Inline input_popup_update into input_popup_set_focus Fix alpha-modifier-v1 layer_shell: Arrange exclusive zone clients first layer_shell: Restore sway 1.9 ordering container: Properly constrain title bar padding swaybar: Handle opaque region properly output: Expose output_configure_scene to header output: Allow configuring scene without an output commands/opacity: Call output_configure_scene on updated container Anna (navi) Figueiredo Gomes (1): sway/commands/move.c: arrange new workspace AsciiWolf (1): Remove language bars from remaining non-English README files Attila Fidan (1): input/cursor: remove tool_proximity listener in destroy Baltazár Radics (1): input/libinput: fix parsing input drag_lock command Bill Li (4): build: Bump wlroots version Chase wlroots!2434 ci: use package x11-servers/xwayland instead of x11-servers/xwayland-devel Drop wlr_matrix.h include from sway/desktop/output.c Chris Perl (1): Remove constraint that con->view != NULL to use __focused__ criteria Claudia (1): Fix tabbed/stacking container height regression Dan Baterisna (1): man: Document bar mode toggle command Daniel De Graaf (1): Use wl_event_loop_add_signal for exit signals Dennis Baurichter (1): man: clarify criteria (incl. PCRE2 usage) Emil Engberg (1): Add toggle for output adaptive_sync Felix Pehla (1): commands/output/color_profile: allows use of relative path for ICC profile Ferdinand Bachmann (7): sway/ipc-json: add ext-foreign-toplevel-handle identifier to get_tree ipc output server: remove event listeners on fini input/input-manager: remove event listeners on fini desktop/idle_inhibit: remove event listeners on destroy input/text_input: remove event listeners on destroy tree/container: remove event listeners on destroy server: recreate renderer in idle callback to avoid UAF Filip Vujičić (1): Remove duplicate arrange_container Furkan Sahin (4): swaybar: Fix 100% cpu usage if dbus dies. input/mouse: bugfix button2 being interpreted as trying to move the container output/background: fix config ignoring fallback color ipc: standardize pretty print with raw print György Kurucz (1): input/libinput: fix builtin device detection logic Hong Xu (1): Explain that the title bar always shows Jacob McNamee (3): tree/view: add getters for sandbox properties tree/container: support sandbox properties in title format swaymsg: pretty-print sandbox properties James Knight (1): build: avoid git repository discovery when determining version Jan Palus (1): trigger container update after disabling urgent in timer Jim (1): Increase max default buffer size to 1 MiB JingMatrix (1): Add null-safety check for virtual keyboard keymaps Joan Bruguera Micó (2): layer-shell: Restore interactive layer focus code swaybar: Emit property changes for SNI watcher Jon Wallace (2): Use heading markdown to demarcate sections of commands Its a little tought to notice that the COMMANDS section is actually 3 sections. Use markdown to make this easier to see for the user. use subheadings instead Kenny Levinsen (47): desktop/output: Stop repaint loop when not needed config/output: Do not set adaptive_sync if not supported config/output: Skip search if config has a mode desktop/output: Do not use commit listener to arrange tree/output: Rely on modeset arranging root (desktop|tree)/output: Do not use layout listener to arrange desktop/output: Avoid duplicate output manager update tree/output: Avoid duplicate input mapping configure tree/arrange: Remove redundant output geometry update desktop/transaction: Deactivate workspace on inactive outputs tree/arrange; Skip arranging disabled outputs config/output: Support multiple matches in find_output_config config/output: Always start with default in find_output_config config/output: Accept a list of output_configs to use config/output: Rename to apply_stored_output_configs ext-session-lock: Do not use commit listener to arrange config/output: Add support for 6-bit render fmt config/output: Stringify render format when logging it commands/gaps: Check config->reading instead desktop/output: Expose request_modeset config: Batch input/output configuration on load desktop/output: Clear modeset timer on output manager apply Re-init renderer for all outputs on lost context config/output: Improve modeset state logging config/output: Always set output states from config config/output: Always set all output fields on finalize config/output: Remove initial values in find_output_config config/output: Remove remaining logs from queue_output_config desktop/output: Store output config on request_state desktop/output: Add missing output config allocation checks config/output: Update output position in two passes desktop/output: Clean up output state if build_state fails desktop/output: Clear frame_pending even output is disabled config: Force modeset before running deferred configs ipc-server: Force modeset if needed after executing commands desktop/output: Clear repaint timer earlier in destroy sway_text_node: Apply max_width when rendering sway_text_node: Remove use of source box Rework fork/exec strategy Use SIG_IGN for SIGCHLD instead of our own handler config/output: Reset everything before swaybg exec desktop/output: Skip repaint if wlr_output is disabled Avoid crashing on too many containers idle_inhibit: Ignore inhibitors when locked idle_inhibit: Explicitly handle layer surfaces idle_inhibit: Assume view is invisible by default idle_inhibit: Check if layer surface output is enabled Kirill Primak (5): xwayland: chase wlr_xwayland_surface_set_maximized() change tearing: remove trailing whitespace tearing: fix UAF on destroy xdg-shell: chase xdg_surface geometry updates desktop/output: chase wlroots private fields update Loukas Agorgianitis (1): server: fix shutdown crash when running on x11 backend Manuel Stoeckl (1): swaynag: fix null dereference on scale change Mark Stosberg (1): docs: use "window" instead of "view" throughout. Norbert Bolanowski (1): move title_format to container Olivia Taliesin (1): Removed destination-is-ancestor check from container_move_to_container to match i3 behaviour Paul Riou (1): stringop: fix has_prefix() arg order in config parsing Piotr Piwoński (1): sway/commands: Return error if container is not in scratchpad Puck Meerburg (2): ipc-json: add sandbox properties to view JSON criteria: add sandbox properties Ricardo Steijn (1): Add support for tearing-control-v1 Scott Dubinsky (1): Remove unguarded double include ShootingStarDragons (2): fix: sway crashes if switch to another workspace with surface when IME popup is shown text_input: Fix ime panic in ext-session-lock Simon Ser (23): build: use fs.relative_to() instead of hand-rolled logic desktop/xwayland: don't restack when marking window as inactive Add support for linux-drm-syncobj-v1 Bind a few utilities to special keys in default config Switch default config to wmenu-run Add support for alpha-modifier-v1 release: push tags before creating GitHub release server: check backend support for timelines input/keyboard: add support for pointer keys input/seatop_default: refactor move/resize button logic release.sh: read meson-rewrite output from stdout ipc-json: handle LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY Add support for LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY stringop: move over has_prefix() Use has_prefix() instead of strncmp() throughout Fix has_prefix() comparisons with 0 config/output: don't hardcode DMA-BUF in search_render_format() Add ext-image-copy-capture-v1 and ext-image-capture-source-v1 Fix crash on shutdown when Xwayland is disabled swaymsg, swaynag: drop sway_terminate() definitions server: move sway_terminate() definition to header Drop wl_drm again build: bump version to 1.11-rc1 Solt Budavári (1): Fix orthographic mistakes in Hungarian README Steffen Dirkwinkel (1): config/output: support DRM_FORMAT_ARGB8888 Violet Purcell (1): tree/container: remove output_{enter,leave} listeners in destroy llyyr (7): sway/tree/container: don't trunc coords in `floating_fix_coordinates` sway/input/keyboard: always set active keyboard if there is none sway/server: bind to presentation-time-v2 layer_shell: cleanup new_popup listener when destroying node config/output: don't leak background_fallback sway/server: create ext-data-control manager layer_shell: destroy layer_surface on assigned output destruction melvinm1 (1): Fix output repositioning in global fullscreen mtvare6 (3): desktop/transaction: clamp vertical border length to 0 commands/include: handle many files in single line config/output: skip format checks if all are supported nilninull (1): Add the DesktopNames key to the sway.desktop session file ``` </details>

1.10.1
? · 2025-01-26
1.10
? · 2024-10-27

Sway 1.10 contains 237 changes from 44 contributors. This pre-release depends on wlroots 0.18.0. See the [wlroots release notes](https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.18.0). ## New features - All of the enhancements from [wlroots 0.18](https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.18.0). - Rewrite the renderer to leverage the wlroots scene-graph API, resulting in improved performance. - Add GPU reset recovery for improved robustness. - Add a command to use an ICC profile for an output. - Improved output configuration algorithm to light up more outputs when the GPU bandwidth is constrained. `WLR_DRM_NO_MODIFIERS` shouldn't be necessary anymore to workaround black screens on Intel. - Add support for IME popups used for CJK. - Add support for tearing-control-v1, to opt-in for tearing page-flips for gaming use-cases. - Add support for ext-transient-seat-v1, allowing remoting apps such as wayvnc to create separate temporary seats for input events. - Add support for ext-foreign-toplevel-list-v1, the new standard protocol to obtain information about other toplevels. This will eventually be used by taskbars, window switchers and per-toplevel screen capture. - Add support for xdg-shell v5 with popup repositioning and hiding maximize/minimize buttons in CSD. ## Changes - `dmenu_run` is no longer a dependency of the default config file. - The default config file now contains keybindings with `pactl` for volume adjustment, `brightnessctl` for brightness adjustment and `grim` for screenshots. - The legacy `wl_drm` protocol is now disabled by default (superseded by the standard linux-dmabuf-v1 protocol). This causes breakage in xorg-xwayland < 24.1.0, libva < 2.22.0 and amdvlk < 2024.Q4.1, and can be re-enabled manually via `-Dlegacy-wl-drm`. - The `xwayland` built-time option has been removed: Xwayland support is now enabled at build-time if it was enabled for wlroots. <details> <summary>Full changelog</summary> ``` Access (1): text_input: Implement input-method popups Adam Chovanec (1): readme: update Czech translation Aleksei Bavshin (1): xdg-activation: distinguish activation and urgency requests Alexander Orzechowski (47): Don't destroy output layout on exit output: Destroy when output layout is destroyed desktop: Rename layers to shell_layers view: init function should return a success bool scene_graph: Maintain `wlr_scene_node`s for the sway tree. scene_graph: Use built-in linux dmabuf feedback handling scene_graph: Introduce sway_scene_descriptor renderer: Render scene_graph scene_graph: Port seat drag icons scene_graph: Port seatop_move_tiling indicators scene_graph: Port ext_session_v1 seat: Remove dead seatop_render function renderer: Remove in favor of scene_graph Introduce sway_text_node input: Query scene graph for relevant surface/node intersections scene_graph: Port layer_shell scene_graph: Port container server side decorations transaction: ready signals will return success bools scene_graph: Port xdg_shell scene_graph: Port xwayland xwayland: Cleanup geometry handling on commit scene_graph: Port view saved buffers Delete old damage tracking code container: Don't track outputs scene_graph: Arrange scene graph on transaction apply scene_graph: Port opacity and filter modes scene_graph: Implement toplevel clipping Fix SIGSEGV on surface destroy remove damage debug options scene_graph: port wlr_forgein_toplevel_management output enter/leave events layer_shell: Fix typo of return instead of continue Ensure get_text_width() returns a positive value layer_shell: Arrange popups even if exclusive zone doesn't change xdg_shell: Extract struct for popup descriptor layer_shell: Handle popups through popup descriptor Force bilinear scaling when scaling down sway_text_node: Allow 0 text width transaction: Reparent all container children when disabling for scratchpad container: Skip % char if it doesn't match a view property text_input: Check for allocation failure text_input: Move popup placement to own function transaction: Allow no popup descriptor in popup list text_input: Properly handle map/unmap events text_input: Inline input_popup_update into input_popup_set_focus Fix alpha-modifier-v1 layer_shell: Arrange exclusive zone clients first layer_shell: Restore sway 1.9 ordering Andri Yngvason (1): Implement transient seat management Anna (navi) Figueiredo Gomes (2): sway/config/output.c: fix null deref on output config sway/commands/move.c: arrange new workspace Bill Li (2): Chase wlroots!4482 ci: use package x11-servers/xwayland instead of x11-servers/xwayland-devel Billli11 (1): Remove wlr_presentation in sway_server struct Daniel De Graaf (1): Fix SIGSEGV on output destroy Daniel Kahn Gillmor (1): sway-ipc(7): Escape backslashes correctly in GET_CONFIG output Emil Engberg (1): Add toggle for output adaptive_sync Felix Pehla (1): commands/output/color_profile: allows use of relative path for ICC profile Ferdinand Bachmann (2): man: document supported modifier names input: add Super as alternative for Mod4 Furkan Sahin (2): swaybar: Fix 100% cpu usage if dbus dies. input/mouse: bugfix button2 being interpreted as trying to move the container James Knight (1): build: avoid git repository discovery when determining version Jan Palus (1): trigger container update after disabling urgent in timer JingMatrix (1): Add null-safety check for virtual keyboard keymaps Joan Bruguera Micó (1): layer-shell: Restore interactive layer focus code Jon Wallace (2): Use heading markdown to demarcate sections of commands Its a little tought to notice that the COMMANDS section is actually 3 sections. Use markdown to make this easier to see for the user. use subheadings instead Kenny Levinsen (47): config/output: Split apply_output_config config/output: Introduce apply_output_configs output/config: Add apply_all_output_configs Use apply_all_output_configs to light up outputs desktop/output: Use apply_output_configs for output mgmt config/output: Remove apply_output_config output/config: Remove reset_outputs and co. config/output: Make merge_output_config static output/config: Remove unused test_output_config commands/output/toggle: Use free_output_config config/output: Refactor handling of tiered configs server: Use wlr_renderer_get_texture_formats desktop/output: Fix check if config should be stored config/output: Use all outputs for config merge config/output: Search for output config fallbacks config/output: Print output state during tests config/output: Skip VRR tests when not supported desktop/output: Debounce modesets common/pango: Disable glyph position rounding desktop/output: Stop repaint loop when not needed config/output: Do not set adaptive_sync if not supported config/output: Skip search if config has a mode desktop/transaction: Deactivate workspace on inactive outputs config/output: Add support for 6-bit render fmt config/output: Stringify render format when logging it desktop/output: Do not use commit listener to arrange tree/output: Rely on modeset arranging root (desktop|tree)/output: Do not use layout listener to arrange desktop/output: Avoid duplicate output manager update tree/output: Avoid duplicate input mapping configure tree/arrange: Remove redundant output geometry update tree/arrange; Skip arranging disabled outputs config/output: Support multiple matches in find_output_config config/output: Always start with default in find_output_config config/output: Accept a list of output_configs to use config/output: Rename to apply_stored_output_configs ext-session-lock: Do not use commit listener to arrange commands/gaps: Check config->reading instead desktop/output: Expose request_modeset config: Batch input/output configuration on load desktop/output: Clear modeset timer on output manager apply Re-init renderer for all outputs on lost context config/output: Improve modeset state logging config/output: Always set output states from config config/output: Always set all output fields on finalize config/output: Remove initial values in find_output_config config/output: Remove remaining logs from queue_output_config Kirill Primak (10): xdg-shell: chase events update layer-shell: don't try to unmap on destroy layer-shell: wait for an initial commit before configuring layer-shell: don't configure uninitialized surfaces Chase wlroots!4003 Chase wlroots!4443 view: drop ext_foreign_destroy protocols: use tablet-v2 xml from stable/ tearing: remove trailing whitespace tearing: fix UAF on destroy Luofan Chen (1): input: Rename WLR_INPUT_DEVICE_TABLET_TOOL to WLR_INPUT_DEVICE_TABLET Manuel Stoeckl (5): common: Drop unused render_background_image common: rename load_background_image to load_image common: move load_image to swaybar desktop/layer_shell: provide fractional scale on creation sway/commands/output: Add command to set color profile Merlin Lex (1): ext-foreign-toplevel-list: Implement protocol Norbert Bolanowski (1): move title_format to container Olivia Taliesin (1): Removed destination-is-ancestor check from container_move_to_container to match i3 behaviour Ricardo Steijn (1): Add support for tearing-control-v1 Ronan Pigott (4): launcher: track the seat in the launcher ctx commands/move: do not force focus on the moved container view: send scale notification when the output is known xdg-activation: launcher tokens are activation requests Scott Dubinsky (1): Remove unguarded double include Sergei Trofimovich (1): sway/config.c: use `memcpy()` for known buffer size ShootingStarDragons (1): fix: sway crashes if switch to another workspace with surface when IME popup is shown Simon Ser (66): Add wlr/util/transform.h includes Pass wl_display to wlr_output_layout desktop/xwayland: correctly handle association on o-r change Drop fglrx detection Detect Nvidia proprietary driver via drmGetVersion() Detect proprietary DisplayLink drivers input/seat: drop exclusive_client input/{keyboard,switch}: rename input_inhibited variable to locked input/seat: inline seat_set_exclusive_client() with NULL client input/seat: rename seat_set_exclusive_client() input/seat: simplify seat_is_input_allowed() Check wlr_pointer_constraint_v1_state.cursor_hint.enabled input: reconfigure send_events on output hotplug readme: add swaybg as optional dep Drop wl_drm Mark DRM lease protocol privileged Clarify gdk-pixbuf dependency purpose Add debug flag to re-enable wl_drm build: bump version to 1.10-dev Drop old security config remnants commands/primary_selection: drop duplicate bool parsing commands: note how xwayland/primary_selection are reset on reload commands: make primary_selection a config-only command config: use format_str() instead of hand-rolled snprintf() Fix build with wlroots DRM backend disabled Drop unnecessary includes from sway/server.h input/text_input: fix dangling listeners Define _POSIX_C_SOURCE globally Add release script Convert to new pointer enums config: error out on keysym translation XKB state failure config: add fallback without env vars for keysym translation XKB keymap Fetch input device vendor/product from libinput xdg-shell: implement popup repositioning xdg-shell: send WM capabilities config/output: drop enabling flag server: fix wlr_seat use-after-free on exit Re-create renderer when lost man: drop fractional scale warning man: document that the scale might be adjusted input: pass wlr_seat_client to wlr_seat_touch_notify_cancel() config/output: fix NULL derefs in store_output_config() config/output: drop fast path in store_output_config() tree/container: ensure pixman rect is valid in container_arrange_title_bar() build: disable wayland-protocols subproject tests by default build: drop xwayland option server: hide xdg_output from unprivileged clients input/text_input: ensure keyboard is set before sending modifiers Drop server.h include from input/input-manager.h Set color transform when calling wlr_scene_output_build_state() tree/view: set default min size to 1×1 tree/view: ensure content_{width,height} is positive desktop/output: unify page-flip codepath tree/container: drop decl for container_update_textures_recursive() sway_text_node: avoid unnecessary redraws ci: pin wlroots to v0.18.x desktop/xwayland: don't restack when marking window as inactive Bind a few utilities to special keys in default config Switch default config to wmenu-run Add support for alpha-modifier-v1 build: bump version to 1.10-rc1 release: push tags before creating GitHub release build: bump version to 1.10-rc2 build: bump version to 1.10-rc3 build: bump version to 1.10-rc4 build: bump version to v1.10 Steffen Dirkwinkel (1): config/output: support DRM_FORMAT_ARGB8888 Tamino Bauknecht (2): sway: raise error on non-accessible background file sway/output: Improve logging of swaybg execvp failure and more checks Tarcísio Eduardo Moreira Crocomo (2): Implement clickfinger_button_map support. build: bump libinput version required Violet Purcell (2): sway/config.c: only reset primary_selection at launch Update for versioned wlroots files apreiml (1): Update README.de.md to match the EN one bretello (2): fix crash when setting urgency on an hidden scratchpad container prevent workspace_find_container from crashing with NULL workspaces llyyr (13): meson: bump wlroots version after 0.17.0 release Chase wlroots!4440 input/text_input: parent wlr_box may be uninitialized text_input: don't destroy scene_node twice ipc: add `floating` property to GET_TREE ipc: add `scratchpad_state` property to GET_TREE input/keyboard: don't send key release if we don't have focused surface input/seat: don't send redundant leave/enter on device creation input/keyboard: refactor into sway_keyboard_set_layout input/keyboard: don't set layout for virtual keyboard device xdg_shell: don't send configure events to uninitialized surfaces sway/tree/container: don't trunc coords in `floating_fix_coordinates` sway/input/keyboard: always set active keyboard if there is none mrusme (1): Update sway.5.scd novenary (2): transaction: fix missing top border with hide_lone_tab ipc: properly check for titlebars thal (1): tree/view: Do not clip to geometry if using CSD ``` </details>

1.10-rc4预发布
? · 2024-10-20
1.10-rc3预发布
? · 2024-10-13