Skip to content
sway 1.4

A. M. Joseph (1):
      xwayland.c handle_map(): NULL out xsurface->data() to prevent crashing.

Aleksis (1):
      remove unused layer shell surface variable

Andri Yngvason (2):
      input: Assign virtual input devices to their selected seats
      swaybar: Fix input device removal

Antonin Décimo (5):
      ipc-client: remove useless free for failed malloc
      input: check pointer against nullptr
      view_update_size: fix surface_width/height mismatch
      Fix memory leaks
      Remove redundant checks

Arkadiusz Hiler (1):
      Fix syntax in examples in sway-output(5)

Ben Brown (2):
      Fix typo for the force/immediate option in xwayland_mode enum
      Add icon_theme_path to find_icon() search if set

Benjamin Cheng (2):
      input/cursor: pass gesture events to clients
      input/cursor: remove gesture listeners in destroy

Brian Ashworth (42):
      workspace: prefer identifiers for output priority
      handle_seat_node_destroy: do not focus own node
      workspace: do not destroy if any seat is focusing
      swaymsg.1: add tip about two hyphens for commands
      container_replace: copy {width,height}_fraction
      workspace_split: focus middle if workspace focused
      sway{,-bar}.5: add link to pango font description
      input/seatop_down: add axis handler
      input/keyboard: send released only if pressed sent
      cmd_xwayland: add force for immediate launch
      sway.5: remove mention of floating_scroll
      cmd_move: fix move to scratchpad hidden container
      cmd_mode: don't reset to default after subcommand
      seatop_default: only focus container on press
      swaybar: complete barconfig_update event handling
      sway.5: clarify that a marks are unqiue
      view: always populate pid
      input/keyboard: cleanup xkb_file error handing
      input_cmd_xkb_file: allow shell path expansion
      Add support for wlr_keyboard_group
      input/keyboard: check keyboard group before remove
      config: improvements to the reload validation
      input/keyboard: reset seat keyboard on destroy
      config: apply input type configs on reload
      layer-shell: unfocus output-less layer on unmap
      input/keyboard: remove group listeners on destroy
      input/keyboard: defer wlr_keyboard_group destroy
      config/input: set type for new identifier configs
      root_scratchpad_hide: disable fullscreen descendants
      input/seatop_default: fix focusing floating titles
      seat_cmd_keyboard_grouping: change keymap to smart
      layer-shell: refocus if keyboard interactive lost
      parse_color: return success + drop fallback color
      cmd_client_*: refactor duplicated code
      bar_cmd_colors: remove add_color
      cmd_client_*: support optional args for i3 compat
      input/cursor: handle image surface destroy
      input/cursor: handle setting a NULL image surface
      view: remove workspace pid mapping for assigns
      container: add inactive fullscreen to focus stack
      desktop/output: fix mem leak in handle_new_output
      output: apply oc to outputs using wl_for_each_safe

Cassandra McCarthy (1):
      integer scaling, not integral

Danilo Spinella (1):
      Fix refresh rate scale of output

Dark (1):
      Update titlebar borders to match i3's current behavior.

Drew DeVault (12):
      layer-shell: add support for popups
      Add _incr_version to contrib/
      chmod +x contrib/_incr_version
      config.in: set default term to alacritty
      Update .github/FUNDING.yml
      Update version to 1.2
      Updates per wlroots layer shell changes
      Add seat <seat> idle_{inhibit,wake} <sources...>
      License wallpapers as CC-0
      _incr_version: prompt for target wlroots release
      _incr_version: always overwrite old version number
      Update version to 1.3-rc1

Eli Schwartz (3):
      meson: use join_paths to build paths, instead of string concat
      completion: use pkg-config to get install location for bash/fish
      fish-completion: use the correct fallback directory

Ilia Bozhinov (1):
      properly check pixman_region32_contains_rectangle return

Ivan Molodetskikh (9):
      Add Russian translation of the README
      render: set surface as sampled for presentation
      output: add max_render_time
      Add sway_surface
      view: add max_render_time
      Add max_render_time to output JSON
      Add max_render_time to view JSON
      output: check wlr_output in repaint handler
      Add note about backends to output max_render_time

JR Boyens (1):
      Use transparency arg in the window focus event

Jason (2):
      Amend typos
      Docs: explain why menu command should be passed to sway

Jason Nader (3):
      Amend typo
      commands/move: Fix crash when required args not provided
      Check argc>0 before strcasecmp. Should shortcircuit

Jayce Fayne (1):
      Revert "fix bar_state_update/input event"

John Chadwick (1):
      input: Add support for tablet protocol.

Josef Gajdusek (1):
      Add virtual pointer protocol

Kenny Levinsen (5):
      Ensure that seat->focused_layer is cleared on unmap
      output: Ensure that frame_done is delayed on max_render_time
      output: Replace block_idle_frame with frame_pending
      output: Schedule idle frames if we do not render
      output: Restore previous max_render_time behavior

Kirill Chibisov (1):
      Fix tiled containers resize with mouse

