Skip to content

Releases: swaywm/sway

sway 1.8.1

12 Feb 17:58
1.8.1
Compare
Choose a tag to compare
Alexander Courtis (1):
      Apply new adaptive sync value from wlr-output-management

Alexander Orzechowski (1):
      warp_to_constraint_cursor_hint: Handle NULL view

Carl Smedstad (1):
      Use correct length for strncmp comparison

Kate (1):
      Allow setting the font size to 0

Kirill Primak (1):
      input/tablet: handle focusing NULL surface

Simon Ser (4):
      man: fix typo in output disable docs
      Send wl_surface.enter for ext-session-lock surfaces
      Fix pointer events for ext-session-lock surfaces
      build: bump version to 1.8.1

Tobias Bengfort (1):
      focus_on_window_activation: raise if floating

Łukasz Adamczak (2):
      Correct window_rect.y with hide_edge_borders
      Clarify documentation for window_rect

1.8

25 Dec 16:10
1.8
Compare
Choose a tag to compare
1.8

Sway 1.8 contains 186 changes from 69 contributors.

This 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 from wlroots' 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

Ankit Pandey (1):
      commands/move: Warp cursor after moving workspace to another output

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 (5):
      meson: check: false on run_command
      Print deprecation notice when running SUID
      Refuse to start when SUID is detected
      seat: Avoid sending redundant keymaps on reload
      seat: Set keyboard if seat keyboard is NULL

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 (12):
      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
      criteria: be lenient on window_role and instance too

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 (54):
      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
      build: fix have_xwayland when xcb-icccm is not found
      build: bump version to 1.8-rc2
      build: bump version to 1.8-rc3
      build: bump version to 1.8-rc4
      swaynag: fix NULL font description
      build: bump version to 1.8

Simon Zeni (5):
      sway/commands: add missing wlr_keyboard interface include in xkb_switch_layout
      sway/input:...
Read more

sway 1.8-rc4

19 Dec 09:41
1.8-rc4
Compare
Choose a tag to compare
sway 1.8-rc4 Pre-release
Pre-release
Ankit Pandey (1):
      commands/move: Warp cursor after moving workspace to another output

Kenny Levinsen (1):
      seat: Set keyboard if seat keyboard is NULL

Simon Ser (1):
      build: bump version to 1.8-rc4

sway 1.8-rc3

12 Dec 10:32
1.8-rc3
Compare
Choose a tag to compare
sway 1.8-rc3 Pre-release
Pre-release
Kenny Levinsen (1):
      seat: Avoid sending redundant keymaps on reload

Ronan Pigott (1):
      criteria: be lenient on window_role and instance too

Simon Ser (1):
      build: bump version to 1.8-rc3

sway 1.8-rc2

03 Dec 17:05
1.8-rc2
Compare
Choose a tag to compare
sway 1.8-rc2 Pre-release
Pre-release
Simon Ser (2):
      build: fix have_xwayland when xcb-icccm is not found
      build: bump version to 1.8-rc2

nerdopolis (1):
      Fix build on Debian Stable

1.8-rc1

26 Nov 22:38
1.8-rc1
Compare
Choose a tag to compare
1.8-rc1 Pre-release
Pre-release

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 Jo...
Read more

sway 1.7

22 Jan 23:03
1.7
Compare
Choose a tag to compare

Sway 1.7 contains 211 changes from 77 contributors.

This release depends on wlroots 0.15.0. Also see the wlroots release notes: https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.15.0.

New features

  • Add output render_bit_depth command to enable high-bit depth composition.
  • Tabs can now be dragged with the mouse.
  • Zero-copy direct scanout for fullscreen windows should work more reliably thanks to linux-dmabuf surface feedback.
  • Add support for virtual reality headsets via DRM leasing.
  • Wayland-native urgency has been implemented via the xdg-activation-v1 extension.
  • Add output dpms toggle command to easily toggle screen blanking from scripts.
  • Add gaps <type> <scope> toggle <px>, smart_gaps inverse_outer and split none commands.
  • Add output modeline command to set a full custom DRM mode when custom modes don't work out-of-the-box.
  • Add client.focused_tab_title color option.

Changes

  • --my-next-gpu-wont-be-nvidia has been removed, use --unsupported-gpu instead. The Nvidia proprietary driver remains unsupported. See b48cb6b for details.
  • The terminal emulator in the default config file has been changed to foot.
  • swaybar and swaynag can now be disabled at build-time.
  • Titlebars now have a fixed height, they no longer resize depending on characters used in the title.
Full changelog
Aleksei Bavshin (2):
      ipc: make `bar <bar_id> mode|hidden_state` behave as documented
      xdg-shell: use toplevel geometry to adjust the popup box

