Skip to content

@ddevault ddevault released this Jan 22, 2020 · 221 commits to master since this release

sway 1.4 contains 190 changes from 52 contributors. Highlights include:

  • Support for VNC via wayvnc. The wlroots RDP backend has been removed.
  • Partial support for the MATE panel
  • Configurable input latency controls, see max_render_time in sway(5) and sway-output(5)
  • Keyboard grouping (useful for certain niche keyboard designs)
  • Support for xdg-shell v6 unstable has been removed

The recommended terminal emulator in the default configuration file is now alacritty.

Note: due to a release error, we skipped version 1.3.

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
Assets 4
Pre-release
Pre-release

@emersion emersion released this Jan 15, 2020 · 221 commits to master since this release

sway 1.3-rc3

Brian Ashworth (2):
      view: remove workspace pid mapping for assigns
      container: add inactive fullscreen to focus stack

Cassandra McCarthy (1):
      integer scaling, not integral

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

Jason (1):
      Docs: explain why menu command should be passed to sway

Jason Nader (1):
      Amend typo

Simon Ser (2):
      Fix unreliable scaling filter
      Revert "Make all the container dimensions integers"
Assets 4
Pre-release
Pre-release

@ddevault ddevault released this Jan 8, 2020 · 221 commits to master since this release

sway 1.3-rc2

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

Brian Ashworth (2):
      input/cursor: handle image surface destroy
      input/cursor: handle setting a NULL image surface

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

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

Rouven Czerwinski (1):
      xwayland: handle size_hints == NULL

Thayne McCombs (1):
      Add missing items to documentation for GET_TREE response in ipc.
Assets 4
Pre-release
Pre-release

@ddevault ddevault released this Dec 31, 2019 · 221 commits to master since this release

Sway 1.3-rc1 includes 156 changes from 44 contributors.

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

Aleksis (1):
      remove unused layer shell surface variable

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 (36):
      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: chang* Compositors now need to call `wlr_output_commit` after `wlr_output_enable`, `wlr_output_set_mode`, `wlr_output_set_custom_mode`, `wlr_output_set_transform` or `wlr_output_set_scale`
* `wlr_output_set_mode` no longer implicitly enables the output, compositors need to call `wlr_output_enable` as well
* Compositors now need to call `wlr_output_rollback` after `wlr_output_attach_render` if they decide not to rendere 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

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

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

Drew DeVault (11):
      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

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

Jason (1):
      Amend typos

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

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 (12):
      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

Rouven Czerwinski (2):
      sway(5): move workspace_layout to config only
      xwayland: get_constraints using size hints

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 (20):
      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

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_

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
Assets 4

@ddevault ddevault released this Aug 27, 2019 · 377 commits to master since this release

sway 1.2 includes 128 changes from 37 contributors. This release improves compatibility with i3 4.17, adds a small number of new features, and fixes many bugs.

Abdelhakim Qbaich (1):
      Add the missing constant for the switch input type

