Skip to content

Releases: swaywm/sway

sway 1.9

24 Feb 13:47
1.9
Compare
Choose a tag to compare

Sway 1.9 contains 238 changes from 67 contributors.

This release depends on wlroots 0.17.0. See the wlroots release notes.

New features

  • All of the enhancements from wlroots 0.17, including support for the new content-type-v1, xwayland-shell-v1, wp-fractional-scale-v1, security-context-v1 and cursor-shape-v1 protocols
  • Improved xdg-activation-v1 support with workspace tracking and multi-seat
  • The rendering code has been ported to the new wlroots rendering API, yielding better performance
  • A new config option to disable primary selection
  • A new input commands to set libinput's rotation angle and scroll button lock
  • Tablet tool buttons can now be used for floating mode resize
  • The IPC output event is now supported
  • Add support for layer-shell's on-demand keyboard interactivity

Changes

  • The default menu has been changed to wmenu: #7384
  • The KDE idle protocol is no longer supported (superseded by the standard idle-notify-v1 protocol)
Full changelog
33KK (1):
      Fix `bindsym --to-code` not respecting input configs

Aidan Dang (1):
      Add `primary_selection` config option

Aleksei Bavshin (1):
      xdg-activation: distinguish activation and urgency requests

Alexander Courtis (1):
      Apply new adaptive sync value from wlr-output-management

Alexander Orzechowski (16):
      workspace_create: Don't allow NULL name
      warp_to_constraint_cursor_hint: Handle NULL view
      swaybar: Set opaque region properly
      swaybar: Lift background clearing out of main rendering function
      Chase wlroots!4067
      xdg_shell: Fix crash if popup generates while toplevel is in the scratchpad
      render: pass rendering state together in a struct
      render: Don't pass matrix into render_texture
      render: Use wlr_render_pass
      Don't crash if there is no damage during render
      gamma_control_v1: Reset dirty flag
      render: Use wlroots scale filter
      swaybar: Implement wp_cursor_shape_v1
      swaynag: Implement wp_cursor_shape_v1
      Chase wlroots!4331
      output: Destroy when output layout is destroyed

Ankit Pandey (3):
      commands/move: Warp cursor after moving workspace to another output
      root: Try to preserve relative positions of floating containers
      root: Set inactive focus when scratchpad is moved to new workspace

Artturin (2):
      chase wlroots wlr_renderer_begin_buffer_pass change
      chase wlroots 'presentation-time: add separate helper for zero-copy '

AsciiWolf (2):
      Translate README to Czech
      Fix typo in Czech README translation

Ashraf (1):
      Translate README to Arabic

Baltazár Radics (2):
      Fix input command order (rotation_angle)
      ipc: add ability to subscribe to output event

Bill Li (1):
      chase wlroots!4411

Carl Smedstad (6):
      Remove duplicate declarations
      Add missing includes & remove duplicates
      Make cmd_handler.command const
      Remove redundant return statements
      Replace math functions that promote float to double
      Use correct length for strncmp comparison

Cedric Sodhi (1):
      Added reference for event types to swaymsg manpage

Cezary Drożak (1):
      input/libinput: add scroll_button_lock method

Daniel Hill (1):
      Fix map_to_output * turning off device

Dudemanguy (4):
      view: update wlr_toplevel size on client resizes
      Revert "view: update wlr_toplevel size on client resizes"
      xdg_shell: update wlr_toplevel size on client resizes
      xdg_shell: don't update wlr_toplevel if the container has no size yet

EBADBEEF (1):
      view: re-apply criteria when window gets unmapped

Elyes Haouas (1):
      Fix old style function definitions

Erik Reider (4):
      Init the damage_ring bounds on output creation
      Fix damage-ring bounds not being set when unplugging -> plugging in monitor
      Fix layer old damage not being offset by the monitor layout coords
      Add support for wlr-layer-shell ON_DEMAND keyboard interactivity

Hodong (1):
      swaybar: remove the argument of StatusNotifierHostRegistered

Jan Beich (1):
      readme: Stop recommending setuid bit for non-logind systems

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

Joe Kappus (1):
      build: bump wlroots dependency to 0.17.0

Johan Sköld (1):
      i3 compat: Adding support for the `all` criteria

John Chadwick (1):
      Improve tablet tool button handling.

Kenny Levinsen (4):
      seat: Avoid sending redundant keymaps on reload
      seat: Set keyboard if seat keyboard is NULL
      render: Apply clip to rendered texture correctly
      render: Clear using wlr_output dimensions

