Skip to content

Releases: swaywm/sway

1.2-rc1

09 Aug 01:45
Compare
Choose a tag to compare
1.2-rc1 Pre-release
Pre-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.

sway 1.1.1

03 Jun 13:55
Compare
Choose a tag to compare
This release removes two commits which were mistakenly included in sway
1.1, but are incompatible with wlroots 0.6.0.

Sway 1.1

03 Jun 12:45
Compare
Choose a tag to compare

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

sway 1.1-rc3

21 May 14:19
Compare
Choose a tag to compare
sway 1.1-rc3 Pre-release
Pre-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

sway 1.1-rc2

11 May 17:38
Compare
Choose a tag to compare
sway 1.1-rc2 Pre-release
Pre-release
This is the second release candidate for sway 1.1. Only changes from
sway 1.1-rc1 are listed here.

Brian Ashworth (2):
      Destroy swaybg client on reload
      config/output: fix typo in merge_id_on_name

Simon Ser (1):
      Fix xdg-decoration unconfigured if set before first commit

sway 1.1-rc1

03 May 17:34
Compare
Choose a tag to compare
sway 1.1-rc1 Pre-release
Pre-release

sway 1.1-rc1 includes 119 changes from 40 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

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

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

Brian Ashworth (33):
      get_deco_rect: fix floaters on tabbed/stacked ws
      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

Connor E (2):
      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

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 (5):
      swaybar: process hotspots on touch tap
      swaybar: cycle workspaces on touch drag
      Update formatting of zh-cn link in README.md
      Remove obsolete README translations
      Bump required wlroots version

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

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

Ian Fan (1):
      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

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

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

Peter Grayson (1):
      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

Ryan Dwyer (7):
      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 (4):
      swaybg: add manpage
      Update for wlroots#1660
      ci: enable all features
      Don't submit too much damage

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

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

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

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

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

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

emersion (6):
      ci: add Alpine CI
      ci: add FreeBSD
      Add wp-primary-selection-unstable-v1
      ci: use scdoc-git because 1.9.1 is broken
      Fix size_t temporary underflow in log_loaded_themes
      Stop using wlr_output->{lx,ly}

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

ljedrz (1):
      Add Polish README

minus (1):
      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

sway 1.0

11 Mar 15:09
Compare
Choose a tag to compare

Sway 1.0 (together with wlroots) includes 6,875 changes from 205 contributors. This is the first stable release of sway. The recommended wlroots release for use with sway 1.0 is wlroots 0.5.

Changes

  • We have completely overhauled the codebase. Some behaviors were changed to match i3 behavior, in breaking ways. There are likely many bugs we don't know about. Your millage may vary.
  • swaygrab has been removed. For screenshots, try grim, and for video capture try wlstream
  • This release depends on wlroots 0.5 and drops the dependency on wlc.
  • This release depends on scdoc for generating man pages, and drops the dependency on asciidoc.
  • Experimental Nvidia support has been deprecated since its inception, and has now been removed entirely. Please use nouveau and consider future purchases from GPU vendors that support open source. Other proprietary drivers are also unsupported.
  • swaylock is now distributed separately
  • swayidle, a new idle management daemon, is available separately

New Features

  • 100% i3 compatible*
  • 100% i3 IPC compatible*
  • 100% i3-gaps compatible
  • 100% i3bar compatible

* Not including a small number of features which are are deliberately unsupported, such as layout save/restore or features which only make sense on X11

Sway features

  • swayidle, a daemon for managing DPMS and idle activity (e.g. automatic lock after a timeout), has been added - man swayidle to get started
  • swaynag, an i3-nagbar replacement, has been added, with additional features not supported by i3-nagbar - man swaynag to get started
  • bindsym --locked now adds keybindings which work when the screen is locked
  • Command blocks are now generic and work with any command
  • Window opacity can now be adjusted with the opacity command
  • border csd now enables client-side decorations explicitly
  • Atomic layout updates ensure that, when resizing windows and adjusting your layout, you never see an invalid frame with partially drawn clients
  • Urgency hints from Xwayland are now supported
  • Output damage tracking significantly improves CPU performance and power usage
  • Hardware cursors are now supported, improving performance
  • The Wayland, x11, and headless backends are now supported for end-user use, enabling nested and headless sway sessions
  • On-screen keyboards like virtboard are now supported
  • Moving tiled windows with the mouse now behaves like the proposed i3 feature
  • Pointer constraints allow video games and other applications to grab your pointer

Outputs

