Releases: swaywm/sway
Releases · swaywm/sway
1.12-rc3
sway 1.12-rc3
Furkan Sahin (3):
input/seat: end keyboard grab when clearing focus
input/seat: fix drag-and-drop regression and improve popup dismissal
tree/workspace: fix crash on dragging container to workspace edge
Hugo Osvaldo Barrera (2):
Treat ext-workspace-v1 as privileged
Ignore failures creating linux-drm-syncobj
Simon Ser (1):
build: bump version to 1.12-rc3
llyyr (1):
sway/desktop/transaction: skip freeing dirty nodes
someever (1):
Fix typos in sway-ipc.7.scd
1.12-rc2
1.12-rc1
Sway 1.12-rc1 contains 119 changes from 46 contributors.
This release depends on wlroots 0.20.0. See the wlroots release notes.
New features
- Add support for capturing individual windows.
- Add support for HDR10 when running with the Vulkan renderer.
- Add support for new protocols: color-management-v1, color-representation-v1, xdg-toplevel-tag-v1, ext-workspace-v1, wl_fixes.
- Add a new
--device-primariestooutput color_profileto use color primaries advertised in EDID. - Add support for keypad slide switches.
Changes
- The default configuration file now ships key bindings for
playerctl. - Sway no longer refuses to start on unsupported GPUs (e.g. NVIDIA proprietary drivers). Instead, it displays an informational message. The message can be disabled via the
--unsupported-gpuCLI flag or via theSWAY_UNSUPPORTED_GPUenvironment variable. Sway's policy hasn't changed: only the consequences when starting Sway have. - Display managers are now officially supported for Sway startup.
- The
srgboutput color profile now applies the piece-wise sRGB transfer function rather than gamma 2.2. Usegamma22for gamma 2.2. The effective default remains unchanged (gamma 2.2).
Full changelog
Alexander Orzechowski (1):
Chase wlroots!3879
André Marçais (1):
Fix logical error in criteria matching
Attila Fidan (2):
text_input: Ignore enable requests from unfocused windows
text_input: Don't relay IM state from unfocused windows
Bill Li (2):
input/text_input: chase wlroots update
input/text_input: chase wlroots update
Bonsaiiv (1):
Improve example of input section in default config
Callum Andrew (1):
config.in: bind XF86Audio* keycodes to playerctl
Calvin Lee (2):
sway: change unsupported GPU message to swaynag
sway: add details to unsupported gpu nag
Damino (1):
tree/view: check for null workspace output
Felix Pehla (1):
README: update German translation
Fenveireth (1):
tree/view: save new wlr_scene_buffer fields
Furkan Sahin (2):
input/seatop_down: Update decorations for touchscreen inputs
bar_cmd_colors: fix crash on incorrect usage
Félix Poisot (5):
sway/config: apply output CT before initial commit
sway/commands/output: color_profile "srgb" applies the piece-wise TF
sway/commands/output: add color_profile "--device-primaries"
sway/config/output: fix hdr+color_profile conflict detection
common/pango: get_text_size out pointers may be NULL
GreyXor (1):
build: bump wlroots version
Hugo Osvaldo Barrera (3):
Make workspace_move_to_output reusable
ext-workspace-v1: initial implementation
Centre fullscreen surfaces smaller than output
Joaquim Monteiro (1):
Add wl_fixes interface
Kenny Levinsen (15):
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
Remove the temporary SUID warning
sway/tree: Simplify sway_node teardown
tree/container: Remove child from all lists
Revert "tree/container: Remove child from all lists"
Revert "sway/tree: Simplify sway_node teardown"
tree/node: Do not mark destroying nodes as dirty
config/output: Only error when enabling HDR
linux-dmabuf-v1: Bump to version 5
cursor-shape-v1: Bump to version 2
layer-shell-v1: Bump to version 5
protocols: Bump vendored wlr-protocols
Kirill Chibisov (2):
readme: sync Russian translation
readme: sync Japanese translation
Konstantin Pospelov (1):
swaybar: deduplicate mode and workspace rendering code
Lars-Ragnar A. Haugen (1):
layer-shell: handle popup reposition for unconstraining
Louis POIROT--HATTERMANN (1):
commands/scratchpad: don't hide scratchpad if no pending workspace
Martin Dørum (2):
update danish readme to reflect that display managers are supported
Update Norwegian README to make it more in line with the English one, as well as improving grammar
Milad Alizadeh (2):
tree/workspace: fix output priority in workspace assignment
simplify output priority check
Nikola Kocic (1):
xdg-shell: fix reported WM capabilities
Nuran Askarov (2):
Add README.az.md
Add link to README.az.md
Ole (1):
sway-ipc(7): Clarify that the reply shown is an example
Oto Šťáva (1):
readme: Update and reword Czech translation
Pavel 'LEdoian' Turinsky (1):
Fix includes with relative paths
Przemysław Gasiński (1):
readme: Update Polish translation regarding the support of display managers
Rex Fernando (1):
sway/input/cursor: fix crash on first stylus tap after reboot via null check
Simon Ser (30):
input: fix udev_device leak
Log message on for_window command error
Remove trailing spaces
build: bump version to 1.12-dev
build: set wrap_mode=nodownload in default options
Stop using wlr_scene_buffer_send_frame_done()
Add support for toplevel capture
tree/view: send event unconditionally in view_send_frame_done()
Drop sway_output.events.disable
ipc-json, swaymsg: indicate when adaptive sync is unsupported
Add support for HDR10 output
Add support for color-management-v1
Add features.hdr to output IPC response
Wire up xdg-toplevel-tag-v1
Add xdg_toplevel tag to IPC
Add xdg_toplevel tag to criteria
Revert drag_lock default to disabled
Stop generating wayland-protocols server headers
readme: mark display managers as supported
input/text_input: stop using listener data
Use helpers to get supported TFs/primaries
desktop/xdg_shell: skip configure in request_maximize handler if unmapped
Use goto-based error handling in view_init()
Disable Xwayland restacking for toplevel capture scenes
Add support for keypad slide switches
common/pango: ensure we return zero on get_text_size() error
common/pango: log on get_text_size()/render_text() format failure
common/pango: add error handling to get_text_size()/render_text()
ci: pin wlroots to 0.20.x
build: bump version to 1.12-rc1
Stephane Fontaine (1):
call disable container in arrange_root
Tim Hallmann (1):
commands/resize: make resize consider all siblings
Tomasz Buczyński (1):
Add cursor->hidden check to handle_rebase
Willow Barraco (1):
Skip checking if criteria is matching the view when not mapped
YaoBing Xiao (1):
server: fix socket path memory leak
aceydot (1):
Add Serbian README
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
bonsaiiV (2):
sway/commands/layout: flatten parent once
sway/commands/layout: fix flatten parent once
g-rden (1):
swaynag/main: free config_path
hwsmm (2):
Rename get_current_time_msec to get_current_time_in_msec and move to util.c
seatop_default: Call seatop_rebase with proper timestamp
johnpyp (1):
commit dirty transactions upon window attribute changes
llyyr (10):
sway/server: set color_manager for root scene
sway/input/cursor: send frame event when simulating pointer from tablet
sway/server: advertise gamma2.2 and bt1886 transfer functions
sway/server: advertise wlr_color_representation_manager_v1
tiling_resize: fix use-after-free on view unmap during resize
sway/input/seat: chase wlroots breaking change
sway: advertise color_manager_v1 version 2
sway_text_node: fix cairo_create without a backing surface
common/pango: use pangocairo directly instead of cairo_create(NULL)
sway_text_node: properly check cairo_t status in text_calc_size
nortio (1):
Update README.it.md for Italian
nyxed (1):
build: switch to explicit 'meson setup' syntax
odyxz (1):
raise scratchpad container
rewine (1):
Drop org_kde_kwin_idle files
1.11
Sway 1.11 contains 189 changes from 53 contributors.
This release depends on wlroots 0.19.0. See the wlroots release notes.
New features
- All of the enhancements from wlroots 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
- The
sway.desktopfile now setsDesktopNames(XDG_CURRENT_DESKTOPwill be set by login managers)
Full changelog
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):
f...
1.11-rc4
sway 1.11-rc4
Bonsaiiv (1):
Improve example of input section in default config
Kenny Levinsen (2):
output: Minimize interaction with output after destroy
tree/workspace: Remove exclude arg from get_highest_available
Simon Ser (4):
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
alex-huff (4):
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
1.11-rc3
sway 1.11-rc3
Furkan Sahin (1):
input/seatop_down: Update decorations for touchscreen inputs
Kenny Levinsen (2):
config/output: Use INT_MAX as x/y unset value
config/output: Fix missing output config supersedes
Pavel 'LEdoian' Turinsky (1):
Fix includes with relative paths
Simon Ser (1):
build: bump version to 1.11-rc3
alex-huff (3):
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
odyxz (1):
raise scratchpad container
1.11-rc2
1.11-rc1
Sway 1.11-rc1 contains 163 changes from 48 contributors.
This release depends on wlroots 0.19.0-rc1. See the wlroots release notes.
New features
- All of the enhancements from wlroots 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
- The
sway.desktopfile now setsDesktopNames(XDG_CURRENT_DESKTOPwill be set by login managers)
Full changelog
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
re...
1.10.1
sway 1.10.1
Alexander Orzechowski (2):
container: Properly constrain title bar padding
swaybar: Handle opaque region properly
György Kurucz (1):
input/libinput: fix builtin device detection logic
Hong Xu (1):
Explain that the title bar always shows
Joan Bruguera Micó (1):
swaybar: Emit property changes for SNI watcher
Kenny Levinsen (8):
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
Manuel Stoeckl (1):
swaynag: fix null dereference on scale change
Simon Ser (4):
release.sh: read meson-rewrite output from stdout
ipc-json: handle LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY
config/output: don't hardcode DMA-BUF in search_render_format()
build: bump version to 1.10.1
llyyr (2):
layer_shell: cleanup new_popup listener when destroying node
config/output: don't leak background_fallback
mtvare6 (2):
desktop/transaction: clamp vertical border length to 0
config/output: skip format checks if all are supported
1.10
Sway 1.10 contains 237 changes from 44 contributors.
This release depends on wlroots 0.18.0. See the wlroots release notes.
New features
- All of the enhancements from wlroots 0.18.
- 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_MODIFIERSshouldn'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_runis no longer a dependency of the default config file.- The default config file now contains keybindings with
pactlfor volume adjustment,brightnessctlfor brightness adjustment andgrimfor screenshots. - The legacy
wl_drmprotocol 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
xwaylandbuilt-time option has been removed: Xwayland support is now enabled at build-time if it was enabled for wlroots.
Full changelog
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...