Kirill Primak (9):
      output: set damage ring bounds to pixel values
      input/tablet: handle focusing NULL surface
      xwayland: don't rely on event source being data
      chore: chase wlroots map logic unification
      lock: listen to the correct map signal
      xwayland: fix mapped state check in OR handlers
      chore: chase wlroots xdg-surface role rework
      view: check if the buffer was uploaded on save
      xdg-shell: send maximized if tiled isn't supported

Leonardo Hernández Hernández (1):
      chase wlroots!4316

Lina Banik (1):
      seat: Fix reloading cursor theme after change

Lucas Zampieri (1):
      Add libinput RotationAngle

Manuel Stoeckl (4):
      Use shm_open instead of mkstemp
      swaynag: call swaynag_destroy on clean exit
      swaybar: handle wayland-cursor failures
      sway/server: Fix null pointer crash when Xwayland disabled

Mark Bolhuis (1):
      input: Move wlr_pointer_gestures_v1 to sway_input_manager

Matt Fellenz (1):
      Use locale time format for default bar command

Mukundan314 (1):
      swaybar: always subscribe to mode and workspace

NemuiBanila (1):
      seat: Fix cursor theme reload for tablet tool

Nick Kipshidze (1):
      Add Georgian README

Radical (1):
      Add Norwegian READMR

Robin Jarry (1):
      Allow windows in scratchpad to set the urgent flag

Ronan Pigott (19):
      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
      input: enable user xkb configs with cap_sys_nice
      view: make request_activate take a seat
      launcher: make launcher context seat aware
      launcher: support external launcher tokens
      xdg-activation: fix urgency when the client does not specify a seat
      container: rehome the container_swap function into container.c
      Add a .mailmap file
      launcher: track the seat in the launcher ctx

Rouven Czerwinski (1):
      gamma_control_v1: handle destroyed output

Sergei Trofimovich (2):
      swaynag/config.c: fix build against gcc-14 (-Walloc-size)
      sway/config.c: use `memcpy()` for known buffer size

Shaked Flur (1):
      man: add --inhibited and --no-repeat to bindsym and bindcode usage

Simon Ser (100):
      input/seat: locally compute drag icon offset
      Listen to the output request_state event
      ipc: add view content type
      Update for wlroots!3814
      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.9-dev
      Make GLES2 optional
      Make DRM backend optional
      Make session optional
      Make libinput backend optional
      build: remove trailing newline at end of file
      build: move completions to separate file
      build: fix have_xwayland when xcb-icccm is not found
      Chase breaking changes in wlroots!3903
      ci: install Xwayland .pc file
      swaynag: fix NULL font description
      swaynag: drop swaynag_type.font
      man: fix typo in output disable docs
      tree/container: drop unnecessary check in container_get_siblings()
      Send wl_surface.enter for ext-session-lock surfaces
      Fix indentation in surface_is_xdg_popup()
      Fix pointer events for ext-session-lock surfaces
      Check return value of wlr_renderer_begin()
      Switch default menu to wmenu
      ipc: add support for output event
      Convert to wlr_xwayland_surface_try_from_wlr_surface()
      Convert to *_try_from_wlr_surface()
      swaymsg: print output power status
      swaymsg: s/inactive/disabled/
      ci: install hwdata-dev on Alpine
      Use wlr_linux_dmabuf_feedback_v1_init_with_options()
      Introduce surface_{enter,leave}_output()
      Add support for fractional-scale-v1
      Update surface fractional scale on output change
      layer-shell: enter output before surface is mapped
      Adjust scale for fractional-scale-v1
      Constify pixman_region32_t for rendering functions
      Move output commit out of output_render()
      Check for empty damage before attaching render buffer
      man: deprecate seat cursor move/set/press/release
      ipc: add LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM entry
      Remove duplicate wlr_damage_ring_set_bounds() c...
Read more

sway 1.9-rc4

17 Feb 13:30
1.9-rc4
Compare
Choose a tag to compare
sway 1.9-rc4 Pre-release
Pre-release
Aleksei Bavshin (1):
      xdg-activation: distinguish activation and urgency requests

Ronan Pigott (1):
      launcher: track the seat in the launcher ctx

Simon Ser (3):
      commands: make primary_selection a config-only command
      Fix build with wlroots DRM backend disabled
      build: bump version to 1.9-rc.4

sway 1.9-rc3

