Skip to content

Releases: swaywm/sway

1.10

27 Oct 20:49
1.10
Compare
Choose a tag to compare

Sway 1.10 contains 237 changes from 44 contributors.

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

New features

  • All of the enhancements from wlroots 0.18.
  • Rewrite the renderer to leverage the wlroots scene-graph API, resulting in improved performance.
  • Add GPU reset recovery for improved robustness.
  • Add a command to use an ICC profile for an output.
  • Improved output configuration algorithm to light up more outputs when the GPU bandwidth is constrained. WLR_DRM_NO_MODIFIERS shouldn't be necessary anymore to workaround black screens on Intel.
  • Add support for IME popups used for CJK.
  • Add support for tearing-control-v1, to opt-in for tearing page-flips for gaming use-cases.
  • Add support for ext-transient-seat-v1, allowing remoting apps such as wayvnc to create separate temporary seats for input events.
  • Add support for ext-foreign-toplevel-list-v1, the new standard protocol to obtain information about other toplevels. This will eventually be used by taskbars, window switchers and per-toplevel screen capture.
  • Add support for xdg-shell v5 with popup repositioning and hiding maximize/minimize buttons in CSD.

Changes

  • dmenu_run is no longer a dependency of the default config file.
  • The default config file now contains keybindings with pactl for volume adjustment, brightnessctl for brightness adjustment and grim for screenshots.
  • The legacy wl_drm protocol is now disabled by default (superseded by the standard linux-dmabuf-v1 protocol). This causes breakage in xorg-xwayland < 24.1.0, libva < 2.22.0 and amdvlk < 2024.Q4.1, and can be re-enabled manually via -Dlegacy-wl-drm.
  • The xwayland built-time option has been removed: Xwayland support is now enabled at build-time if it was enabled for wlroots.
Full changelog
Access (1):
      text_input: Implement input-method popups

Adam Chovanec (1):
      readme: update Czech translation

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

Alexander Orzechowski (47):
      Don't destroy output layout on exit
      output: Destroy when output layout is destroyed
      desktop: Rename layers to shell_layers
      view: init function should return a success bool
      scene_graph: Maintain `wlr_scene_node`s for the sway tree.
      scene_graph: Use built-in linux dmabuf feedback handling
      scene_graph: Introduce sway_scene_descriptor
      renderer: Render scene_graph
      scene_graph: Port seat drag icons
      scene_graph: Port seatop_move_tiling indicators
      scene_graph: Port ext_session_v1
      seat: Remove dead seatop_render function
      renderer: Remove in favor of scene_graph
      Introduce sway_text_node
      input: Query scene graph for relevant surface/node intersections
      scene_graph: Port layer_shell
      scene_graph: Port container server side decorations
      transaction: ready signals will return success bools
      scene_graph: Port xdg_shell
      scene_graph: Port xwayland
      xwayland: Cleanup geometry handling on commit
      scene_graph: Port view saved buffers
      Delete old damage tracking code
      container: Don't track outputs
      scene_graph: Arrange scene graph on transaction apply
      scene_graph: Port opacity and filter modes
      scene_graph: Implement toplevel clipping
      Fix SIGSEGV on surface destroy
      remove damage debug options
      scene_graph: port wlr_forgein_toplevel_management output enter/leave events
      layer_shell: Fix typo of return instead of continue
      Ensure get_text_width() returns a positive value
      layer_shell: Arrange popups even if exclusive zone doesn't change
      xdg_shell: Extract struct for popup descriptor
      layer_shell: Handle popups through popup descriptor
      Force bilinear scaling when scaling down
      sway_text_node: Allow 0 text width
      transaction: Reparent all container children when disabling for scratchpad
      container: Skip % char if it doesn't match a view property
      text_input: Check for allocation failure
      text_input: Move popup placement to own function
      transaction: Allow no popup descriptor in popup list
      text_input: Properly handle map/unmap events
      text_input: Inline input_popup_update into input_popup_set_focus
      Fix alpha-modifier-v1
      layer_shell: Arrange exclusive zone clients first
      layer_shell: Restore sway 1.9 ordering

