github swaywm/sway 1.8-rc1

latest releases: 1.9, 1.9-rc4, 1.9-rc3...
pre-release17 months ago

Sway 1.8-rc1 contains 175 changes from 67 contributors.

This pre-release depends on wlroots 0.16.0. See the wlroots release notes.

New features

  • A new bindgesture command can be used to bind actions to touchpad gestures
  • More robust and secure screen lockers via the new ext-session-lock-v1 protocol (supported by swaylock)
  • A new output unplug command has been added to remove virtual outputs
  • libinput's new "disable while trackpointing" setting and high-resolution scroll wheel events are now supported
  • xdg-activation-v1 is now used for more reliable workspace matching when launching new clients
  • Various improvements for the Vulkan renderer

Changes

Full changelog
-k (2):
      Add descriptions for `stacking` and `tabbed` layouts
      man: Fix trailing spaces

Alan (1):
      Update grimshot.1.scd

Aleksei Bavshin (1):
      xdg-shell: use toplevel geometry to adjust the popup box

Alex Maese (3):
      sway: Add non-desktop-output type
      sway: add non-desktop outputs to json when running `swaymsg -t get_outputs`
      swaymsg: show non-desktop property when pretty printing outputs

Alexander Browne (1):
      Minor update to focus_on_window_activation

Alexander Gramiak (1):
      sway/input: don't pass possibly invalid modifiers pointer

Alexander Orzechowski (2):
      container_floating_set_default_size: Store workspace size box on the stack
      workspace_create: Don't allow NULL name

Alice Carroll (1):
      Support cursor capture in grimshot

Andri Yngvason (1):
      sway/commands/output: Add command for unplugging non-physical outputs

Baltazár Radics (3):
      ipc: make get_deco_rect check config->hide_lone_tab
      man: sway(5) move fixes
      container_get_siblings: handle NULL workspace

Bill Li (1):
      Updating criteria checking with PCRE2

Callum Andrew (1):
      criteria: allow matching for NULL string criteria

Daniel De Graaf (7):
      Avoid format-truncation warning
      Shuffle variables to satisfy -Werror=restrict
      Implement ext-session-lock-v1
      Avoid inspecting a NULL view in seat_set_focus
      ext-session-lock: disable direct scan-out when locked
      Rework session lock keyboard focus handling
      Fix focus tracking when session lock is active

David Rosca (1):
      container: Fix crash when view unmaps + maps quickly

David96 (1):
      commands/move: Fix crash when pos_y is omitted

Eskil (1):
      Add Swedish README

Ferdinand Schober (4):
      allow pointer_constraints on layer_shell surfaces
      check for NULL
      use seat directly
      Use keyboard_state.focused_surface directly

Filip Szczepański (1):
      Fix crash in xdg_activation_v1.c

Florian Franzen (1):
      sway: add bindgesture command

Greg Depoire--Ferrer (1):
      swaynag: move close_button up to fix SIGSEGV

Hongyi (1):
      Polish the language in README.zh-CN.md & sync with English one

Hugo Osvaldo Barrera (3):
      Avoid unecessary string copy
      Reject font values that are invalid for pango
      Reuse parsed PangoFontDescription

Joan Bruguera (2):
      swaybar: Prioritize hotspot events to bar bindings
      swaybar: Make hotspots block bar release bindings

Kenny Levinsen (3):
      meson: check: false on run_command
      Print deprecation notice when running SUID
      Refuse to start when SUID is detected

Kirill Chibisov (1):
      build: fix building with basu

Kirill Primak (9):
      swaynag: remove buffer destruction condition
      chore: chase wlr_output_layout_get_box() update
      Chase wlroots xdg-shell refactor
      chore: chase wlroots xdg-shell update
      xdg-shell: schedule a configure on maximize request
      input: chase delta_discrete semantics change
      ci: install hwdata
      Use wlr_damage_ring
      output: set damage ring bounds to pixel values

Leonardo Hernández Hernández (2):
      sway/input: fix bad position of wlr_drag
      sway/input: wlr_seat_keyboard() now takes wlr_keyboard

LordRishav (1):
      Add a Hindi (हिन्दी) translation to the README

Manuel Stoeckl (2):
      sway/main: move constants off the stack
      Use shm_open instead of mkstemp

Marco Rubin (1):
      Translated README into Italian

Martin Michlmayr (1):
      sway-output.5: improve display of parameter

Michael Weiser (1):
      config: Remove unused mouse binding structure

Moon Sungjoon (1):
      sway/input: destroy sway_switch properly

Muhamed Hobi (1):
      Fix snprintf compiler warning

Nathan Schulte (2):
      swaybar: fix tray_padding vs min-height re: scale
      swaybar: fix tray item icon scaling, positioning

Nicolas Avrutin (1):
      commands/focus: fix segfault when no container is already focused.

Nihal Jere (9):
      swaynag: die on all allocation failures
      swaynag: allocate button_details with details
      swaynag: statically allocate button_close, and move declaration
      swaynag: remove unnecessary zero of swaynag struct
      swaynag: remove redundant status variables in main
      remove unnecessary strlen call
      swaynag: do error checking and rename read_from_stdin
      swaynag: improve robustness when loading config
      swaynag: combine consecutive declaration/assignments

