Skip to content
Tags give the ability to mark specific points in history as being important
  • 1.0-rc2
    sway 1.0-rc2
    
    Sway 1.0-rc2 contains 28 changes from 7 contributors since 1.0-rc1, 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 (19):
          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
    
    Connor E (2):
          If validating the config, do it as early as possible.
          Initialize server so input manager is available.
    
    Daniel Eklöf (1):
          ipc_has_event_listeners: fix inverted check of subscribed_events
    
    Michael Vetter (1):
          Set version in project file
    
    Rouven Czerwinski (1):
          fix double free for mode toggle if bar was invisible
    
    emersion (2):
          Fix quote stripping
          Fix close_popups for xdg-shell
    
    vilhalmer (1):
          Focus ws inactive node with focus_follows_mouse
  • 1.0-rc1
    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
    [XXX](https://github.com/swaywm/wlroots/commit/TODO).
    
    Package maintainers: **please do not package this release**.
    
    - [swayidle](https://github.com/swaywm/swayidle) and
    [swaylock](https://github.com/swaywm/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
    
    - 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](https://github.com/bugaevc/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
  • 1.0-beta.2
    sway 1.0-beta.2
    
    7415963987456321 (1):
          Remove extra line
    
    Arnaud Vallette d'Osia (1):
          Advertize dependency on git
    
    Arthur Gautier (1):
          fixes pango_markup support with title_format
    
    Brian Ashworth (31):
          cmd_reload: recalc font sizing + rebuild textures
          Merge branch 'master' into fix-scratchpad-resize
          config: remove peeked + expanded line log entries
          cmd_swaynag_command: fix typo in variable
          Merge pull request #2993 from mwenzkowski/fix-2992
          Merge pull request #3009 from emersion/swayidle-sigusr
          Fix focus_wrapping yes
          gaps: remove duplicate inner gaps
          Implement per side and per direction outer gaps
          resize set: implement width and height keywords
          Merge pull request #3091 from c-edw/feature/FocusFollowsMouseDoc
          Alter config variable replacement process
          Allow multiple outputs for workspace output
          cmd_ws_auto_back_and_forth: fix negation
          Merge pull request #3128 from RyanDwyer/fix-unmap-crash
          Merge pull request #3018 from sxmichaels/add-scroll-factor
          Implement title alignment
          Merge pull request #3183 from emersion/fix-escape-pango
          Merge pull request #3168 from mihaicmn/scratchpad-events
          Change execute_command to return a list of results
          Implement swaynag -B/--button-no-terminal
          Do not strip quotes for cmd_mode
          Introduce a way to show config warnings in swaynag
          Merge pull request #3212 from martinetd/move_floating
          Implement support for swaymsg -t SUBSCRIBE [-m]
          Implement bar gaps
          Fix scratchpad segfault - NULL focused workspace
          Fix default_orientation auto
          Fix titlebar when no title or marks
          swaymsg: parse success of single object
          Merge pull request #3218 from johnae/master
    
    Cameron Nemo (1):
          Create ISSUE_TEMPLATE.md
    
    Christian (1):
          Parse missing i3 window types
    
    Cole Mickens (6):
          tree/view.c: fix uninitialized variables warning
          sway-ipc: includes current_mode for each output
          swaymsg: get_outputs: use output->current_mode for current mode display
          fix: restore refresh to the modes_array
          ipc: move refresh from output to output->current_mode
          commands/resize: fix grow vars uninitialized
    
    Connor E (6):
          Add focus_follows_mouse always. (#3081)
          Update documentation for focus_follows_mouse.
          Use parse_boolean where possible.
          Add some missing frees.
          More frees.
          Implement strip_workspace_name.
    
    Dominique Martinet (1):
          move to workspace: fix moving floating container to non-empty workspace
    
    Drew DeVault (62):
          Merge pull request #2909 from makepanic/issues/2906
          Merge pull request #2913 from emersion/fix-swaybar-hotplug
          Merge pull request #2923 from RyanDwyer/fix-move-to-fullscreen-crash
          Merge pull request #2924 from RyanDwyer/fix-qt-menu-crash
          Merge pull request #2926 from RyanDwyer/fix-xwayland-floating-logic
          Merge pull request #2929 from RyanDwyer/fix-scratchpad-resize
          Merge pull request #2935 from mteyssier/ref-output-docs
          Merge pull request #2944 from RyanDwyer/fix-multiseat-dormant-cursor
          Merge pull request #2942 from ianyfan/swaybar
          Merge pull request #2933 from Snaipe/xwayland-window-properties
          Merge pull request #2954 from RyanDwyer/cursor-rebase-after-focus-direction
          Merge pull request #2957 from RyanDwyer/rebase-cursor-after-map
          Merge pull request #2964 from RyanDwyer/tab-wheel-focus-inactive
          Merge pull request #2925 from ianyfan/swaylock
          Merge pull request #2950 from emersion/presentation-time
          Merge pull request #2975 from RyanDwyer/deny-commands-when-no-outputs
          Merge pull request #2980 from ppascher/allow_workspace_missing_output
          Merge pull request #2982 from Toromtomtom/master
          Merge pull request #2985 from mihaicmn/fix-retiling
          Merge pull request #2989 from RyanDwyer/fix-focus-glitchiness
          Merge pull request #2994 from RyanDwyer/respect-lone-child-border
          Revert "Fix #2992"
          Merge pull request #3001 from madblobfish/swaylock-completions-and-manpage
          Merge pull request #3006 from Snaipe/remove-class
          Merge pull request #3008 from CameronNemo/patch-1
          Merge pull request #3010 from Emantor/fix/cursor_warping_view_map
          Merge pull request #3011 from Emantor/fix/2922
          Merge pull request #3020 from emersion/swaymsg-return-status
          Update ISSUE_TEMPLATE.md
          Merge pull request #3031 from atomnuker/master
          Merge pull request #3042 from madblobfish/swaymsg-fish-completions
          Merge pull request #3037 from RyanDwyer/focus-output-wrap
          Merge pull request #3040 from RyanDwyer/border-props-to-container
          Merge pull request #3041 from RyanDwyer/marks-props-to-container
          Merge pull request #3028 from emersion/disambiguate-drop-root-error
          Clean up dependencies in README.md
          Correction to dependency updates
          Merge pull request #3052 from colemickens/output-current-mode
          Merge pull request #3021 from Snaipe/singlekey-binding-trigger
          Merge pull request #3073 from oranenj/swayidle_workaround
          Revert "Work around swayidle never triggering on SIGUSR1"
          Merge pull request #3075 from swaywm/revert-3073-swayidle_workaround
          Merge pull request #3078 from Emantor/fix/exec_always_double_load
          Merge branch 'master' into effective-damage
          Merge pull request #3068 from emersion/effective-damage
          Merge pull request #3086 from RedSoxFan/fix-dup-inner-gaps
          Merge pull request #3090 from RedSoxFan/resize-set-improved
          Merge pull request #3085 from 7415963987456321/master
          Merge pull request #3098 from c-edw/feature/RefactorArgParse
          Merge pull request #3108 from RedSoxFan/workspace-output-improved
          Merge pull request #3113 from RedSoxFan/fix-ws-auto-back-and-forth
          Merge pull request #2979 from RedSoxFan/config-var-repl
          Merge pull request #3117 from emersion/wlroots-config10
          Merge pull request #3102 from emersion/render-software-cursors
          Merge pull request #3121 from c-edw/feature/MissingFrees
          Merge pull request #3126 from emersion/swap-unused-function
          Merge pull request #3130 from RyanDwyer/fix-mode-double-free
          Merge pull request #3143 from colemickens/grow
          Merge pull request #3142 from RyanDwyer/move-view-properties
          Merge pull request #3147 from emersion/set10
          Merge pull request #3152 from camoz/master
          Merge pull request #3175 from emersion/rename-gtk-primary-selection
    
    Ferdinand Bachmann (1):
          sway-ipc: don't log errno if unneeded and add more descriptive errors
    
    Florent de Lamotte (1):
          Adding commands for configuring titlebar borders and padding
    
    Franklin "Snaipe" Mathieu (4):
          xwayland: populate window_properties in json for views
          ipc: remove class key from view json
          ipc: make class, instance, and title window properties optional
          binding: match single-key bindings if no multi-key binding matched
    
    Harish Krupo (1):
          IPC: Send keyboard layout info in IPC_GET_INPUTS
    
    Ian Fan (14):
          commands: print correct command on error for exec and opacity
          commands: remove EXPECTED_MORE_THAN
          commands: clean-up checkarg function
          commands: replace EXPECTED_LESS_THAN with EXPECTED_AT_MOST
          swaylock: exit early if unable to inhibit input
          swaylock: exit on display error
          swaybar: exit on display error
          swaybar: absorb bar_init function into bar_setup
          swaybar: reverse order of workspaces list
          swaybar: fix scrolling behaviour
          swaybar: when scrolling, check that there are workspaces to scroll on
          swayidle: when acquiring sleep lock, initialize and free variables properly
          swaylock: fix display_event to not block
          Merge pull request #3191 from emersion/fix-swayidle-busy-dispatch
    
    Jarkko Oranen (1):
          Work around swayidle never triggering on SIGUSR1
    
    John Axel Eriksson (1):
          Fix json object ipc return
    
    Konstantin Kharlamov (1):
          seat: don't traverse the list to check if it's empty
    
    Konstantin Pospelov (2):
          resize set: fix units for floating containers
          resize set: add assertion for an invalid unit
    
    Mihai Coman (4):
          Fix re-tiling for floating containers
          IPC: Trigger move events for scratchpad containers
          IPC: Add scratchpad containers to get_tree reply
          IPC: Use consistent function names across ipc-json
    
    Robinhuett (1):
          Use output identifier for workspace config
    
    Rostislav Pehlivanov (2):
          Revert "tree/view.c: fix uninitialized variables warning"
          Revert "Respect border settings when rendering lone tabbed/stacked child"
    
    Rouven Czerwinski (4):
          input-manager: consider cursor warping on input_manager_set_focus
          output: initialize layers and signal before using functions
          commands/exec_always: defer command on config validation
          config: mention that reload message is also printed on validation
    
    Ryan Dwyer (35):
          Make workspace back_and_forth seat-specific
          Fix crash when moving a container to a fullscreen workspace
          Fix crash when quitting a QT app on the wayland backend using menu
          Fix xwayland wants_floating logic
          Merge pull request #2922 from RedSoxFan/fix-2905
          Fix crash when resizing container hidden in the scratchpad
          Merge pull request #2934 from RedSoxFan/config-log-cleanup
          Fix swaybar crash when there's no status_command
          Merge pull request #2941 from ianyfan/commands
          Fix dormant cursor when using multiple seats
          seat_update_capabilities: Set cursor image while we have the capability
          Rebase the cursor after focusing in a direction
          Rebase the cursor after mapping a view
          Add multiseat support to swaylock
          When scrolling on a tab titlebar, set focus_inactive if not focused
          Fix containers not being resized when entering scratchpad
          Document how to identify outputs by make, model and serial
          Rebase the cursor after applying transactions
          Deny several commands when there's no outputs connected
          Fix focus after a non-visible workspace's last container is destroyed
          Respect border settings when rendering lone tabbed/stacked child
          Merge pull request #2995 from colemickens/uninit-warnings
          Don't reset cursor during mouse operations
          Remove enum movement_direction
          Move view border properties to container struct
          Wrap to fartherest output when running focus output
          Move view marks properties to container struct
          Merge pull request #3087 from RedSoxFan/side-gaps
          Fix double free when unmapping any view
          Fix double free of mode
          Merge pull request #3132 from emersion/dispatch-cursor-btn-segfault
          Move view {x,y,width,height} into container struct
          Merge pull request #3185 from emersion/remove-xopen-source
          Merge pull request #3199 from emersion/handle-subsurface-destroy
          Merge pull request #3211 from emersion/child-view-unmapped-segfault
    
    Ryan Walklin (1):
          Add relative output transform
    
    Spencer Michaels (1):
          Add scroll factor config option.
    
    Tom Warnke (1):
          protect newline
    
    Trevor Slocum (1):
          resize set: convert ppt to px for floating containers
    
    camoz (3):
          fix typo in config.in
          fix typo in config.in
          fix typo in swayidle(1)
    
    emersion (65):
          Merge pull request #2903 from RyanDwyer/seat-specific-backandforth
          swaybar: fix hotplug
          Merge pull request #2936 from RedSoxFan/fix-swaynag-command
          Merge pull request #2940 from RyanDwyer/fix-swaybar-crash
          Implement the presentation-time protocol
          Merge pull request #2961 from RyanDwyer/swaylock-multiseat
          Merge pull request #2970 from RyanDwyer/fix-scratchpad-size
          Merge pull request #2971 from RyanDwyer/document-output-identifiers
          Merge pull request #2974 from RyanDwyer/cursor-rebase-after-txn-apply
          Merge pull request #2973 from ianyfan/swaybar
          Merge pull request #2984 from Ferdi265/master
          Merge pull request #2997 from RyanDwyer/fix-cursor-during-operation
          Merge pull request #3003 from Hi-Angel/master
          Merge pull request #3000 from Robinhuett/workspace_address_output_by_name
          swayidle: enter idle state on SIGUSR1
          Merge pull request #3016 from mwenzkowski/fix-uninitialized-pointer
          swaymsg: fix get_outputs status code
          Merge pull request #3033 from RyanDwyer/remove-movement-direction
          Merge pull request #3027 from madblobfish/remove-resolve_path
          Make it clear that being able to restore root is a failure
          Teardown compositor when failing to drop permissions
          Merge pull request #3061 from colemickens/output-current-mode
          Use wlr_surface_get_effective_damage
          Merge pull request #3067 from madblobfish/three-trivial-fixes
          Merge pull request #3066 from mwenzkowski/fix-gaps
          Merge pull request #3071 from RedSoxFan/fix-3064
          Merge pull request #3046 from tokyovigilante/relative-transform
          Merge pull request #3089 from sghctoma/fix-clang-build
          Render software cursors with wlr_output_render_software_cursors
          Merge pull request #3116 from harishkrupo/master
          Use #if instead of #ifdef for WLR_HAS_*
          Fix unused function in swap command
          Fix segfault in dispatch_cursor_button
          Merge pull request #3141 from tslocum/resize-set-floating-ppt
          Use #if instead of #ifdef
          Merge pull request #3083 from c-edw/feature/StripWorkspaceName
          ipc: fix focused in get_outputs reply
          Merge pull request #3160 from camoz/master
          Merge pull request #3171 from camoz/master
          Merge pull request #3158 from emersion/get-outputs-focused
          Update for swaywm/wlroots#1387
          Merge pull request #3178 from progandy/sysconfdir
          Merge pull request #3145 from fdlamotte/master
          Merge pull request #3179 from baloo/baloo/title_format-pango_markup
          swayidle: listen when display becomes writable
          swayidle: fix dbus_event not to block
          Fix pango title escaping
          Merge pull request #3049 from ianyfan/swayidle
          Replace _XOPEN_SOURCE with _POSIX_C_SOURCE
          Merge pull request #3184 from kupospelov/fix-resize
          swayidle: fix busy loop on writable FD
          Merge pull request #3169 from RedSoxFan/title-align
          Handle destroyed subsurfaces
          Damage view child when destroyed
          Merge pull request #3209 from RedSoxFan/fix-3146
          Merge pull request #3204 from RedSoxFan/cmd-res-list
          Merge pull request #3207 from RedSoxFan/swaynag-no-term-buttons
          Fix segfault when destroying unmapped child view
          Merge pull request #3202 from RedSoxFan/swaynag-config-warnings
          Merge pull request #3208 from RedSoxFan/bar-gaps
          Merge pull request #3206 from RedSoxFan/ipc-subscribe
          Merge pull request #3213 from RedSoxFan/fix-3203
          Merge pull request #3214 from RedSoxFan/fix-3156
          Merge pull request #3216 from RedSoxFan/fix-empty-titlebars
          Merge pull request #3219 from RedSoxFan/swaymsg-object-success
    
    madblobfish (9):
          updated fish completions for swaylock
          reordered swaylock manpage
          added fish completions for swayidle
          added fish completions for swaynag
          Revert "Add resolve_path() to utils"
          improved swaymsg completions for fish
          removed unneeded code fragment
          added space after table in sway.5 manpage
          document swaymessage type for get_seats
    
    mteyssier (1):
          Add references to sway-output(5) in sway(5)
    
    mwenzkowski (5):
          Fix #2992
          cursor: fix uninitialized pointer in cursor_rebase
          Fix #2992
          Correct manpage regarding gaps command
          gaps: Improve error reporting
    
    ppascher (2):
          Update workspace.c
          Update workspace.c
    
    progandy (1):
          Meson: Fix SYSCONFDIR definition.
    
    sghctoma (1):
          Fix building with clang
    
  • 1.0-beta.1
    sway 1.0-beta.1
    
    Sway 1.0-beta.1 contains 2,544 changes from 80 contributors since
    0.15.2, plus 3,225 changes from 67 contributors via wlroots, for a total
    of 5,769 changes from 128 people over the past, and is the first
    **beta** release of sway 1.0.  Beta releases are considered
    feature-complete, but are not thought to be bug-free.  Nevertheless, it
    should be suitable for most users, and we did not ship it with any known
    major bugs. Please use it and provide feedback.
    
    Package maintainers: **please do not package this release**.
    
    - 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[0], and for video
      capture try wlstream[1]
    - This release depends on wlroots[2] 0.1 and drops the dependency on wlc.
    - This release depends on scdoc[3] 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.
    
    [0] https://github.com/emersion/grim
    [1] https://github.com/atomnuker/wlstream
    [2] https://github.com/swaywm/wlroots
    [3] https://git.sr.ht/~sircmpwn/scdoc
    
    - 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
    
    ** Not including tray icons
    
    **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[0] are now supported
    - Moving tiled windows with the mouse now behaves like the proposed i3
      feature[1]
    
    [0] https://source.puri.sm/Librem5/virtboard
    [1] https://github.com/i3/i3/pull/3085
    
    **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[0] redshift patch
    
    [0] https://github.com/jonls/redshift/pull/663
    
    * 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[0], lock screens, notification daemons[1], etc)
    - A real time screen capture protocol has been developed and implemented
      (which allows for future third-party screenshot[1] and video
      capture[3] 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
    
    [0] https://github.com/Alexays/Waybar
    [1] https://github.com/emersion/mako
    [2] https://github.com/emersion/grim
    [3] https://github.com/atomnuker/wlstream
    
    **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
    
    - 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
  • 1.0-alpha.6
    1.0-alpha.6
  • 1.0-alpha.5
    1.0-alpha.5
  • 1.0-alpha.4
    1.0-alpha.4
  • 1.0-alpha.3
    1.0-alpha.3
  • 1.0-alpha.2
    404d006a · Enable lazy xwayland ·
    1.0-alpha.2
  • 0.15.2
    0.15.2
  • 1.0-alpha.1
    1.0-alpha.1
  • 0.15.1
    0.15.1
  • 0.15.0
    0.15.0
  • 0.15-rc4
    0.15-rc4
  • 0.15-rc3
    0.15-rc3
  • 0.15-rc2
    0.15-rc2
  • 0.15-rc1
    6271abd6 · Fix #1291 ·
    0.15-rc1
  • 0.14.0
    0.14.0
  • 0.14-rc5
    0.14-rc5
  • 0.14-rc4
    0.14-rc4