Andri Yngvason (1):
      Implement transient seat management

Anna (navi) Figueiredo Gomes (2):
      sway/config/output.c: fix null deref on output config
      sway/commands/move.c: arrange new workspace

Bill Li (2):
      Chase wlroots!4482
      ci: use package x11-servers/xwayland instead of x11-servers/xwayland-devel

Billli11 (1):
      Remove wlr_presentation in sway_server struct

Daniel De Graaf (1):
      Fix SIGSEGV on output destroy

Daniel Kahn Gillmor (1):
      sway-ipc(7): Escape backslashes correctly in GET_CONFIG output

Emil Engberg (1):
      Add toggle for output adaptive_sync

Felix Pehla (1):
      commands/output/color_profile: allows use of relative path for ICC profile

Ferdinand Bachmann (2):
      man: document supported modifier names
      input: add Super as alternative for Mod4

Furkan Sahin (2):
      swaybar: Fix 100% cpu usage if dbus dies.
      input/mouse: bugfix button2 being interpreted as trying to move the container

James Knight (1):
      build: avoid git repository discovery when determining version

Jan Palus (1):
      trigger container update after disabling urgent in timer

JingMatrix (1):
      Add null-safety check for virtual keyboard keymaps

Joan Bruguera Micó (1):
      layer-shell: Restore interactive layer focus code

Jon Wallace (2):
      Use heading markdown to demarcate sections of commands Its a little tought to notice that the COMMANDS section is actually 3 sections. Use markdown to make this easier to see for the user.
      use subheadings instead

Kenny Levinsen (47):
      config/output: Split apply_output_config
      config/output: Introduce apply_output_configs
      output/config: Add apply_all_output_configs
      Use apply_all_output_configs to light up outputs
      desktop/output: Use apply_output_configs for output mgmt
      config/output: Remove apply_output_config
      output/config: Remove reset_outputs and co.
      config/output: Make merge_output_config static
      output/config: Remove unused test_output_config
      commands/output/toggle: Use free_output_config
      config/output: Refactor handling of tiered configs
      server: Use wlr_renderer_get_texture_formats
      desktop/output: Fix check if config should be stored
      config/output: Use all outputs for config merge
      config/output: Search for output config fallbacks
      config/output: Print output state during tests
      config/output: Skip VRR tests when not supported
      desktop/output: Debounce modesets
      common/pango: Disable glyph position rounding
      desktop/output: Stop repaint loop when not needed
      config/output: Do not set adaptive_sync if not supported
      config/output: Skip search if config has a mode
      desktop/transaction: Deactivate workspace on inactive outputs
      config/output: Add support for 6-bit render fmt
      config/output: Stringify render format when logging it
      desktop/output: Do not use commit listener to arrange
      tree/output: Rely on modeset arranging root
      (desktop|tree)/output: Do not use layout listener to arrange
      desktop/output: Avoid duplicate output manager update
      tree/output: Avoid duplicate input mapping configure
      tree/arrange: Remove redundant output geometry update
      tree/arrange; Skip arranging disabled outputs
      config/output: Support multiple matches in find_output_config
      config/output: Always start with default in find_output_config
      config/output: Accept a list of output_configs to use
      config/output: Rename to apply_stored_output_configs
      ext-session-lock: Do not use commit listener to arrange
      commands/gaps: Check config->reading instead
      desktop/output: Expose request_modeset
      config: Batch input/output configuration on load
      desktop/output: Clear modeset timer on output manager apply
      Re-init renderer for all outputs on lost context
      config/output: Improve modeset state logging
      config/output: Always set output states from config
      config/output: Always set all output fields on finalize
      config/output: Remove initial values in find_output_config
      config/output: Remove remaining logs from queue_output_config

Kirill Primak (10):
      xdg-shell: chase events update
      layer-shell: don't try to unmap on destroy
      layer-shell: wait for an initial commit before configuring
      layer-shell: don't configure uninitialized surfaces
      Chase wlroots!4003
      Chase wlroots!4443
      view: drop ext_foreign_destroy
      protocols: use tablet-v2 xml from stable/
      tearing: remove trailing whitespace
      tearing: fix UAF on destroy