09 Feb 17:27
1.9-rc3
Compare
Choose a tag to compare
sway 1.9-rc3 Pre-release
Pre-release
Simon Ser (1):
      build: bump version to 1.9-rc.3

Violet Purcell (1):
      sway/config.c: only reset primary_selection at launch

sway 1.9-rc2

02 Feb 18:03
1.9-rc2
Compare
Choose a tag to compare
sway 1.9-rc2 Pre-release
Pre-release
Simon Ser (1):
      build: bump version to 1.9-rc.2

Tamino Bauknecht (1):
      sway/output: Improve logging of swaybg execvp failure and more checks

sway 1.9-rc1

26 Jan 14:52
1.9-rc1
Compare
Choose a tag to compare
sway 1.9-rc1 Pre-release
Pre-release

Sway 1.9-rc1 contains 227 changes from 65 contributors.

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

New features

  • All of the enhancements from wlroots 0.17, including support for the new content-type-v1, xwayland-shell-v1, wp-fractional-scale-v1, security-context-v1 and cursor-shape-v1 protocols
  • Improved xdg-activation-v1 support with workspace tracking and multi-seat
  • The rendering code has been ported to the new wlroots rendering API, yielding better performance
  • A new config option to disable primary selection
  • A new input commands to set libinput's rotation angle and scroll button lock
  • Tablet tool buttons can now be used for floating mode resize
  • The IPC output event is now supported
  • Add support for layer-shell's on-demand keyboard interactivity

Changes

  • The default menu has been changed to wmenu: #7384
  • The KDE idle protocol is no longer supported (superseded by the standard idle-notify-v1 protocol)
Full changelog
33KK (1):
      Fix `bindsym --to-code` not respecting input configs

Aidan Dang (1):
      Add `primary_selection` config option

Alexander Courtis (1):
      Apply new adaptive sync value from wlr-output-management

Alexander Orzechowski (16):
      workspace_create: Don't allow NULL name
      warp_to_constraint_cursor_hint: Handle NULL view
      swaybar: Set opaque region properly
      swaybar: Lift background clearing out of main rendering function
      Chase wlroots!4067
      xdg_shell: Fix crash if popup generates while toplevel is in the scratchpad
      render: pass rendering state together in a struct
      render: Don't pass matrix into render_texture
      render: Use wlr_render_pass
      Don't crash if there is no damage during render
      gamma_control_v1: Reset dirty flag
      render: Use wlroots scale filter
      swaybar: Implement wp_cursor_shape_v1
      swaynag: Implement wp_cursor_shape_v1
      Chase wlroots!4331
      output: Destroy when output layout is destroyed

Ankit Pandey (3):
      commands/move: Warp cursor after moving workspace to another output
      root: Try to preserve relative positions of floating containers
      root: Set inactive focus when scratchpad is moved to new workspace

Artturin (2):
      chase wlroots wlr_renderer_begin_buffer_pass change
      chase wlroots 'presentation-time: add separate helper for zero-copy '

AsciiWolf (2):
      Translate README to Czech
      Fix typo in Czech README translation

Ashraf (1):
      Translate README to Arabic

Baltazár Radics (2):
      Fix input command order (rotation_angle)
      ipc: add ability to subscribe to output event

Bill Li (1):
      chase wlroots!4411

Carl Smedstad (6):
      Remove duplicate declarations
      Add missing includes & remove duplicates
      Make cmd_handler.command const
      Remove redundant return statements
      Replace math functions that promote float to double
      Use correct length for strncmp comparison

Cedric Sodhi (1):
      Added reference for event types to swaymsg manpage

Cezary Drożak (1):
      input/libinput: add scroll_button_lock method

Daniel Hill (1):
      Fix map_to_output * turning off device

Dudemanguy (4):
      view: update wlr_toplevel size on client resizes
      Revert "view: update wlr_toplevel size on client resizes"
      xdg_shell: update wlr_toplevel size on client resizes
      xdg_shell: don't update wlr_toplevel if the container has no size yet

EBADBEEF (1):
      view: re-apply criteria when window gets unmapped

Elyes Haouas (1):
      Fix old style function definitions

Erik Reider (4):
      Init the damage_ring bounds on output creation
      Fix damage-ring bounds not being set when unplugging -> plugging in monitor
      Fix layer old damage not being offset by the monitor layout coords
      Add support for wlr-layer-shell ON_DEMAND keyboard interactivity

Hodong (1):
      swaybar: remove the argument of StatusNotifierHostRegistered

