sway

i3-compatible Wayland compositor

MIT License

Stars
13.7K

Bot releases are hidden (Show)

sway - 1.0-rc2

Published by ddevault over 5 years ago

sway - 1.0-rc1

Published by ddevault over 5 years ago

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.

Changes

  • 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

Improvements

  • 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

Bugfixes

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
sway - sway 1.0-beta.2

Published by ddevault almost 6 years ago

Sway 1.0-beta.2 contains 274 changes from 36 contributors since 1.0-beta.1. 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.

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

Package maintainers: please do not package this release.

New features

  • Add strip_workspace_name (i3 4.16 feature)
  • Add title_align (i3 4.16 feature)
  • Add pixel argument for border toggle (i3 4.16 feature)
  • Add width and height to resize set (i3 4.16 feature)
  • Allow multiple assignments of workspaces to output (i3 4.16 feature)
  • Add a scroll_factor command to change linear scroll speed
  • Implement bar gaps
  • Add titlebar_border_thickness and titlebar_padding to customize titlebar borders and padding
  • Add warnings to swaynag for duplicate keybindings and invalid background image path
  • Implement the presentation-time protocol
  • Add multiseat support to swaylock
  • Add support for SUBSCRIBE messages in swaymsg (i3 4.16 feature)
  • Implement per side and per direction outer gaps
  • Add active keyboard layout to swaymsg -t get_inputs
  • Add output XXX transform <transform> clockwise|anticlockwise for relative
    transforms
  • Add focus_follows_mouse always
  • Make swayidle enter idle state on SIGUSR1

Improvements

  • workspace back_and_forth is now per-seat
  • Support for additional i3 window types
  • Add window_properties for Xwayland views in IPC replies
  • Update the surface under the cursor when switching views
  • Add a flag to make swaynag run commands directly instead of in a terminal (i3 4.16 feature)
  • Add scratchpad containers to get_tree reply
  • Improved fish shell completions
  • Match single-key bindings if no multi-key binding matched
  • Improved swaymsg -t get_outputs mode information
  • Allow variables to contain commands and multiple arguments
  • Allow multiple outputs for workspace <workspace> output <outputs...>

Bugfixes

This release is mostly bug fixes.

  • Fix focused properties in get_outputs replies
  • Fix pango markup for title_format
  • Fix swaybar output hotplug
  • Fix font sizes on reload
  • Fix swayidle event loop
  • Various fixes to make Firefox Nightly with native Wayland work
  • Change exec to return a list of results
  • Fix crash when moving a container to a fullscreen workspace
  • move to workspace: fix moving floating container to non-empty workspace
  • Fix crash when quitting a QT app on the wayland backend using menu
  • Fix xwayland wants_floating logic
  • Fix move events for scratchpad containers
  • Fix crash when resizing container hidden in the scratchpad
  • Fix cmd_swaynag_command
  • Fix swaybar crash when there's no status_command
  • Fix sway clients not exiting when compositor exits
  • Fix dormant cursor when using multiple seats
  • When scrolling on a tab titlebar, set focus inactive if not focused
  • Fix containers not being resized when entering scratchpad
  • resize set: convert ppt to px for floating containers
  • Fix swaybar scrolling
  • Fix crashes when there's no output connected
  • Fix re-tiling for floating containers
  • Fix focus after a non-visible workspace's last container is destroyed
  • Wrap to fartherest output when running focus output
  • exec_always: defer command on config validation
sway - 1.0-beta.1

Published by ddevault almost 6 years ago

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 14 months, 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.

Breaking 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 mileage may vary.
  • swaygrab has been removed. For screenshots, try grim, and for video capture try wlstream
  • This release depends on wlroots 0.1 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.

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

** 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 are now supported
  • Moving tiled windows with the mouse now behaves like the proposed i3 feature

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-alpha.6

Published by ddevault about 6 years ago

Sway 1.0-alpha.6 contains 390 changes from 18 contributors. Note that sway alpha releases are not considered complete, are missing many features, and will have many bugs. You are strongly encouraged to remain on sway 0.15.x if you are not prepared to deal with constant breakage and keep quiet about it. Please do not submit bug reports for this version of sway. Submit patches instead.