Alexander Orzechowski (1):
      view: Fix null dereference

Aljaz Gantar (2):
      fix type error when class_name none
      refactor icon_for_window function

Bart Pelle (1):
      docs: fix invalid release signing keys

Bartel Sielski (1):
      idle_inhibit: Fix tree view after changes in commit 152a559e

Bartłomiej Burdukiewicz (1):
      main: removed vc4 detection code.

Bill Doyle (1):
      Only defer seat attachment during initial startup

Birger Schacht (1):
      Fix a couple of typos

Caduser2020 (1):
      Simplify swaybar/swaynag scaling code

Christian Llupo (1):
      README: Added Greek translation

Cole Mickens (1):
      meson.build: require wayland-protocols 1.24

Daniel De Graaf (1):
      Fix overly-wide mark textures

Daniel Eklöf (2):
      sway: commands: exec: restore SIGPIPE before exec:ing
      sway: restore SIGPIPE handler before exec:ing swaybar

Daniel Otero (1):
      config: Fix swaybar pango_markup inconsistency

David Rosca (4):
      seatop_down: Change type of sx, sy to double in begin_seatop_down
      Add `output modeline` command
      xwayland: Clear wlr_xwayland_surface in handle_destroy
      container: Fix crash when view unmaps + maps quickly

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

Dominique Martinet (1):
      view_destroy: fix use-after-free with subsurface_destroy

Drew DeVault (1):
      config.in: change terminal emulator to foot

Dudemanguy (2):
      container: ignore borders in fullscreen windows
      xdg-decoration: let floating clients set borders

Dylan Araps (1):
      Add meson options to enable/disable swaybar and swaynag

Elyes HAOUAS (2):
      desktop/layer_shell.c: Fix misspelled "exclusive"
      sway-input.5.scd: Fix spelling errors

Elyesa (1):
      Add Turkish README

Eric Engestrom (2):
      cmd_bind_or_unbind_switch: fix copy/paste typo error message
      sway: allow IPCs on proprietary drivers

Erik Reider (1):
      Added scroll_factor input variable to ipc output

Evgeniy Khramtsov (1):
      commands: Remove unused code after 1d3681f52135

Hugo Osvaldo Barrera (5):
      grimshot: Exit 1 on cancellation
      Use fixed titlebar heights
      Deduplicate code for rendering titlebar texts
      Avoid unecessary font metric calculations
      Drop hardcoded font metric values

Issam E. Maghni (1):
      cairo: Replace <cairo/cairo.h> by <cairo.h>

István Donkó (1):
      Add Hungarian translation for the README

Ivan Fedotov (1):
      Add toggle logic inside DPMS handler

Jack Byrne (1):
      Change 'Danish' to 'Dansk' in README

James Edwards-Jones (1):
      swaynag: adds option to set wayland shell layer

Jari Ronkainen (1):
      Improve built-in touchscreen detection

Jason Nader (4):
      swaymsg: use INT_MAX max JSON depth when parsing IPC response
      swaymsg: be explicit about the json parser error
      swaymsg: fix misplaced return value
      refactor: use JSON_MAX_DEPTH everywhere

Jonas Große Sundrup (3):
      clarify the type of raw output
      change incorrectly documented output types
      cross-reference further documentation

Kenny Levinsen (9):
      ci: Install libseat
      meson: libseat is no longer optional
      Remove usage of surface->sx|sy
      desktop/render: Pass explicit clip box to render
      input: Move get_current_time_msec in from util
      ci: Test wlroots static linking
      readme: Align Danish translation with main README
      meson: check: false on run_command
      Print deprecation notice when running SUID

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

Kirill Primak (12):
      view: fix saved buffer order
      surface: chase wlr subsurface list/link change
      render: fix -Ddamage=rerender
      view: fix child position calc
      xdg-shell: chase wlr xdg toplevel refactor
      Revert "xdg_shell: schedule configure on maximize requests"
      xdg-shell: remove unused request_maximize listener
      layer-shell: chase wlr layer surface refactor
      layer-shell: check `committed` bitmask
      layer-shell: fix commit handler
      container: fix surface_is_popup()
      output: remove surface buffer damage check

Ludvig Michaelsson (1):
      swaybar: signal status command's process group

M.Zeinali (1):
      readme: use right-to-left marks in ir translation

Manuel Stoeckl (3):
      commands/exec: stop truncating >4095-byte commands
      Update URL to wlroots project (GitHub->GitLab)
      Add 'output render_bit_depth [8|10]' command

Michael Weiser (1):
      Prevent use-after-free on first bar subcommand error