Luofan Chen (1):
      input: Rename WLR_INPUT_DEVICE_TABLET_TOOL to WLR_INPUT_DEVICE_TABLET

Manuel Stoeckl (5):
      common: Drop unused render_background_image
      common: rename load_background_image to load_image
      common: move load_image to swaybar
      desktop/layer_shell: provide fractional scale on creation
      sway/commands/output: Add command to set color profile

Merlin Lex (1):
      ext-foreign-toplevel-list: Implement protocol

Norbert Bolanowski (1):
      move title_format to container

Olivia...
Read more

1.10-rc4

20 Oct 20:15
1.10-rc4
Compare
Choose a tag to compare
1.10-rc4 Pre-release
Pre-release
sway 1.10-rc4

Alexander Orzechowski (2):
      layer_shell: Arrange exclusive zone clients first
      layer_shell: Restore sway 1.9 ordering

Jan Palus (1):
      trigger container update after disabling urgent in timer

Kenny Levinsen (5):
      config/output: Improve modeset state logging
      config/output: Always set output states from config
      config/output: Always set all output fields on finalize
      config/output: Remove initial values in find_output_config
      config/output: Remove remaining logs from queue_output_config

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

1.10-rc3

13 Oct 16:01
1.10-rc3
Compare
Choose a tag to compare
1.10-rc3 Pre-release
Pre-release
sway 1.10-rc3

Furkan Sahin (1):
      input/mouse: bugfix button2 being interpreted as trying to move the container

ShootingStarDragons (1):
      fix: sway crashes if switch to another workspace with surface when IME popup is shown

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

1.10-rc2

06 Oct 14:55
1.10-rc2
Compare
Choose a tag to compare
1.10-rc2 Pre-release
Pre-release
sway 1.10-rc2

Alexander Orzechowski (1):
      Fix alpha-modifier-v1

Kenny Levinsen (1):
      Re-init renderer for all outputs on lost context

Simon Ser (2):
      release: push tags before creating GitHub release
      build: bump version to 1.10-rc2

1.10-rc1

29 Sep 15:36
1.10-rc1
Compare
Choose a tag to compare
1.10-rc1 Pre-release
Pre-release

Sway 1.10-rc1 contains 228 changes from 43 contributors.

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

New features

  • All of the enhancements from wlroots 0.18.
  • Rewrite the renderer to leverage the wlroots scene-graph API, resulting in improved performance.
  • Add GPU reset recovery for improved robustness.
  • Add a command to use an ICC profile for an output.
  • Improved output configuration algorithm to light up more outputs when the GPU bandwidth is constrained. WLR_DRM_NO_MODIFIERS shouldn't be necessary anymore to workaround black screens on Intel.
  • Add support for IME popups used for CJK.
  • Add support for tearing-control-v1, to opt-in for tearing page-flips for gaming use-cases.
  • Add support for ext-transient-seat-v1, allowing remoting apps such as wayvnc to create separate temporary seats for input events.
  • Add support for ext-foreign-toplevel-list-v1, the new standard protocol to obtain information about other toplevels. This will eventually be used by taskbars, window switchers and per-toplevel screen capture.
  • Add support for xdg-shell v5 with popup repositioning and hiding maximize/minimize buttons in CSD.

Changes

  • dmenu_run is no longer a dependency of the default config file.
  • The default config file now contains keybindings with pactl for volume adjustment, brightnessctl for brightness adjustment and grim for screenshots.
  • The legacy wl_drm protocol is now disabled by default (superseded by the standard linux-dmabuf-v1 protocol). This causes breakage in xorg-xwayland < 24.1.0, libva < 2.22.0 and amdvlk < 2024.Q4.1, and can be re-enabled manually via -Dlegacy-wl-drm.
  • The xwayland built-time option has been removed: Xwayland support is now enabled at build-time if it was enabled for wlroots.
Full changelog
-k (2):
      Add descriptions for `stacking` and `tabbed` layouts
      man: Fix trailing spaces