Oğuz Ersen (1):
      bash-completion: localize variables

Patrick Hilhorst (1):
      treat fullscreen windows as 'tiled' for commands/focus

Puck Meerburg (2):
      tree: support formatting null titles
      criteria: allow matching on empty (NULL) titles

Ronan Pigott (11):
      cmd/swap: error on swapping a container with itself
      root: move the workspace matching code to its own file
      node: prettify node type names
      launcher: track workspaces by node
      launcher: use xdga tokens
      launcher: rename pid_workspace to launcher_ctx
      view: associate launch contexts with views
      launcher: initialize launcher_ctxs once on startup
      launcher: fudge the interface a bit
      launcher: export xdga tokens and use them for workspace matching
      launcher: export X startup ids and use them for workspace matching

Rouven Czerwinski (3):
      transaction: destroying nodes aren't hidden
      server: request xdg-shell v2
      realtime: request SCHED_RR using CAP_SYS_NICE

Sefa Eyeoglu (1):
      build: bump wlroots dependency to 0.16.0

Seth Barberee (1):
      [IPC] Add repeat delay/rate info to keyboard

Simon Ser (48):
      swaymsg: replace if with switch in pretty_print
      swaymsg: add GET_TREE pretty-printing
      swaybar: fix errno handling in status_handle_readable
      Add cairo_image_surface_create error handling
      build: bump version to 1.8-dev
      Destroy sub-surfaces with parent layer-shell surface
      Add safety assert in parse_movement_unit
      Upgrade for wlroots surface refactoring
      commands/focus: drop trailing whitespace
      build: execute wlroots subproject before finding deps
      Use bools for CLI flags
      readme: add link to Italian translation
      readme: sort language list alphabetically
      readme: use relative links for translations
      xdg-shell: use wlr_xdg_toplevel in sway_view
      xdg-shell: use wlr_xdg_popup in sway_xdg_popup
      Remove all sprintf calls
      Remove WLR_SWITCH_STATE_TOGGLE usage
      swaybar: remove swaybar_output.input_region
      swaybar: set opaque region
      Replace strncpy with memcpy
      De-duplicate IPC output descriptions
      Handle NULL output make/model/serial
      build: link with -pthread
      ipc: remove chatty debug log messages
      config/output: use wlr_output_commit_state
      Remove access to wlr_input_device union
      Rename dpms output command to power
      ipc: add "power" to output reply
      config.in: switch to `output power`
      Remove internal references to DPMS
      Enable single-pixel-buffer-v1
      ipc: drop WLR_OUTPUT_ADAPTIVE_SYNC_UNKNOWN case
      config/output: test adaptive sync
      ipc: expose mode picture aspect ratio
      swaymsg: show mode picture aspect ratio
      build: simplify protocol paths
      Fix leaks in criteria_destroy()
      Add support for ext-idle-notify-v1
      Use wl_signal_emit_mutable()
      lock: fix crash on output destroy
      ci: checkout wlroots 0.16.0
      build: drop wayland-scanner fallback
      build: unify server & client protocol generation
      build: drop "server" from target name for protocol code
      build: drop intermediate libraries for protocols
      build: drop unused wayland-egl dependency
      build: bump version to 1.8-rc1

Simon Zeni (5):
      sway/commands: add missing wlr_keyboard interface include in xkb_switch_layout
      sway/input: use wlr_input_device from input device base
      sway/input/cursor: take device mm size from wlr_tablet
      sway/input/seat: take output name from specialized input device
      sway/input: follow up wlroots input device events renaming

Thomas Hebb (4):
      input/seat: unset has_focus when focus_stack becomes empty
      Remove some erroneous apostrophes in comments
      Don't enter seatop_move_floating when fullscreen
      layer_shell: keep output non-NULL wherever possible

Thomas Jost (1):
      Strip quotes in bindsym --input-device=...

Tobias Bengfort (1):
      tray: do not render passive items

Tudor Brindus (6):
      input/cursor: count pointer gestures as idle activity
      input/cursor: treat swipe begin as idle activity too
      input/cursor: pass through pointer hold gestures
      input: focus floating container when clicked on border
      input: focus container when scrolling on titlebar
      input: tweak focus behavior to allow focusing parent containers

Tuomas Yrjölä (1):
      xwayland: listen to `request_activate` event

Victor Makarov (1):
      xkb_switch_layout: fix relative layout switches

Yaroslav de la Peña Smirnov (1):
      Fix keymap being NULL and segfaulting on dev add

Yasin Silavi (1):
      Fix farsi label

cparm (1):
      Avoid double free in criteria_destroy()

kraftwerk28 (2):
      Chase wlroots X11 hints update
      Allocate enough space for `cmd_results->error`

llyyr (2):
      swaymsg: fix floating_nodes being ignored
      grimshot: fix tilde expansion within quotes

ndren (1):
      Replace pcre with pcre2

ohno418 (1):
      Improve Japanese translation

pudiva chip líquida (1):
      Support libinput's 1.21 new dwtp option

zkldi (1):
      fix: remove redundant empty statement in main.c

マリウス (1):
      man: Add XWayland information

Don't miss a new sway release

NewReleases is sending notifications on new releases.