Nathan Schulte (5):
      swaybar: properly draw urgent block right border
      swaybar: properly draw blocks with transparent black border
      swaybar: fix cairo_font_options leak
      swaybar: fix tray_padding vs min-height re: scale
      swaybar: fix tray item icon scaling, positioning

Nihal Jere (2):
      config.in: use portable hour specifier
      config.in: use swaynag -B instead of -b

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

Ragnar Groot Koerkamp (5):
      Fix #6299 Disable auto_back_and_forth for next_on_output
      Move auto_back_and_forth logic out of workspace_switch
      Only call workspace_auto_back_and_forth when needed
      Revert "Add workspace {prev,next}_on_output --create"
      Update clang format to better match existing code

Rahiel Kasim (1):
      fix typo in sway-output.5.scd

Rasmus Moorats (1):
      fix cursor input for layer-shell surfaces

RoastVeg (1):
      Handle border width and height on minimum floating sizes

Ronan Pigott (13):
      output: damage whole output when exiting scanout
      container: retain focus position on floating enable
      cmd_fullscreen: allow fullscreen on fullscreen split containers
      workspace: reap empty parents when adding tiles
      xdg-shell: ignore unecessary fullscreen request ouput hints
      cmd_fullscreen: ignore fullscreen request on workspaces
      view: commit transactions for foreign toplevel requests
      layer_shell: damage previous area when a surface shrinks
      command: implement split none
      commands: update split none command for a047b5ee4
      output: change output::destroy to output::disable
      output: emit node::destroy event
      cmd/swap: error on swapping a container with itself

Rouven Czerwinski (2):
      view: handle case where map_ws is NULL
      transaction: destroying nodes aren't hidden

Sefa Eyeoglu (3):
      fix: handle NULL from json_tokener_new_ex
      fix: use sane value for json_tokener max_depth
      refactor: use sway_abort instead

Simon Plakolb (2):
      input: Use seatop_down on layer surface click
      seatop_down: End if surface is destroyed or other seatop starts

Simon Ser (63):
      ci: add xcb-util-wm dependency for wlroots
      Remove advice about Firefox from issue template
      readme: make it clearer that meson takes a dir as argument
      build: bump version to 1.6
      build: update wlroots dependency version to 0.14.x
      build: stop checking for logind
      desktop/render: remove unused wlr_gles2_texture_attribs
      Remove WLR_HAS_XDG_FOREIGN checks
      Log wlroots version on startup
      Avoid creating zero-sized textures for titlebars
      Use cairo_image_surface_get_stride instead of guessing it
      Avoid creating zero-sized textures for marks
      Use execlp("sh") instead of execl("/bin/sh")
      commands/exec_always: log error on execlp failure
      Remove support for arbitrary rotations
      build: remove sd-bus status item
      readme: switch back to IRC web client
      Implement xdg-activation-v1
      Iterate over subsurfaces below the parent surface
      build: bump wlroots dependency to 0.15.0
      contrib: drop incr_version script
      build: use meson.global_build_root()
      build: use Dependency.get_variable instead of get_pkgconfig_variable
      build: use ExternalProgram.full_path instead of path
      ci: make Meson warnings fatal
      tree/container: fix indentation
      Update wlr_box includes
      Add support for touch frame events
      Fix wl_pointer.fra...
Read more

sway 1.7-rc3

16 Jan 18:43
1.7-rc3
Compare
Choose a tag to compare
sway 1.7-rc3 Pre-release
Pre-release
Aleksei Bavshin (1):
      xdg-shell: use toplevel geometry to adjust the popup box

Kenny Levinsen (2):
      meson: check: false on run_command
      Print deprecation notice when running SUID

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

Simon Ser (3):
      Add safety assert in parse_movement_unit
      ci: checkout wlroots 0.15.0
      build: bump version to 1.7-rc3

sway 1.7-rc2

09 Jan 10:57
1.7-rc2
Compare
Choose a tag to compare
sway 1.7-rc2 Pre-release
Pre-release
David Rosca (1):
      container: Fix crash when view unmaps + maps quickly

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

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

Simon Ser (2):
      Destroy sub-surfaces with parent layer-shell surface
      build: bump version to 1.7-rc2

Thomas Hebb (1):
      input/seat: unset has_focus when focus_stack becomes empty

sway 1.7-rc1

23 Dec 13:56
1.7-rc1
Compare
Choose a tag to compare
sway 1.7-rc1 Pre-release
Pre-release

Sway 1.7-rc1 contains 191 changes from 73 contributors.

This pre-release depends on wlroots 0.15.0. Also see the wlroots release notes: https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.15.0.