Most of this release is bug fixes and aligning sway ever closer with i3 - our compatibility checklist is 92% complete. We have only a few items left on our todo list for 1.0-beta.1: security features, full drawing tablet support, and pointer locking being the big ones. We also landed a large refactoring in this release, which may make things more unstable for a little while but in the long run will flush out more bugs than not.

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

Package maintainers: please do not package this release.

This changelog only includes new features since 1.0-alpha.5. Bugfixes are not included.

New Features

  • Moving & resizing tiled windows with the mouse is now supported*
  • resize grow|shrink <direction> <amt> now supported for tiled containers*
  • move to workspace <n> now works with floating containers
  • window_role critiera now supported
  • You can now specify a fallback color for swaybg

This release is mostly bug fixes.

* Works even better than on i3!

sway - 1.0-alpha.5

Published by ddevault about 6 years ago

Sway 1.0-alpha.5 contains 273 changes from 21 contributors. Note that sway alpha releases are not considered complete, are missing many features, and will have many bugs. You are strongly encouraged to remain on sway 0.15.x if you are not prepared to deal with constant breakage and keep quiet about it. Please do not submit bug reports for this version of sway. Submit patches instead.

We're starting to see the light at the end of the tunnel here. We've defined the list of features necessary to ship 1.0-beta.1, which will be considered the feature-complete 1.0 release (but not considered bug-free). Sway 1.0 is drawing near!

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

Package maintainers: please do not package this release.

This changelog only includes new features since 1.0-alpha.4. Bugfixes are not included.

New Features

  • Interactive move and resize of floating views (with the mouse)
  • Scratchpad support
  • Support for running sway on multiple GPUs
  • "swaynag" added to offer similar functionality to i3-nagbar
  • Virtual keyboard protocol added for on-screen keyboards
  • Specify numlock and capslock's value on startup (input * xkb_numlock enabled|disabled)
  • pid->workspace mappings (if you start a program and switch workspaces, we remember where you were and open the window there)
  • Mouse bindings
  • Full support for i3-compatible IPC events
  • focus output [name]
  • assign [critera] to output [name]
sway - 1.0-alpha.4

Published by ddevault over 6 years ago

Sway 1.0-alpha.4 contains 304 changes from 20 contributors. Note that sway alpha releases are not considered complete, are missing many features, and will have many bugs. You are strongly encouraged to remain on sway 0.15.x if you are not prepared to deal with constant breakage and keep quiet about it. Please do not submit bug reports for this version of sway. Submit patches instead.

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

Package maintainers: please do not package this release.

This changelog only includes new features since 1.0-alpha.3. Bugfixes are not included.