man 5 sway-output

  • Output rotation (e.g. output NAME transform 90)
  • Fractional scaling (e.g. output NAME scale 1.5) - see man page for warnings
  • Windows can now be dragged between outputs with the mouse (and display correctly when dragged between outputs with different scale factors)
  • Output resolution is now applied via modesetting
  • Sway can now run on multiple GPUs
  • Support for daisy-chained DisplayPort and other exotic configurations
  • All sway clients (e.g. swaylock) now support HiDPI correctly
  • A new gamma control interface with broader hardware support has been implemented* - see this redshift patch

* Some users will have issues with buggy drivers, particularly certain AMDGPU configurations

Inputs

man 5 sway-input

  • Keyboard layout and XKB options may be specified in the config file
  • Multitouch support is now stable
  • Drawing tablets are now supported (partially - it emulates a mouse)
  • You can now specify the status of num lock and caps lock on startup
  • Multiple input devices can be bound to a single on-screen cursor (or several cursors)
  • Multiple keyboards with different layouts can be used interchangeably
  • Multiple seats can be configured (each with their own input devices and focused window)
  • Input devices can be mapped to limit their influence to specific outputs or regions of the screen
  • Input devices which provide absolutely positioned events (e.g. drawing tablets) can now limit their influence to a subregion of the input device
  • Mouse movement and button presses can now be simulated with sway commands

Wayland Features

  • Drag and drop is now supported
  • Rich content (images, etc) can now be copied between Xwayland and Wayland
  • GTK's primary selection protocol has been implemented (and syncs with Xwayland primary selection)
  • The layer-shell protocol has been implemented (which allows for third-party panels, lock screens, notification daemons, etc)
  • A real time screen capture protocol has been developed and implemented (which allows for future third-party screenshot and video capture tools)
  • The idle & idle inhibit protocols have been implemented (which permits DPMS and the inhibition of DPMS by e.g. video players to work)
  • Client-side/server-side window decorations negotiation has been standardized and implemented
  • The xdg-shell stable protocol is now supported

swaylock

man swaylock

  • Now supports different images on each output
  • Appearance can now be configured
  • Adds an optional config file

Misc

  • Xwayland is now started only when the first X11 client is started

Bugs fixed

  • All known problems with xdg-shell have been fixed (such as blurry menus that don't accept focus)
  • All known problems with Xwayland have been fixed (such as Firefox menu weirdness)
  • All known HiDPI bugs
  • All known swaylock & swaybar bugs
  • Reloading your config doesn't cause crashes
  • TTY switching doesn't hang your system
  • Most bugs in general are fixed

sway 1.0-rc5

04 Mar 17:53
Compare
Choose a tag to compare
sway 1.0-rc5 Pre-release
Pre-release

Sway 1.0-rc5 contains 19 changes from 7 contributors since 1.0-rc4, and only
contains bug fixes.

The recommended wlroots version to use with this sway release is 0.4.1.

Package maintainers: please do not package this release.

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

Ian Fan (1):
      tray: fix pixmap colors

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

Rouven Czerwinski (3):
      cursor: remove unused node assignement
      cursor: intitialize sx and sy to zero
      config: remove double assignement to result in get_output_config

Ryan Dwyer (1):
      Allow concurrent clicks

emersion (5):
      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

hugbubby (1):
      Minor fix of code duplication.

1.0-rc4

25 Feb 22:15
Compare
Choose a tag to compare
1.0-rc4 Pre-release
Pre-release

Sway 1.0-rc4 contains 20 changes from 9 contributors since 1.0-rc3, and only contains bug fixes.

The recommended wlroots version to use with this sway release is 0.4.

Package maintainers: please do not package this release.

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

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

Carlo Abelli (1):
      fix smart_borders description in manual

Connor E (1):
      Make load_include_configs void. Fix some cases where WD would not be restored.

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

Rouven Czerwinski (4):
      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

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

emersion (3):
      Fix drag icon map listener not removed
      Don't use SOCK_CLOEXEC
      Update for swaywm/wlroots#1517

minus (1):
      Fix crash exiting fullscreened floating container

1.0-rc3

18 Feb 20:18
Compare
Choose a tag to compare
1.0-rc3 Pre-release
Pre-release
sway 1.0-rc3

Sway 1.0-rc3 contains 24 changes from 6 contributors since 1.0-rc2, and
only contains bug fixes.

The recommended wlroots version to use with this sway release is 0.3.

Package maintainers: please do not package this release.

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

Drew DeVault (1):
      Remove refs to unimplemented debuglog command

Ian Fan (4):
      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

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

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

emersion (6):
      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