New features

  • Add output render_bit_depth command to enable high-bit depth composition.
  • Tabs can now be dragged with the mouse.
  • Zero-copy direct scanout for fullscreen windows should work more reliably thanks to linux-dmabuf surface feedback.
  • Add support for virtual reality headsets via DRM leasing.
  • Wayland-native urgency has been implemented via the xdg-activation-v1 extension.
  • Add output dpms toggle command to easily toggle screen blanking from scripts.
  • Add gaps <type> <scope> toggle <px>, smart_gaps inverse_outer and split none commands.
  • Add output modeline command to set a full custom DRM mode when custom modes don't work out-of-the-box.
  • Add client.focused_tab_title color option.

Changes

  • --my-next-gpu-wont-be-nvidia has been removed, use --unsupported-gpu instead. The Nvidia proprietary driver remains unsupported. See b48cb6b for details.
  • The terminal emulator in the default config file has been changed to foot.
  • swaybar and swaynag can now be disabled at build-time.
  • Titlebars now have a fixed height, they no longer resize depending on characters used in the title.
Full changelog
Aleksei Bavshin (1):
      ipc: make `bar <bar_id> mode|hidden_state` behave as documented

Alexander Orzechowski (1):
      view: Fix null dereference

Aljaz Gantar (2):
      fix type error when class_name none
      refactor icon_for_window function

Bart Pelle (1):
      docs: fix invalid release signing keys

Bartel Sielski (1):
      idle_inhibit: Fix tree view after changes in commit 152a559e

Bartłomiej Burdukiewicz (1):
      main: removed vc4 detection code.

Bill Doyle (1):
      Only defer seat attachment during initial startup

Birger Schacht (1):
      Fix a couple of typos

Caduser2020 (1):
      Simplify swaybar/swaynag scaling code

Christian Llupo (1):
      README: Added Greek translation

Cole Mickens (1):
      meson.build: require wayland-protocols 1.24

Daniel De Graaf (1):
      Fix overly-wide mark textures

Daniel Eklöf (2):
      sway: commands: exec: restore SIGPIPE before exec:ing
      sway: restore SIGPIPE handler before exec:ing swaybar

Daniel Otero (1):
      config: Fix swaybar pango_markup inconsistency

David Rosca (3):
      seatop_down: Change type of sx, sy to double in begin_seatop_down
      Add `output modeline` command
      xwayland: Clear wlr_xwayland_surface in handle_destroy

Dominique Martinet (1):
      view_destroy: fix use-after-free with subsurface_destroy

Drew DeVault (1):
      config.in: change terminal emulator to foot

Dudemanguy (2):
      container: ignore borders in fullscreen windows
      xdg-decoration: let floating clients set borders

Dylan Araps (1):
      Add meson options to enable/disable swaybar and swaynag

Elyes HAOUAS (2):
      desktop/layer_shell.c: Fix misspelled "exclusive"
      sway-input.5.scd: Fix spelling errors

Elyesa (1):
      Add Turkish README

Eric Engestrom (2):
      cmd_bind_or_unbind_switch: fix copy/paste typo error message
      sway: allow IPCs on proprietary drivers

Erik Reider (1):
      Added scroll_factor input variable to ipc output

Evgeniy Khramtsov (1):
      commands: Remove unused code after 1d3681f52135

Hugo Osvaldo Barrera (5):
      grimshot: Exit 1 on cancellation
      Use fixed titlebar heights
      Deduplicate code for rendering titlebar texts
      Avoid unecessary font metric calculations
      Drop hardcoded font metric values

Issam E. Maghni (1):
      cairo: Replace <cairo/cairo.h> by <cairo.h>

István Donkó (1):
      Add Hungarian translation for the README

Ivan Fedotov (1):
      Add toggle logic inside DPMS handler

Jack Byrne (1):
      Change 'Danish' to 'Dansk' in README

James Edwards-Jones (1):
      swaynag: adds option to set wayland shell layer

Jari Ronkainen (1):
      Improve built-in touchscreen detection

Jason Nader (4):
      swaymsg: use INT_MAX max JSON depth when parsing IPC response
      swaymsg: be explicit about the json parser error
      swaymsg: fix misplaced return value
      refactor: use JSON_MAX_DEPTH everywhere

Jonas Große Sundrup (3):
      clarify the type of raw output
      change incorrectly documented output types
      cross-reference further documentation

Kenny Levinsen (7):
      ci: Install libseat
      meson: libseat is no longer optional
      Remove usage of surface->sx|sy
      desktop/render: Pass explicit clip box to render
      input: Move get_current_time_msec in from util
      ci: Test wlroots static linking
      readme: Align Danish translation with main README