Jan Beich (1):
      readme: Stop recommending setuid bit for non-logind systems

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

Joe Kappus (1):
      build: bump wlroots dependency to 0.17.0

Johan Sköld (1):
      i3 compat: Adding support for the `all` criteria

John Chadwick (1):
      Improve tablet tool button handling.

Kenny Levinsen (4):
      seat: Avoid sending redundant keymaps on reload
      seat: Set keyboard if seat keyboard is NULL
      render: Apply clip to rendered texture correctly
      render: Clear using wlr_output dimensions

Kirill Primak (9):
      output: set damage ring bounds to pixel values
      input/tablet: handle focusing NULL surface
      xwayland: don't rely on event source being data
      chore: chase wlroots map logic unification
      lock: listen to the correct map signal
      xwayland: fix mapped state check in OR handlers
      chore: chase wlroots xdg-surface role rework
      view: check if the buffer was uploaded on save
      xdg-shell: send maximized if tiled isn't supported

Leonardo Hernández Hernández (1):
      chase wlroots!4316

Lina Banik (1):
      seat: Fix reloading cursor theme after change

Lucas Zampieri (1):
      Add libinput RotationAngle

Manuel Stoeckl (4):
      Use shm_open instead of mkstemp
      swaynag: call swaynag_destroy on clean exit
      swaybar: handle wayland-cursor failures
      sway/server: Fix null pointer crash when Xwayland disabled

Mark Bolhuis (1):
      input: Move wlr_pointer_gestures_v1 to sway_input_manager

Matt Fellenz (1):
      Use locale time format for default bar command

Mukundan314 (1):
      swaybar: always subscribe to mode and workspace

NemuiBanila (1):
      seat: Fix cursor theme reload for tablet tool

Nick Kipshidze (1):
      Add Georgian README

Radical (1):
      Add Norwegian READMR

Robin Jarry (1):
      Allow windows in scratchpad to set the urgent flag

Ronan Pigott (18):
      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
      input: enable user xkb configs with cap_sys_nice
      view: make request_activate take a seat
      launcher: make launcher context seat aware
      launcher: support external launcher tokens
      xdg-activation: fix urgency when the client does not specify a seat
      container: rehome the container_swap function into container.c
      Add a .mailmap file

Rouven Czerwinski (1):
      gamma_control_v1: handle destroyed output

Sergei Trofimovich (2):
      swaynag/config.c: fix build against gcc-14 (-Walloc-size)
      sway/config.c: use `memcpy()` for known buffer size

Shaked Flur (1):
      man: add --inhibited and --no-repeat to bindsym and bindcode usage

Simon Ser (94):
      input/seat: locally compute drag icon offset
      Listen to the output request_state event
      ipc: add view content type
      Update for wlroots!3814
      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.9-dev
      Make GLES2 optional
      Make DRM backend optional
      Make session optional
      Make libinput backend optional
      build: remove trailing newline at end of file
      build: move completions to separate file
      build: fix have_xwayland when xcb-icccm is not found
      Chase breaking changes in wlroots!3903
      ci: install Xwayland .pc file
      swaynag: fix NULL font description
      swaynag: drop swaynag_type.font
      man: fix typo in output disable docs
      tree/container: drop unnecessary check in container_get_siblings()
      Send wl_surface.enter for ext-session-lock surfaces
      Fix indentation in surface_is_xdg_popup()
      Fix pointer events for ext-session-lock surfaces
      Check return value of wlr_renderer_begin()
      Switch default menu to wmenu
      ipc: add support for output event
      Convert to wlr_xwayland_surface_try_from_wlr_surface()
      Convert to *_try_from_wlr_surface()
      swaymsg: print output power status
      swaymsg: s/inactive/disabled/
      ci: install hwdata-dev on Alpine
      Use wlr_linux_dmabuf_feedback_v1_init_with_options()
      Introduce surface_{enter,leave}_output()
      Add support for fractional-scale-v1
      Update surface fractional scale on output change
      layer-shell: enter output before surface is mapped
      Adjust scale for fractional-scale-v1
      Constify pixman_region32_t for rendering functions
      Move output commit out of output_render()
      Check for empty damage before attaching render buffer
      man: deprecate seat cursor move/set/press/release
      ipc: add LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM entry
      Remove duplicate wlr_damage_ring_set_bounds() call
      Pass version to wlr_compositor_create()
      Skip direct scan-out commit when damage is empty
      Set output damage duri...
Read more

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