@ddevault ddevault released this Feb 3, 2019 · 77 commits to master since this release

Sway 1.0-rc1 contains 311 changes from 32 contributors since 1.0-beta2. The release candidates are considered complete and will receive no new features, only bug fixes. Once a release candidate sees a week of testing without turning up any new bugs, it will become a stable release.

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

Package maintainers: please do not package this release.


  • swayidle and swaylock are now standalone projects and must be installed separately. These no longer depend on wlroots or sway's internals and can be used with other Wayland compositors.
  • The minimum required scdoc version is now 1.8.1 (for generating man pages)
  • The minimum required systemd version (for optional systemd integration) is now 239

New features

  • Add tray support to swaybar. Note: this is limited to the SNI protocol. The legacy Xembed protocol is not yet supported, nor is the canonical dbus menu.
  • Pointer constraints (necessary for locking the pointer in video games) is now supported
  • Add hide_cursor <timeout> to hide the cursor when not in use
  • Support for clipboard managers such as wl-clipboard via the data-control-v1 protocol
  • Tiling containers can now be stickied
  • i3's fullscreen global command has been implemented
  • Seat commands can now refer to seat "-" to affect the current seat
  • Add a new xwayland command to disable Xwayland in the config file
  • Add a new tiling_drag_threshold command


  • swaylock: clear password buffer on Ctrl-C, submit password on Ctrl-D
  • Use meson feature options for build configuration
  • Allow output ids and wildcard for workspace output
  • Add option to bindsym/bindcode to suppress warning on override
  • Add relative coordinates in JSON for i3bar click events
  • swaybar: handle block->urgent
  • Add fullscreen_mode to get_tree output
  • Allow tiling views to be dragged by the titlebar
  • Change mouse buttons to x11 map and libevdev names
  • Revamp seat configs
  • swaylock: Add caps lock state to indicator
  • swaybar: add status_padding command
  • swaybar: add status_edge_padding command
  • cursor: allow mapping to all outputs
  • cursor: allow scrolling tabs/stack on title border
  • bind{code,sym}, seat_cmd_cursor, bar_cmd_bind, input_cmd_scroll_button: improve mouse button parsing
  • input_cmd_events: implement toggle
  • get_inputs: add libinput send events mode
  • Extend input <identifier> events toggle with a list of modes to toggle through


This release is mostly bug fixes.

  • Various shell completion improvements and fixes
  • Fix the error result of the fullscreen command
  • Fix outputs that are never enabled
  • Keep focus when destroying containers on non-visible workspace
  • swaybar: fix seperator block width for mixed scales
  • swaybar: fix cursor scale
  • swaynag: damage the cursor surface on update
  • Terminate swaybg in output_disable
  • Fix crash when scratchpad contains split containers
  • Set font options when computing text width
  • seat: unhide the cursor if it is warped to focus
  • swaybar: fix rendering of border and background
  • swaybar: obey height if given
  • Handle empty $XDG_CONFIG_HOME better, without setting it
  • Remove 'input' field of IPC command return json
  • Disarm key repeat on reload
  • Resize only current and immediate siblings rather than all siblings
  • Handle hidden scratchpad containers in commands
  • Permit resizing hidden scratchpad containers in some cases
  • Don't abort when creating layer surfaces with zero outputs
Assets 3