Kirill Primak (12):
      view: fix saved buffer order
      surface: chase wlr subsurface list/link change
      render: fix -Ddamage=rerender
      view: fix child position calc
      xdg-shell: chase wlr xdg toplevel refactor
      Revert "xdg_shell: schedule configure on maximize requests"
      xdg-shell: remove unused request_maximize listener
      layer-shell: chase wlr layer surface refactor
      layer-shell: check `committed` bitmask
      layer-shell: fix commit handler
      container: fix surface_is_popup()
      output: remove surface buffer damage check

Ludvig Michaelsson (1):
      swaybar: signal status command's process group

M.Zeinali (1):
      readme: use right-to-left marks in ir translation

Manuel Stoeckl (3):
      commands/exec: stop truncating >4095-byte commands
      Update URL to wlroots project (GitHub->GitLab)
      Add 'output render_bit_depth [8|10]' command

Michael Weiser (1):
      Prevent use-after-free on first bar subcommand error

Nathan Schulte (3):
      swaybar: properly draw urgent block right border
      swaybar: properly draw blocks with transparent black border
      swaybar: fix cairo_font_options leak

Nihal Jere (2):
      config.in: use portable hour specifier
      config.in: use swaynag -B instead of -b

Ragnar Groot Koerkamp (5):
      Fix #6299 Disable auto_back_and_forth for next_on_output
      Move auto_back_and_forth logic out of workspace_switch
      Only call workspace_auto_back_and_forth when needed
      Revert "Add workspace {prev,next}_on_output --create"
      Update clang format to better match existing code

Rahiel Kasim (1):
      fix typo in sway-output.5.scd

Rasmus Moorats (1):
      fix cursor input for layer-shell surfaces

RoastVeg (1):
      Handle border width and height on minimum floating sizes

Ronan Pigott (12):
      output: damage whole output when exiting scanout
      container: retain focus position on floating enable
      cmd_fullscreen: allow fullscreen on fullscreen split containers
      workspace: reap empty parents when adding tiles
      xdg-shell: ignore unecessary fullscreen request ouput hints
      cmd_fullscreen: ignore fullscreen request on workspaces
      view: commit transactions for foreign toplevel requests
      layer_shell: damage previous area when a surface shrinks
      command: implement split none
      commands: update split none command for a047b5ee4
      output: change output::destroy to output::disable
      output: emit node::destroy event

Rouven Czerwinski (1):
      view: handle case where map_ws is NULL

Sefa Eyeoglu (3):
      fix: handle NULL from json_tokener_new_ex
      fix: use sane value for json_tokener max_depth
      refactor: use sway_abort instead

Simon Plakolb (2):
      input: Use seatop_down on layer surface click
      seatop_down: End if surface is destroyed or other seatop starts

Simon Ser (57):
      ci: add xcb-util-wm dependency for wlroots
      Remove advice about Firefox from issue template
      readme: make it clearer that meson takes a dir as argument
      build: bump version to 1.6
      build: update wlroots dependency version to 0.14.x
      build: stop checking for logind
      desktop/render: remove unused wlr_gles2_texture_attribs
      Remove WLR_HAS_XDG_FOREIGN checks
      Log wlroots version on startup
      Avoid creating zero-sized textures for titlebars
      Use cairo_image_surface_get_stride instead of guessing it
      Avoid creating zero-sized textures for marks
      Use execlp("sh") instead of execl("/bin/sh")
      commands/exec_always: log error on execlp failure
      Remove support for arbitrary rotations
      build: remove sd-bus status item
      readme: switch back to IRC web client
      Implement xdg-activation-v1
      Iterate over subsurfaces below the parent surface
      build: bump wlroots dependency to 0.15.0
      contrib: drop incr_version script
      build: use meson.global_build_root()
      build: use Dependency.get_variable instead of get_pkgconfig_variable
      build: use ExternalProgram.full_path instead of path
      ci: make Meson warnings fatal
      tree/container: fix indentation
      Update wlr_box includes
      Add support for touch frame events
      Fix wl_pointer.frame not sent on touch emulation
      swaybar: exit cleanly when disconnected from IPC
      swaybar: log Wayland display errors
      Document view_map
      Fallback to other output modes if preferred mode fails
      layer-shell: replace close() with destroy()
      readme: switch to Libera Chat for ir
      readme: link to gamja for IRC
      Rename pango_printf to render_text
      readme: mention seatd
      build: remove scdoc stdin/stdout hack
      Add -Dnoscanout debug option
      readme: add missing space
      Add support for DRM panel orientation
      Chase wlr_xdg_surface breaking changes
      readme: drop reco...
Read more