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