Konstantin Pospelov (2):
      swaybar: do not retry search for tray icons
      swaybar: fix typo in the loop over pixmaps

Laurent Bonnans (1):
      ipc: collapse multi-container command results

Lauri (1):
      Grimshot: a helper for screenshots within sway

Manuel Mendez (1):
      grimshot: fix branching on command exit status

Manuel Stoeckl (1):
      desktop/surface: Fix crash when timer is NULL

Martin Michlmayr (4):
      Fix markup syntax in man pages
      swaymsg.1: fix description of --pretty
      sway-output.5: fix variable name
      swaymsg.1: fix typos

Michael Aquilina (1):
      Fix formatting for title_format in man 5 sway Use explicit linebreaks to make scdoc use a separate line for each entry listed

NightFeather (1):
      Add Chinese (zh-TW) translation of README

Nils ANDRÉ-CHANG (1):
      Fix type (an -> and)

Paul Riou (2):
      input: seat: Fix seat device list not initialised before use
      Fix sway_log using non initialised output_config pointer

Pedro Côrte-Real (3):
      Avoid numerical instability in resize
      Make sure we don't calculate fractional pixel gaps
      Make all the container dimensions integers

Rex Hackbro (2):
      Rename 'node' to 'nodes' in swayipc doc
      fix bar_state_update/input event

Robert Günzler (1):
      Skip line continuation when it is a comment

Ronan Pigott (19):
      view: create container before selecting workspace
      focus: support focus prev|next [sibling]
      criteria: make literal comparison for __focused__ values
      focus: do nothing on focus prev|next for workspaces
      seatop_move_floating: make container respect pointer constraint
      seatop_default: handle focus for xwayland_unmanaged views
      smart_borders: separate smartness from edge types
      Prefer higher refresh rate default modes
      seatop_default: handle focus for unmanaged xwayland windows last
      add scale_filter output config option
      Fix lingering workspace with scratchpad show
      config/output: apply scale_filter even when scale has not changed
      commands/split: Fix error message typos
      ipc-json: Remove unnecessary dereference
      sway-input.5: Document repeat_delay and repeat_rate only once
      sway.5: Document missing bindsym flags for unbindsym
      Fix crash when showing scratchpad hidden split containers
      cmd_move: Fix crash when moving to scratchpad hidden split containers
      cmd_split: Refuse to split scratchpad hidden split containers

Ross Schulman (1):
      Fix small typo in sway-input(5)

Rouven Czerwinski (3):
      sway(5): move workspace_layout to config only
      xwayland: get_constraints using size hints
      xwayland: handle size_hints == NULL

Sebastian Krzyszkowiak (2):
      layer_shell: Guard against negative exclusive zone
      layer-shell: Fix damage tracking of nested popups

Sheena Artrip (1):
      Rename symbol set_cloexec to sway_set_cloexec, remove duplicates.

Simon Ser (22):
      Remove xdg-shell v6 support
      layer-shell: don't give focus to unmapped layer surfaces
      man: document how to specify multiple xkb layouts and options
      Error out on unknown debug flag
      build: update wlroots version, be more strict
      Add support for fullscreen view direct scan-out
      Fix direct scan-out flickering
      build: bump wlroots version to 0.8.1
      build: always use the project version
      Fix apply_output_config return value when enabling output
      Fix segfault in wlr_output_manager_v1_set_configuration
      Handle layer changes for layer shell surfaces
      Fix presentation feedback when scanning out fullscreen view
      Add --custom to `output mode` command
      Fix segfault in set_mode
      Use wlr_output_preferred_mode instead of the last mode
      Add -Wno-missing-braces
      Use new presentation-time helper
      Auto-detect output scale
      Re-add support for wlr_output's atomic API
      Fix unreliable scaling filter
      Revert "Make all the container dimensions integers"

Tadeo Kondrak (3):
      build: remove rootston from wlroots subproject
      Implement input map_to_region command
      Use an enum instead of a marker string for map_to_

Thayne McCombs (1):
      Add missing items to documentation for GET_TREE response in ipc.

Thorben Günther (2):
      Improve transparency script
      A Script to change sway workspace name.

Versus Void (1):
      Do not search for edges on subsurfaces, fix #4381

Whemoon Jang (1):
      Fix typo in swaybar-protocol.7.scd

Wieland Hoffmann (2):
      sway(5): Add a missing verb
      sway(5): Highlight valid values in the description of tiling_drag

asdfjkluiop (1):
      A layer-shell will only be focused if it is non-null

lbonn (6):
      Allow moving a container hidden in scratchpad
      focus: support focus_wrapping workspace
      seat: simplify a strdup
      Fix various memory leaks
      Fix potential NULL reference on cleanup
      focus: add a NULL check in `focus <direction>`

xPMo (1):
      Fix bar_state_update docs

xdavidwu (3):
      seat: avoid unneeded reloading xcursor theme
      seat: set cursor image only if no pointer cap previously
      swaybar: make status block text render in the same way as others