New Features

  • Real time video capture and improved screenshot capture via dmabuf-export and screencopy
  • Atomic layout updates synchronises layout updates with all clients before rendering the next frame
  • Move and resize commands supported for floating windows
  • Window urgency is now supported
  • swaylock's appearance can now be customized
  • swaylock can now be configured with a file
  • Certain windows are automatically floated now (e.g. dialogs)
  • xdg-positioner is now supported (opening drop-down menus won't go over output boundaries)
  • mode --pango_markup is now supported
  • floating_minimum_size and floating_maximum_size i3 commands supported
  • i3's get_binding_modes and get_config messages now supported over IPC
sway - 1.0-alpha.3

Published by ddevault over 6 years ago

Sway 1.0-alpha.3 contains 291 changes from 13 contributors. Note that sway alpha releases are not considered complete, are missing many features, and will have many bugs. You are strongly encouraged to remain on sway 0.15.x if you are not prepared to deal with constant breakage and keep quiet about it. Please do not submit bug reports for this version of sway. Submit patches instead.

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

Package maintainers: please do not package this release.

This changelog only includes new features since 1.0-alpha.2. Bugfixes are not included.

New Features

  • Basic support for floating windows
  • Tabbed and stacked layouts
  • Drag and drop support
  • Marks
  • Gaps (i3-gaps compatible)
  • Per-output images with swaylock
  • Focus wrapping
  • bindsym --locked
  • swap command
  • Command blocks (e.g. bar { ... }) are now generic and work with any command
sway - 1.0-alpha.2

Published by ddevault over 6 years ago

Sway 1.0-alpha.2 contains 327 changes from 20 contributors. Note that sway alpha releases are not considered complete, are missing many features, and will have many bugs. You are strongly encouraged to remain on sway 0.15.x if you are not prepared to deal with constant breakage and keep quiet about it. Please do not submit bug reports for this version of sway. Submit patches instead.

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

Package maintainers: please do not package this release.

This changelog only includes new features since 1.0-alpha.1. Bugfixes are not included.

This release replaces the asciidoc dependency with scdoc.

New Features

  • Window borders
  • Full damage tracking (performance improvement)
  • Basic touch screen support (only for touch-supported clients)
  • Basic drawing tablet support (simulates a mouse)
  • Fullscreen windows
  • DPMS & auto-lock via swayidle
  • Criteria
  • Mapping input devices to specific outputs or regions of the screen
  • Ignoring input from tablets or touch screens outside a specified region of the device
  • Mouse input simulation (e.g. swaymsg seat default cursor press left)
  • Supports the xdg-shell stable protocol
  • Full support for hardware cursors (performance improvement)
  • Xwayland is now started lazily (when the first X client tries to connect)
sway - 0.15.2

Published by ddevault over 6 years ago

0.15.2 is a bugfix release containing 59 changes from 17 contributors. This is the latest version of the stable 0.15 branch of sway, and is recommended for general purpose use instead of the latest 1.0 alpha version.

Bugs fixed

  • Fix non-compliant KDE tray icons (@4e554c4c)
  • Fix tray items setting and updating icons (@gnidorah and @4e554c4c)
  • Fix various tray segfaults and memory leaks (@4e554c4c)
  • Fix menu placement (@4e554c4c)
  • Popups no longer interfere with swaylock (@CedricCabessa)
  • Fixed an invalid free in workspace logic (@4e554c4c)
  • Send forward/backward mouse buttons to i3bar event listeners (@pvsr)
  • Accomodate for empty i3bar blocks (@pvsr)
  • Gracefully handle status line errors in swaybar (@4e554c4c)
  • Fix memory leaks and sadness throughout (@dlrobertson)
  • Correctly handle i3bar min_width specification (@jrouleau)
  • Minor scratchpad fixes (@taiyu-len)
  • Man page improvements (various)
sway - 1.0-alpha.1

Published by ddevault over 6 years ago

Sway 1.0-alpha.1 contains 624 changes from 5 contributors (plus 2,329 changes from 39 contributors to wlroots) and is the first alpha release of sway 1.0. Note that sway alpha releases are not considered complete, are missing many features, and will have many bugs. You are strongly encouraged to remain on sway 0.15.x if you are not prepared to deal with constant breakage and keep quiet about it. The purpose of this release of sway is to help users understand the progress we've made towards 1.0 and provide internal versions for development use - many of the sway developers will be using sway 1.0-alpha.1 even though it is very incomplete, because it will help us understand the places where it is lacking.

Please do not submit bug reports for this version of sway. Submit patches instead.

Package maintainers: please do not package this release.

Breaking Changes

  • As this is an alpha release and we have completely overhauled the codebase, many (perhaps most) features are missing and broken.
  • This release requires wlroots. The recommended commit of wlroots for use with this release is ba5c0903f9c288e7b617e537ef80eed2a42e08ed.
  • Experimental Nvidia proprietary driver 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.

New Features

Outputs

  • Output rotation (e.g. output NAME transform 90)
  • Fractional scaling (e.g. output NAME scale 1.5)
  • Output resolution is now applied via modesetting
  • Support for daisy-chained DisplayPort and other exotic configurations
  • Swaylock, swaybar, and swaybg support HiDPI correctly

Inputs

  • Multiple input devices can be bound to a single on-screen cursor (or several)
  • Keyboard layout and XKB options may be specified in the config file
  • Multiple keyboards with different layouts can be used interchangably
  • Multiple seats can be configured (each with their own input devices and focused window)

Wayland Features

  • Rich content (images, etc) can be copied from Xwayland to Wayland and vice versa
  • GTK's primary selection protocol has been implemented (and syncs with Xwayland primary selection)
  • The layer-shell protocol has been implemented (which permits future support for e.g. rofi, on-screen keyboards, third-party panels, etc)
  • Orbital's screenshooter protocol has been implemented (which permits third-party software to capture the screen)
  • Idle & idle inhibit have been implemented (which permits DPMS and the inhibition of DPMS by e.g. video players to work)
  • Client-side/server-side decoration negotiation has been submitted for standardization

Other

  • Output damage tracking significantly improves both CPU performance and power usage
  • The Wayland and x11 backends are now supported for end user use
  • Window opacity can be configured with the opacity command

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 generally crash anymore
  • TTY switching probably works
  • Most bugs in general are fixed
sway - 0.15.1

Published by ddevault almost 7 years ago

Sway 0.15.1 is a bugfix release containing 58 changes from 18 contributors.

  • Update to json-c 0.13 (@besser82)
  • Documentation corrections (@Zer0-One, @madblobfish)
  • Portability fixes (@johalun)
  • Output scale now preserved upon reloads/hotplugs (@sideshowdave7)
  • Closing fullscreen windows in nested containers no longer crashes (@SirCmpwn)
  • swaygrab more gracefully handles errors (@ggreer)
  • Fixes to some minor tray issues (@etam)
  • Fix security grants for swaylock -f (@4e554c4c)
  • Clear password buffer after checking it in swaylock (@ggreer)
sway - 0.15.0

Published by ddevault almost 7 years ago

Sway 0.15 includes 199 changes from 39 contributors. New features include scriptable clipboard support and raspberry pi support, but this release is mostly for bug fixes. This is also the last release of sway that will be based on wlc - for more information, see my blog post on the matter.

There will be no 0.16 - the next release will be 1.0.

Changes

  • Default wallpapers are now in /usr/share/backgrounds/sway (@her001 - #1238)
  • Compiling man pages (and asciidoc) is now optional (@SirCmpwn - 23a1e94)
  • README translated into 9 more languages (too many to thank!)
  • We've split our IRC channels into separate support and development channels

New Features

  • Improved clipboard support via swaymsg commands (@nyorain - #1254)
  • swaylock indicator size is now configurable (@4e554c4c - #1294)
  • Raspberry Pi support (@refacto - #1327)
  • swaybar now supports scroll events over IPC (@johnae - #1368)

Bugs Fixed

  • Manual improvements and fixes (@her001, @madblobfish, @Zer0-One, @johalun - various)
  • Tray icon theme parsing support handles getline failure (@Hummer12007 - #1251)
  • Fix tray when dbus is not present (@SirCmpwn, @tobiasblass #1285, @4e554c4c - #1316)
  • Correctly handle empty security policies (@Hummer12007 - #1255)
  • Fix zsh completion for swaylock (@refacto - #1258)
  • FreeBSD compatability fixes (@johalun - #1265, #1271, #1288, #1398, #1402)
  • Use after free in bindsym fixed (@tobiasblass - #1270)
  • Pointer accuracy bugs fixed via wlc (@ascent12 - #1272)
  • swaybar crash with invalid SNI names fixed (@4e554c4c - #1276)
  • Race condition in kill command fixed (@4e554c4c - #1309)
  • IPC now uses nonblocking I/O, fixes #892 (@ilyaluk - #1313)
  • swaygrab no longer uses the shell to execute subprocesses (@clarcharr - #1247, @Ongy - #1351)
  • An issue with variables set via set $xyz was fixed (@karjonas - #1287)
  • A number of bugs with the output command were fixed (@4e554c4c - #1382)
  • Fixed move to workspaces with spaces in their names (@lbonn - #1384)
  • Skip dotfiles when loading security configuration (@lbonn - #1385)
  • Several issues with the scratchpad were fixed (@SirCmpwn - 5ecedc7, 46e5aea)
  • swaygrab now handles permissions errors more gracefully (@ggreer - #1425)
  • swaybar click events had an extra comma (@ptMuta - #1441)
sway - 0.14.0

Published by ddevault about 7 years ago

This release contains 72 changes from 12 contributors. New features include support for tray icons and support for KDE's Wayland extension for client-side border negotiation. Several smaller features and many bug fixes are also included. Updates to wlc also improve touchscreen support and fix the old extra cursor gdm issue.

Tray icons are now supported via SNI, and Xembed support is in-progress and planned for a future release. Tray icons for programs using the new specification should work correctly, but older programs using Xembed will not. Border negotiation requries participation from the client - a patch for GTK+ is available here.

You may have heard that we're replacing wlc, a library that does a lot of low-level plumbing work for Sway. I'm happy to announce that our replacement project, wlroots, is progressing at a great pace - largely thanks to financial support from Nyantec, who offered to sponsor me to work full time on Sway for 3 weeks during this release cycle. Additional support has come from supporters of my new Patreon page - many thanks! Dramatic improvements to Sway will be possible when wlroots is ready. Look forward to it!

Changes

  • libdbus is now an optional dependency for tray icon support (package maintainers, take note)
  • Non-logind systems now report configuration errors more verbosely (@Hummer12007 - #1218)
  • asciidoc is now optional; without it man pages will not be built (@SirCmpwn - cf4ea4c)

New Features

  • SNI tray icon support in swaybar (@4e554c4c - #1234)
  • KDE's server decorations protocol is now supported (@SirCmpwn - #1199)
  • Mouse button bindings (@janza - #1209)
  • i3's no_focus command is now supported (@SirCmpwn - #1196)

Bugs fixed

  • Specifying fewer than 5 colors during configuration did not work (@SirCmpwn - #1201)
  • layout auto with no additional arguments no longer crashes Sway (@zandrmartin - #1204)
  • Issues with the Firefox address bar dropdown have been fixed (@SirCmpwn - d158e18308e91f0c4ae81ac86976b0540e5efd84)
  • Nested child processes of swaybar are now killed correctly (@ykrivopalov - #1236)
  • Minor documentation fixes via @4e554c4c, @zandrmartin, @wdbw, @her001
  • @johalun fixed some FreeBSD issues and is now the FreeBSD point of contact (#1232)
  • Use-after-free bug fixed in bindsym (@tobiasblass - #1270)
  • Fail gracefully when security policies cannot be allocated (@Hummer12007 - #1255)
sway - 0.13.0

Published by ddevault over 7 years ago

This release contains 103 changes from 12 contributors. New features include support for i3's marks feature, "immediate" criteria commands, and experimental support for the nvidia proprietary driver. Many small improvements to i3 compatibility and many bugfixes are also included.

For nvidia users, nouveau is still strongly recommended. The proprietary driver mostly works, but is unsupported - do not report bugs unless you attach a patch. Unless your hardware is unsupported by nouveau, you should continue using nouveau. Using sway with the proprietary drivers requires additional configuration - sway will output the necessary information if you attempt it without a correct configuration.

Package maintainers: please update your packages to use -DVERSION=major.minor.patch. Normally the version is sourced from git, but if you build from a tarball then you'll have to specify it manually.

Changes

  • The new_window and new_float commands are deprecated in favor of default_border and default_floating_border. A similar change is expected from i3. (@zandrmartin - #1105)
  • 444 is now an acceptable file mode for security configs (@jnsaff - #1117)
  • Any executable that is not owned by root will receive the default security policy regardless of any additional configured permissions (@JerziKaminsky)

New features

  • i3-style marks are now supported (@4e554c4c - #1145 & #1155)
  • You may now configure the color of swaylock UI elements via the command line (@4e554c4c - #1078)
  • Floating containers may now be moved with the move command (@4e554c4c - #1092)
  • swaymsg pretty-prints its output if stdout is a tty (@SirCmpwn - #1146)
  • [criteria] command has been implemented (@4e554c4c - #1149)
  • nvidia proprietary driver support has been implemented in wlc (@vially - https://github.com/Cloudef/wlc/pull/245) and sway was updated as necessary (@SirCmpwn - #1147)
  • Security policies can now refer to symlinked executables (@JerziKaminsky - #1173)
  • Version string can now be specified at build time (@snoack - #1194)

Bugs fixed

  • Missing swaylock security settings were added (@SirCmpwn - 21ad45b622eb1fc2c68d1036fd9763a37fec668b)
  • -Werror issues on the latest gcc have been corrected (@Fale - #1086)
  • The codebase is more POSIXly correct and does not rely on GNUisms (@SirCmpwn - 9aed9d9)
  • Issues building against a local copy of wlc has been fixed (@snoack - #1115)
  • A problem with keyboard code in sway's Wayland clients was fixed (@zandrmartin - #1121)
  • Focus could be stolen from fullscreen windows under some conditions (@zandrmartin - #1126)
  • Spaces are now permitted in workspace names (@4e554c4c - #1101)
  • Issues with workspace assignment have been corrected (@zandrmartin - #1105)
  • Man page typos fixed (@johnchen902 - #1113)
  • Crashiness with move [next|prev] was fixed (@oranenj - #1130)
  • Regular expressions are now handled with PCRE for better i3 compatibility (@ascent12 - #1151)
  • Dangling file descriptors on IPC client termination was fixed (@SirCmpwn, @ascent12 - #1153)
  • libcap is now explicitly required in our CMakeLists.txt (@JerziKaminsky - #1150)
  • move [to] scratchpad did not support the "to" syntax (@wasamasa - #1180)
  • Windows leaving the scratchpad are now sized to match i3 behavior (@wasamasa - #1181)
  • Specifying fewer than 5 colors with client.* now matches i3 behavior (@SirCmpwn - #1201)
sway - 0.12.2

Published by ddevault over 7 years ago

Changes

  • 444 is permitted as an access mode for security configs (@jnsaff - #1117)

Bugs fixed

  • move next could cause crashes (@oranenj - #1130)
  • New windows could steal focus from fullscreen windows (@zandrmartin - #1126)
  • Fix problem with workspace_layout auto (@oranenj - #1119)
  • Fix build for systems where wlc headers are not installed globally (@snoack - #1115)
sway -

Published by ddevault over 7 years ago

Bugs Fixed

sway - 0.12

Published by ddevault over 7 years ago

This release contains 93 changes from 11 contributors. Changes in this release include redshift support (currently requires a patched redshift), new automatic layout modes for Awesome migrants, security improvements, and many bugfixes. Please take careful note of the changes to IPC security configuration - these are backwards-incompatible and will require user intervention if you have customized your security configuration.

Package maintainers - /etc/sway/security has been moved to /etc/sway/security.d/00-defaults, and users are no longer expected to edit this file. FreeBSD users should take special note of these changes and will likely want to introduce a new file in /etc/sway/security.d/ that applies a liberal security policy for IPC-related features - the FreeBSD port is unable to enforce per-application IPC rules and you'll want to add a default rule that permits everything for now.

For those hoping to configure sway's default keybindings and behavior to be more like Awesome, see awesome.config

Changes

  • /etc/sway/security has been moved to /etc/sway/security.d/00-defaults and users are now encouraged to add their own security configurations as additional files in /etc/sway/security.d/. Maintainers of software that integrates with sway and require special permissions are encouraged to ship security configs in this directory as well (@SirCmpwn - #1080)
  • If not specified at build time, LD_LIBRARY_PATH will be unset, rather than defaulting to /usr/lib (@Hummer12007 - #1050)
  • Default backgrounds have been losslessly re-compressed and should reduce the package weight if enabled (@Jesin - #1032)
  • Previously undocumented features (swaygrab -f and hide_edge_borders) are now covered by their respective manuals (@Hummer12007, @ametisf - #1073, #1051)
  • Environment logging now occurs prior to compositor initialization, which helps diagnose certain kinds of problems (@SirCmpwn - 41f7aaa)

New Features

  • New automatic layouts unique to sway have been implemented that behave like similar features in WMs like Awesome. See sway(5) and look for layout auto for details. (@willakat - #1024)
  • Sway now supports gamma adjustment, which you can take advantage of with a patched redshift (@SirCmpwn - #1019)
  • IPC features can now be secured on a per-application basis - see sway-security(7) (@SirCmpwn - #1080)
  • focused is now available in window criteria (@Hummer12007 - #1053)
  • output [left|right] now matches i3's wrapping behavior (@dkess - #1048)
  • XWayland window instances are now shown in title bars if necessary (@Hummer12007 - #1052)
  • hide_edge_borders smart is now implemented, following i3 4.13 (@ametisf - #1044)

Bugs Fixed

  • Issues compiling sway on gcc 7 have been resolved (@Fale - #1086)
  • Capabilities are more carefuly handled when transitioning from euid 0 to a normal user, which fixes some problems on systems without logind (@Hummer12007 - #1043)
  • xdg-shell v6 support has been fleshed out in both wlc and sway, which should fix things like broken right click menus on GTK apps (@Hummer12007 - #1070, #1055)
  • Floating windows were created with the incorrect geometry, which has been corrected (@zandrmartin - #1075)
  • Image scaling specified at the swaylock command line was ignored, and now works correctly (@zandrmartin - #1017)
  • Inconsistencies with workspace layouts in IPC messages between i3 and sway were corrected (@Hummer12007 - #1030)
  • Workspaces with spaces in their names are now supported more consistently with i3 (@4e554c4c - #1011)
sway - Sway 0.11

Published by ddevault almost 8 years ago

This release includes 139 changes from 12 authors. The biggest feature 0.11 offers is the first steps towards the goal of a secure Wayland desktop by adding new knobs to secure your sway installation - read sway-security(7) for details. These are only the first steps towards a secure sway, and no promises are made about how well it works. Please test it and look for ways to break it and provide feedback on your experiences.

Package maintainers - consider reading through sway-security(7) and seeing if there are any security-related configuration changes you'd like to ship with your sway installation. SYS_CAP_PTRACE is now required on /usr/bin/sway. Sway also hardcodes LD_LIBRARY_PATH on startup now - you can change this with -DLD_LIBRARY_PATH=... if you set this to something other than /usr/lib in your distro.

FreeBSD users - note that we cannot enforce security policies on a per-executable basis until this issue is resolved. The default security policy will be applied to all executables.

Also note that today I'm happy to introduce the sway bounty program - contribute some cash to support the development of the features you want, or write the code and claim the bounty! Information about this is available here: https://github.com/SirCmpwn/sway/issues/986

Changes

  • Sway now depends on libcap on Linux
  • Moving between containers now wraps according to i3 behavior (@thejan2009 - #936)
  • Alpha blending is now done with CAIRO_OPERATOR_SOURCE (@SirCmpwn - c0916f6)
  • bar pango_markup defaults to false, following i3 change (@Hummer12007 - #958)
  • -Denable-binding-event is no longer available - see sway-security(7) (@SirCmpwn - #981)
  • New floating windows now spawn in the center of the screen (@alkino - #1001)

New Features

  • Clicking titlebars now focuses that window (@alkino, @thejan2009 - #933, #934, #945)
  • Changing focus between floating containers is now supported (@thejan2009 - #935)
  • Numeric character references in bar are now supported (@thejan2009 - #936)
  • Pango markup in workspaces names is now supported (@thejan2009 - #936)
  • Input device configuration can now enable left_handed (@t3hknr - #961)
  • Improvements to logging (@SirCmpwn - 0d6cbca...d3e55f8)
  • New bar colors following new i3 features - see sway-bar(5) (@thejan2009 - #965)
  • New security-related features - see sway-security(7) (@SirCmpwn - #981)

Bugs Fixed

  • Errors in swaybar's hidpi rendering were corrected (@thejan2009 - #920)
  • Bug fixed where IPC events were emitted before IPC initialization (@gutsoo - #923)
  • Segfault during edge case on workspace switching was fixed (@zandrmartin - #924)
  • An IPC tree response compatability issue was corrected (@zandrmartin - #925)
  • Buggy font selection issues were fixed in swaylock (@wasamasa - #928)
  • Fixes to scale factor in text scaling (@alkino - #937)
  • Issue creating a sibling of a floating window fixed (@alkino - #938)
  • Some commands were not matched during command matching (@thejan2009 - #940)
  • Indicator border no longer shown on floating windows (@thejan2009 - #941)
  • An issue with for_window [] move scratchpad was fixed (@thejan2009 - #942)
  • You can now move empty workspaces (@alkino - #947)
  • Fixes with default workspace layouts (@thejan2009 - #945)
  • layout toggle split behavior fixed for tabbed/stacked layouts (@thejan2009 - #966)
  • When swaylock exited, it would not focus whatever you were using before (@cyphar - #1014)
sway - Sway 0.10

Published by ddevault almost 8 years ago

This release includes 118 changes from 19 authors. 0.10 is mostly bug fixes and i3 compatability issues, but major 0.10 news includes FreeBSD support and a package in the official Fedora repositories. A possible privledge escalation vulnerability was fixed in 0.10 - see the changelog for details.

New Features

  • sway now runs on FreeBSD! (thanks @yohanesu75!)
  • swaymsg now pretty prints the JSON response (thanks @acrisci!)
  • The application class is displayed in titlebars if the title is missing (thanks @thejan2009!)
  • Disabling outputs at runtime might work (thanks @thejan2009!)
  • i3's indicator border color feature is now supported (thanks @guiniol, @thejan2009!)
  • Input device names in input configurations now support * (thanks @SirCmpwn!)
  • Initial support for HiDPI was added to swaybar, swaybg, and swaylock (thanks @SirCmpwn, @thejan2009!)
  • Moving views across an output's edge is now supported (thanks @mikkeloscar!)
  • swaygrab can now screenshot the focused container via -f (thanks @zandrmartin!)

Bugs Fixed

  • A security issue was fixed - you are affected if you have users on your system that use sway but do not have root access - details in #884 (thanks @Fale!)
  • A number of changes were made to IPC for better i3 compatability (thanks @acrisci, @zandrmartin!)
  • An uninitialized variable fixed the default config for wrap_scroll (thanks @minus7!)
  • Color parsing previously could cause values to clamp and lose information (thanks @progandy!)
  • workspace back_and_forth and workspace_auto_back_and_forth had issues getting along (thanks @thejan2009!)
  • Weirdness in edge cases with moving windows was fixed (thanks @Hummer12007!)
  • Edge case in workspace handling during view creation was fixed (thanks @thejan2009!)
  • A problem with move container to workspace was fixed (thanks @thejan2009!)
  • Null pointer dereference during config load edge case was fixed (thanks @kb100!)
  • The behavior of hide_edge_borders was fixed (thanks @lukaslihotzki!)
  • Fullscreen windows previously had input priority over swaylock (thanks @SirCmpwn!)
  • The behavior of pango markup on swaybar was fixed (thanks @zandrmartin!)
  • swaybar previously couldn't switch between workspaces with spaces in their names (thanks @thejan2009!)
  • swaybars could be loaded before all outputs were loaded, which could cause a segfault (thanks @RyanDwyer!)
  • An IPC-related segfault during initialization was fixed (thanks @gutsoo!)
  • Possible use-after-free in focus handling was fixed (thanks @zandrmartin!)

Changes

  • Some improvements were made to the default config (thanks @mayhewj, @goetzc, @zandrmartin!)
  • Some internal refactoring around focus (thanks @acrisci!)
  • Some internal refactoring around commands (thanks @zandrmartin!)
  • Improvements were made to man pages (thanks @minus7, @mmlb!)
  • pango_markup in your bar config now defaults to false, following the same change in i3 (thanks @Hummer12007!)