Aidan Harris (1):
      Fix segfault with "xwayland false" (#4228)

Alex Maese (1):
      Unhide cursor on cursor activity after touch

Alyssa Ross (2):
      bar: fix segfault with missing or invalid bar id
      commands/bar: improve error for invalid subcommand

Antonin Décimo (7):
      Allocator sizeof operand mismatch
      Remove unused variable
      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

Ashkan Kiani (1):
      Avoid adding duplicate criteria for no_focus and command

Brian Ashworth (52):
      Destroy swaybg client on reload
      config/output: fix typo in merge_id_on_name
      Spawn swaybar as a wayland client
      input/keyboard: attempt default keymap on failure
      commands/bar: fix mode and hidden_state at runtime
      input/switch: fix indentation of file
      common/ipc-client: remove ipc recv timeout log
      bindings: allow unlocked and locked bindings
      Add swaybar protocol documentation
      cmd_hide_edge_borders: add missing arg count check
      criteria: reset on semicolon separation
      commands/input: perform basic keymap validation
      config/input: validate xkb keymap before storing
      bindings: defer while initiailizing
      config/xwayland: retain xwayland status on reload
      config: fix find_handler logic
      cmd_seat: split action and config handlers
      cmd_mode: allow runtime creation and modification
      ws-output-priority: fix logic issue in find_output
      swaybar-protocol.7: fix block border descriptions
      cmd_bindswitch: add option to execute on reload
      input/libinput: only reset supported options
      config/output: correctly set width/height in apply
      cmd_layout: toggle split for tabbed/stack default
      cmd_split: fix toggle split for non-split layouts
      cmd_output: support current output alias
      input_cmd_xkb_switch_layout: support input types
      ipc: add an input event
      ipc: add input::libinput_config event
      arrange: remove gaps for workspace location deltas
      input/libinput: fix typo in set_middle_emulation
      libinput: fix set_send_events
      input/keyboard: don't reset layout for same keymap
      bindsym/code: add group support
      input/libinput: typo fixes (get -> get_default)
      cmd_swap: add floating support
      input/cursor: do not hide when buttons are pressed
      swaymsg: return 2 for sway errors
      cmd_mode: make modes case sensitive
      config/output: rebase cursors after config applied
      sway.5: explain how to enable pango markup in font
      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
      sway.5: remove mention of floating_scroll
      cmd_move: fix move to scratchpad hidden container
      cmd_mode: don't reset to default after subcommand

Daniel Eklöf (3):
      add seat sub command 'xcursor_theme'
      swaybar/nag: use xcursor theme defined by XCURSOR_THEME/SIZE
      check for empty string before calling strtoul() and check errno

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

Drew DeVault (9):
      Add Firefox note to ISSUE_TEMPALTE.md
      Create FUNDING.yml
      Bump meson version to 1.1
      Remove rootston from build manifests
      layer-shell: add support for popups
      Add _incr_version to contrib/
      chmod +x contrib/_incr_version
      Further refinements to _incr_version script
      Update version to 1.2

Ed Younis (2):
      Implement input_cmd_xkb_file (#3999)
      input_cmd_xkb_*: cleanup includes

Ilia Bozhinov (1):
      properly check pixman_region32_contains_rectangle return

Jeff Peeler (1):
      cmd_opacity: add relative opacity changes

Josef Gajdusek (4):
      Implement wlr-output-management-v1
      Update output manager config on all output events
      Provide current DPMS state in GET_OUTPUTS
      Update output manager on layout change

Kenny Levinsen (1):
      Use parent get_root_coords in subsurfaces

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

Manuel Stoeckl (2):
      Replace meson generator with custom_target
      Use -fmacro-prefix-map to strip build path

Matt Coffin (1):
      Fix segfaults caused by faulty command parsing

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

Moelf (1):
      Implement output toggle

Nick Paladino (1):
      Make comment casing consistient

Nomeji (1):
      Add infos to help using for_window to man 5

Paul Ouellette (1):
      Fix typo in sway(5) manpage

Pedro Côrte-Real (7):
      Layout correctly with several new windows
      Layout tiled using a width/height fraction
      Rework gaps code to be simpler and correct
      Sanity check gaps between tiled containers
      Avoid negative outer gaps
      Sanity check gaps on the outside of the workspace
      Fix resize sibling amount calculations

Robert Sacks (1):
      Add missing underscore in bindswitch documentation

Rouven Czerwinski (3):
      desktop: output: fix use-after-free in destroy
      Fix sway crashes for scratchpad layouts
      Revert "Add support for wlr_output's atomic API"

Sauyon Lee (1):
      Make fullscreen check for fullscreen parents

Sebastian Krzyszkowiak (1):
      layer_shell: Guard against negative exclusive zone

Sebastian Parborg (1):
      Make mouse drag in tiled mode swap containers if no edge is selected

Sergei Dolgov (4):
      Add calibration_matrix config option
      Use isnan
      calibration_matrix: add the current matrix to the IPC description for libinput devices
      calibration_matrix: expect 6 individual values

Simon Ser (8):
      Fix xdg-decoration unconfigured if set before first commit
      Remove orbital gamma-control protocol
      ipc: add xkb_layout_names and xkb_active_layout_index
      Add a new xkb_switch_layout command
      Add missing docs for xkb_switch_layout
      Add docs for new IPC keyboard properties
      Remove all wayland-server.h includes
      Add support for wlr_output's atomic API

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

jasperro (1):
      Added Dutch translation of README

lbonn (1):
      Allow moving a container hidden in scratchpad

murray (1):
      use surface coordinates for damaging buffers

random human (1):
      tree: set correct border value before creating floater

rpigott (1):
      Add missing description for focus_on_window_activation command in docs.
Assets 4
Pre-release
Pre-release

@ddevault ddevault released this Aug 20, 2019 · 377 commits to master since this release

sway 1.2 includes 126 changes from 32 contributors. This release improves compatibility with i3 4.17, adds a small number of new features, and fixes many bugs.

Additionally, this release adds support for layer-shell popups, making the MATE panel usable on Sway, among other useful tools. This release also recommends the use of wlroots 0.7.0 (note: not released until the final sway release), and adds support for tools like wdisplays, a GTK+ GUI for configuring displays on supported compositors.

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

Brian Ashworth (7):
      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

Drew DeVault (1):
      layer-shell: add support for popups

Ilia Bozhinov (1):
      properly check pixman_region32_contains_rectangle return

Sebastian Krzyszkowiak (1):
      layer_shell: Guard against negative exclusive zone
Assets 3
Pre-release
Pre-release

@ddevault ddevault released this Aug 9, 2019 · 377 commits to master since this release

sway 1.2 includes 99 changes from 30 contributors. This release improves
compatibility with i3 4.17, adds a small number of new features, and
fixes many bugs.

Abdelhakim Qbaich (1):
      Add the missing constant for the switch input type

Aidan Harris (1):
      Fix segfault with "xwayland false" (#4228)

Alex Maese (1):
      Unhide cursor on cursor activity after touch

Alyssa Ross (2):
      bar: fix segfault with missing or invalid bar id
      commands/bar: improve error for invalid subcommand

Antonin Décimo (2):
      Allocator sizeof operand mismatch
      Remove unused variable

Ashkan Kiani (1):
      Avoid adding duplicate criteria for no_focus and command

Brian Ashworth (41):
      Destroy swaybg client on reload
      config/output: fix typo in merge_id_on_name
      Spawn swaybar as a wayland client
      input/keyboard: attempt default keymap on failure
      commands/bar: fix mode and hidden_state at runtime
      input/switch: fix indentation of file
      common/ipc-client: remove ipc recv timeout log
      bindings: allow unlocked and locked bindings
      Add swaybar protocol documentation
      cmd_hide_edge_borders: add missing arg count check
      criteria: reset on semicolon separation
      commands/input: perform basic keymap validation
      config/input: validate xkb keymap before storing
      bindings: defer while initiailizing
      config/xwayland: retain xwayland status on reload
      config: fix find_handler logic
      cmd_seat: split action and config handlers
      cmd_mode: allow runtime creation and modification
      ws-output-priority: fix logic issue in find_output
      swaybar-protocol.7: fix block border descriptions
      cmd_bindswitch: add option to execute on reload
      input/libinput: only reset supported options
      config/output: correctly set width/height in apply
      cmd_layout: toggle split for tabbed/stack default
      cmd_split: fix toggle split for non-split layouts
      cmd_output: support current output alias
      input_cmd_xkb_switch_layout: support input types
      ipc: add an input event
      ipc: add input::libinput_config event
      arrange: remove gaps for workspace location deltas
      input/libinput: fix typo in set_middle_emulation
      libinput: fix set_send_events
      input/keyboard: don't reset layout for same keymap
      bindsym/code: add group support
      input/libinput: typo fixes (get -> get_default)
      cmd_swap: add floating support
      input/cursor: do not hide when buttons are pressed
      swaymsg: return 2 for sway errors
      cmd_mode: make modes case sensitive
      config/output: rebase cursors after config applied
      sway.5: explain how to enable pango markup in font

Daniel Eklöf (3):
      add seat sub command 'xcursor_theme'
      swaybar/nag: use xcursor theme defined by XCURSOR_THEME/SIZE
      check for empty string before calling strtoul() and check errno

Drew DeVault (4):
      Add Firefox note to ISSUE_TEMPALTE.md
      Create FUNDING.yml
      Bump meson version to 1.1
      Remove rootston from build manifests

Ed Younis (2):
      Implement input_cmd_xkb_file (#3999)
      input_cmd_xkb_*: cleanup includes

Jeff Peeler (1):
      cmd_opacity: add relative opacity changes

Josef Gajdusek (4):
      Implement wlr-output-management-v1
      Update output manager config on all output events
      Provide current DPMS state in GET_OUTPUTS
      Update output manager on layout change

Kenny Levinsen (1):
      Use parent get_root_coords in subsurfaces

Manuel Stoeckl (2):
      Replace meson generator with custom_target
      Use -fmacro-prefix-map to strip build path

Matt Coffin (1):
      Fix segfaults caused by faulty command parsing

Moelf (1):
      Implement output toggle

Nick Paladino (1):
      Make comment casing consistient

Nomeji (1):
      Add infos to help using for_window to man 5

Paul Ouellette (1):
      Fix typo in sway(5) manpage

Pedro Côrte-Real (7):
      Layout correctly with several new windows
      Layout tiled using a width/height fraction
      Rework gaps code to be simpler and correct
      Sanity check gaps between tiled containers
      Avoid negative outer gaps
      Sanity check gaps on the outside of the workspace
      Fix resize sibling amount calculations

Robert Sacks (1):
      Add missing underscore in bindswitch documentation

Rouven Czerwinski (3):
      desktop: output: fix use-after-free in destroy
      Fix sway crashes for scratchpad layouts
      Revert "Add support for wlr_output's atomic API"

Sauyon Lee (1):
      Make fullscreen check for fullscreen parents

Sebastian Parborg (1):
      Make mouse drag in tiled mode swap containers if no edge is selected

Sergei Dolgov (4):
      Add calibration_matrix config option
      Use isnan
      calibration_matrix: add the current matrix to the IPC description for libinput devices
      calibration_matrix: expect 6 individual values

Simon Ser (8):
      Fix xdg-decoration unconfigured if set before first commit
      Remove orbital gamma-control protocol
      ipc: add xkb_layout_names and xkb_active_layout_index
      Add a new xkb_switch_layout command
      Add missing docs for xkb_switch_layout
      Add docs for new IPC keyboard properties
      Remove all wayland-server.h includes
      Add support for wlr_output's atomic API

jasperro (1):
      Added Dutch translation of README

murray (1):
      use surface coordinates for damaging buffers

random human (1):
      tree: set correct border value before creating floater

rpigott (1):
      Add missing description for focus_on_window_activation command in docs.
Assets 3

@ddevault ddevault released this Jun 3, 2019 · 477 commits to master since this release

This release removes two commits which were mistakenly included in sway
1.1, but are incompatible with wlroots 0.6.0.
Assets 3

@ddevault ddevault released this Jun 3, 2019 · 477 commits to master since this release

sway 1.1 includes 255 changes from 58 contributors. This release introduces a few new features, but for the most part just fixes bugs and improves i3 compatibility.

swaybg is now distributed as a standalone program which is compatible with many Wayland compositors. Unlike the other sway clients which have been split into separate projects, however, swaybg is a required dependency of sway. Packagers are encouraged to configure it as such when updating sway for their distribution.

You do not have to change your sway configuration to accomodate for the swaybg changes - the same output commands will still work.

Changes

  • swaybg is now a standalone project

New Features

  • swaybar now includes touch support - tapping to activate hotspots and dragging across to cycle through workspaces
  • You can now manually inhibit idle notifications (DPMS) when a certain criteria is active via inhibit_idle
  • Keybindings can now be unconfigured at runtime via unbind{sym,code,switch}
  • workspace {prev,next}_on_output --create will create the next workspace instead of wrapping to the start
  • Output subpixel layouts can now be explicitly configured
  • i3bar's short_text properties in the JSON protocol are now supported
  • swaybar now supports an "overlay" mode, which shows the bar on top of other windows and doesn't process input events
  • Switch devices (like lid switches) are now supported and can be bound to actions via bindswitch
  • swaymsg now supports a -p/--pretty option for explicitly enabling pretty-printing

Changelog

3ap (1):
      config.in: allow launch apps with args via dmenu

Alex Maese (7):
      Fix a crash in swaybar when an icon dir is not readable
      Create unbindsym and unbindcode commands
      Add unbindswitch command
      Add unbindsym/unbindcode command for swaybar
      Clear pointer focus during move and resize seatops
      Don't send pointer motion when rebasing the cursor
      Fix a silly mistake

Alyssa Ross (1):
      bar: fix segfault with missing or invalid bar id

Ashkan Kiani (5):
      Fix crash for floating command on scratchpad window
      Fix scratchpad logic for floating windows
      Fix potential null accesses
      Add documentation for rename workspace
      Fix the payload type returned by IPC

Ben Challenor (1):
      Make raw keysyms take precedence over translated

Benjamin Cheng (2):
      Add heuristics to differentiate touchpads
      Implement input type configs (#3784)

Brian Ashworth (94):
      seat_cmd_cursor: do not create non-existing seat
      load_include_configs: fix wordexp fail condition
      swaynag: remove trailing newlines in config
      execute_command: dont strip quotes for exec_always
      IPC_COMMAND: split on newline
      cmd_workspace_gaps: fix double free on bad amount
      output_cmd_background: fix no file + valid mode
      load_main_config: add realpath to config_chain
      Clarify error for options and positional args
      load_main_config: use given path, store realpath
      seat_configure_tablet_tool: configure xcursor
      bar_cmd_modifier: add support for none
      container_at_stacked: skip titles when zero pixels
      input/keyboard: respect solo repeat_{rate,delay}
      view: remove pointer constraints on unmap
      ipc: handle unnamed xkb_active_layout_name
      fix misc memory leaks
      Abort early when XDG_RUNTIME_DIR is not set
      workspace_get_initial_output: handle focused layer
      cursor: relative-pointer-v1 time is usec
      subsurface_get_root_coords: break on NULL
      seatop_move_tiling: use tab/stack parent not self
      seat: allow tree focus changes while layer focused
      seatop_move_tiling: do not move to descendant
      apply_output_config: dpms on before modeset
      Fix reload freeze when not modsetting current mode
      sway-input.5: document wildcard and identifier troubleshooting
      workspace_next_name: fallback to next available number
      seat_cmd_cursor: fix typo in expected syntax
      Use container under cursor for mouse bindings
      output_evacuate: call workspace_consider_destroy
      output_get_active_workspace: check workspaces length
      Handle NULL from output_get_active_workspace
      move scratchpad: hide visible scratchpad container
      input/cursor: allow whole-window bindings on ws
      handle_layer_shell_surface: do not use noop output
      handle_seat_node_destroy: update seat->workspace
      execute_command: do not strip qoutes for cmd_mode
      Add sway-ipc.7.scd to document IPC protocol
      sway-ipc.7: clarify window_rect omits decorations
      floating_maximum_size: change default behavior
      render_floating: skip fullscreen floaters
      sway.1.scd: document environment vars set by sway
      meson: update scdoc requirement to >= 1.9.2
      ipc: change {,deco_}rect to match i3
      ipc: fix rect for stacked children
      ipc: fix fullscreen deco_rect
      ipc: describe libinput device configuration
      output_damage_whole_container: damage subsurfaces
      damage: remove output_damage_view
      arrange: use int not size_t for title offsets
      fullscreen: init floating on disable without size
      detect_proprietary: use strncmp
      sway_view_child: add listener for view unmap
      get_deco_rect: fix floaters on tabbed/stacked ws
      Handle seat_get_focused_workspace returning NULL
      criteria: change workspace to support regex
      xwayland: handle floating configure request size
      Set prev_workspace_name based off of focus
      output_cmd_background: validate colors
      Fix output config retrieval for new outputs
      config/output: revamp identifier/name layering
      config/output: handle wildcard in get_output_config
      cmd_mode: allow cmd_set to be a subcommand
      criteria: fix __focused__ when no focus or unset
      fix opening a floating view on the NOOP output
      Implement inhibit_idle command
      Fix xwayland configure request scratchpad crash
      floating: fix size of non-view containers
      scratchpad: set initial size
      root_scratchpad_hide: fix crash when layer focused
      idle_inhibit: fix crash during view destruction
      swaybg: one instance for all outputs
      Honor output for xdg_toplevel_set_fullscreen
      cmd_focus: raise floating for `<criteria> focus`
      Fix scratchpad fullscreen behavior and crash
      swaynag: fix pointer management
      Spawn swaynag as a wayland client
      swaymsg: add timeout and type checks
      cmd_move: allow for all i3 syntax options
      ipc: fix criteria for emitting bar_state_update
      swaynag: revamp type configs
      swaybar: hide mode visibility improvements
      swaybar: add multiseat support
      cmd_move: respect workspace layout when inserting
      cmd_move: add support for output current
      sway.5.scd: clarify workspace config commands
      swaymsg: fix quiet error reporting
      Destroy swaybg client on reload
      config/output: fix typo in merge_id_on_name
      input/keyboard: attempt default keymap on failure
      commands/bar: fix mode and hidden_state at runtime
      input/switch: fix indentation of file
      common/ipc-client: remove ipc recv timeout log

Caleb Bassi (1):
      ipc: add missing fields to disabled outputs

Carlo Abelli (1):
      fix smart_borders description in manual

Connor E (7):
      If validating the config, do it as early as possible.
      Initialize server so input manager is available.
      Return false if config could not be loaded.
      Restore CWD if returning early.
      Make load_include_configs void. Fix some cases where WD would not be restored.
      Allow 0 degree transform (normal transform).
      Add deprecation warnings for new_float, new_window, and force_focus_wrapping.

Dacheng Gao (6):
      add chinese translation
      fix cs
      fix cs
      add link to README-zh-CN
      fix typo
      fix broken link to README.zh-CN.md

Daniel Eklöf (1):
      ipc_has_event_listeners: fix inverted check of subscribed_events

Dmitri Kourennyi (3):
      Implement handling of short_text field of i3 input protocol.
      Ensure predicted position for short text handling doesn't overflow.
      Add margin to short_text handling.

Drew DeVault (11):
      Revert "Restore CWD if returning early."
      Revert "Return false if config could not be loaded."
      Remove refs to unimplemented debuglog command
      Add workspace {prev,next}_on_output --create
      swaybar: process hotspots on touch tap
      swaybar: cycle workspaces on touch drag
      Update language in sway.desktop & sway(1)
      Update formatting of zh-cn link in README.md
      Remove obsolete README translations
      swaybg: split into standalone project
      Bump required wlroots version

Eric Drechsel (1):
      layout cmd: always operate on parent container, like i3Fixes #3724

Flakebi (1):
      Flush stdout in swaymsg when in subscribe mode

Geoff Greer (1):
      Add support for manually setting subpixel hinting on outputs.

Ian Fan (9):
      swaybar: prevent signal handler from firing during termination
      tray: use correct parameter to set bus slot to floating
      tray: when a service is lost, remove all matching items
      tray: fix memory leaks
      tray: fix pixmap colors
      stringop.c: remove unused functions
      stringop.c: clean up headers
      stringop.c: refactor a few functions
      commands: allow tiled sticky containers to be moved

Igor Sviatniy (1):
      Update README.uk.md

Ilja Kocken (1):
      Add link to i3 in first mention of README

Jan Beich (1):
      config/output: unbreak on 32-bit architectures

Jan Pokorný (1):
      bindings: fix overwrite log argument mismatch

Jeff Peeler (1):
      fix "directive argument is null" errors

Josef Gajdusek (1):
      Update output manager config on all output events

Kenny Levinsen (1):
      Use parent get_root_coords in subsurfaces

Konstantin Pospelov (7):
      Implement bindsym --to-code
      config: simplify keysym translation fields
      bindsym: change default keymap for --to-code
      bindsym: update the man page to include --to-code
      bindsym: consider xkb_rule_names for --to-code
      bindsym: change xkb_rule_names initialization
      config: fix clang warning

Lane Surface (1):
      Remove extra inclusion of stdio.h

Martin Michlmayr (1):
      sway-input.5: add xkeyboard-config(7) to "see also"

Maxime “pep” Buquet (1):
      Validate icon_struct in read_theme_file

Michael Vetter (1):
      Set version in project file

Milkey Mouse (1):
      swaybar: add overlay mode (fix #1620)

Noam Preil (1):
      Fixes crash in spawn_swaybg (closes #3733)

Peter Grayson (3):
      Add -p/--pretty option to swaymsg
      Add missing swaymsg completions
      Repair swaynag crash reading message from stdin

Philipe Goulet (1):
      Fix #3924

Philz69 (1):
      Updated the french readme (#3964)

Ranieri Althoff (1):
      Send disabled output available modes on IPC get_outputs

Rouven Czerwinski (9):
      fix double free for mode toggle if bar was invisible
      ipc-client: free payload after sending it over the socket
      run_as_ipc_client: free response after running the IPC command
      commands/move: reintroduce wrongly removed NULL check
      view: set xdg_decoration->view to NULL, check decoration destroy
      cursor: remove unused node assignement
      cursor: intitialize sx and sy to zero
      config: remove double assignement to result in get_output_config
      desktop: output: fix use-after-free in destroy

Ryan Dwyer (10):
      Allow concurrent clicks
      Don't send button events to surfaces when dragging or resizing
      Fix click behaviour
      Replace seatup allows_events with button callback
      Introduce default seatop
      Document the title_format command
      Remove debug tree
      Clean up focus follows mouse logic
      Support focus <direction> for floating containers
      Fix null pointer crash when doing tiling drag

Ryan Walklin (1):
      Support WLR_INPUT_DEVICE_SWITCH in sway

Scott Anderson (1):
      Fix uninitialized read for wlr_surface_send_frame

Simon Ser (5):
      swaybg: add manpage
      Update for wlroots#1660
      ci: enable all features
      Don't submit too much damage
      Fix xdg-decoration unconfigured if set before first commit

Stephan Hilb (1):
      swaybar: fix loading of malformed icon theme

Tim Sampson (1):
      fish: improve completions a little bit

Vincent Vanlaer (1):
      Check layout before getting pointer surface coords

Yorick van Pelt (1):
      Add 'visible' key to view json response

Yábir Benchakhtir (1):
      Spanish translation of the README

Yábir García (2):
      Add spanish link to the home README
      Fix accents

athrungithub (1):
      Don't remove from scratchpad on move to workspace

bschacht (1):
      Set the correct version for wlroots dependency

db (1):
      add --i3 flag to hide_edge_borders

emersion (26):
      Fix quote stripping
      Fix close_popups for xdg-shell
      Rebase cursor when a layer surface maps
      Fix --version when building from tarball
      Disable unneeded wlroots subproject features
      Remove unused header include/sway/tree/output.h
      Fix Meson subproject boolean default options
      Disconnect swaybg instead of killing it
      Fix drag icon map listener not removed
      ci: add Alpine CI
      ci: add FreeBSD
      Don't use SOCK_CLOEXEC
      Add wp-primary-selection-unstable-v1
      Update for swaywm/wlroots#1517
      Set minimum wlroots version
      Print Meson features
      Add output dpms to manpage
      seat: don't send button release when not pressed
      meson: check scdoc version
      ci: use scdoc-git because 1.9.1 is broken
      Set DISPLAY after initializing Xwayland
      Fix container_parent_layout for scratchpad windows
      Fix crash in cmd_workspace when layer surface has focus
      meson: use pkg-config var for scdoc path
      Fix size_t temporary underflow in log_loaded_themes
      Stop using wlr_output->{lx,ly}

hugbubby (1):
      Minor fix of code duplication.

jajo-11 (1):
      Add German translation of the README

ljedrz (1):
      Add Polish README

minus (3):
      Fix crash exiting fullscreened floating container
      Fix crash when moving window to scratchpad
      Fix quoting of commands passed to for_window

mliszcz (1):
      Allow for workspace renaming during exec handling

mwenzkowski (3):
      view.c: refactor view_autoconfigure()
      Don't apply hide_edge_borders to floating windows
      hide_edge_borders.c: add missing case for --i3

vilhalmer (4):
      Focus ws inactive node with focus_follows_mouse
      Skip wildcard seat config in destroy_removed_seats
      Skip constraining cursor if no seat config
      Fall back to wildcard in sway_cursor_constrain
Assets 3
Pre-release
Pre-release

@ddevault ddevault released this May 21, 2019 · 477 commits to master since this release

This is the third release candidate for sway 1.1. Only changes from sway
1.1-rc2 are listed here.

Alyssa Ross (1):
      bar: fix segfault with missing or invalid bar id

Brian Ashworth (1):
      input/keyboard: attempt default keymap on failure
Assets 3
You can’t perform that action at this time.