github swaywm/sway 1.12-rc1

pre-release8 hours ago

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-primaries to output color_profile to 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-gpu CLI flag or via the SWAY_UNSUPPORTED_GPU environment variable. Sway's policy hasn't changed: only the consequences when starting Sway have.
  • Display managers are now officially supported for Sway startup.
  • The srgb output color profile now applies the piece-wise sRGB transfer function rather than gamma 2.2. Use gamma22 for 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

Don't miss a new sway release

NewReleases is sending notifications on new releases.