33KK (1):
      Fix `bindsym --to-code` not respecting input configs

Access (1):
      text_input: Implement input-method popups

Adam Chovanec (1):
      readme: update Czech translation

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

Alan (1):
      Update grimshot.1.scd

Aleksei Bavshin (3):
      ipc: make `bar <bar_id> mode|hidden_state` behave as documented
      xdg-shell: use toplevel geometry to adjust the popup box
      xdg-activation: distinguish activation and urgency requests

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 Courtis (1):
      Apply new adaptive sync value from wlr-output-management

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

Alexander Orzechowski (61):
      view: Fix null dereference
      container_floating_set_default_size: Store workspace size box on the stack
      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
      Don't destroy output layout on exit
      output: Destroy when output layout is destroyed
      desktop: Rename layers to shell_layers
      view: init function should return a success bool
      scene_graph: Maintain `wlr_scene_node`s for the sway tree.
      scene_graph: Use built-in linux dmabuf feedback handling
      scene_graph: Introduce sway_scene_descriptor
      renderer: Render scene_graph
      scene_graph: Port seat drag icons
      scene_graph: Port seatop_move_tiling indicators
      scene_graph: Port ext_session_v1
      seat: Remove dead seatop_render function
      renderer: Remove in favor of scene_graph
      Introduce sway_text_node
      input: Query scene graph for relevant surface/node intersections
      scene_graph: Port layer_shell
      scene_graph: Port container server side decorations
      transaction: ready signals will return success bools
      scene_graph: Port xdg_shell
      scene_graph: Port xwayland
      xwayland: Cleanup geometry handling on commit
      scene_graph: Port view saved buffers
      Delete old damage tracking code
      container: Don't track outputs
      scene_graph: Arrange scene graph on transaction apply
      scene_graph: Port opacity and filter modes
      scene_graph: Implement toplevel clipping
      Fix SIGSEGV on surface destroy
      remove damage debug options
      scene_graph: port wlr_forgein_toplevel_management output enter/leave events
      layer_shell: Fix typo of return instead of continue
      Ensure get_text_width() returns a positive value
      layer_shell: Arrange popups even if exclusive zone doesn't change
      xdg_shell: Extract struct for popup descriptor
      layer_shell: Handle popups through popup descriptor
      Force bilinear scaling when scaling down
      sway_text_node: Allow 0 text width
      transaction: Reparent all container children when disabling for scratchpad
      container: Skip % char if it doesn't match a view property
      text_input: Check for allocation failure
      text_input: Move popup placement to own function
      transaction: Allow no popup descriptor in popup list
      text_input: Properly handle map/unmap events
      text_input: Inline input_popup_update into input_popup_set_focus

Alice Carroll (1):
      Support cursor capture in grimshot

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

Andri Yngvason (2):
      sway/commands/output: Add command for unplugging non-physical outputs
      Implement transient seat management

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

Anna (navi) Figueiredo Gomes (2):
      sway/config/output.c: fix null deref on output config
      sway/commands/move.c: arrange 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 (5):
      ipc: make get_deco_rect check config->hide_lone_tab
      man: sway(5) move fixes
      container_get_siblings: handle NULL workspace
      Fix input command order (rotation_angle)
      ipc: add ability to subscribe to output event

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

Bill Li (4):
      Updating criteria checking with PCRE2
      chase wlroots!4411
      Chase wlroots!4482
      ci: use package x11-servers/xwayland instead of x11-servers/xwayland-devel

Billli11 (1):
      Remove wlr_presentation in sway_server struct

Birger Schacht (1):
      Fix a couple of typos

Caduser2020 (1):
      Simplify swaybar/swaynag scaling code

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

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

Christian Llupo (1):
      README: Added Greek translation

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

Daniel De Graaf (9):
      Fix overly-wide mark textures
      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
      Fix SIGSEGV on output destroy

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

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

Daniel Kahn Gillmor (1):
      sway-ipc(7): Escape backslashes correctly in GET_CONFIG output

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):
...
Read more

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