🦀 New method of switching between workspaces (#792)
We've implemented "cloaking" as the new default method for hiding/showing windows during workspace switches. This brings a few big improvements:
- Instant transitions when switching between workspaces.
- Better stability and compatibility with third-party apps (resolving issues like #250).
- Consistency in which windows are shown in the taskbar.
Note: With cloaking enabled, windows from all workspaces appear in the Windows taskbar. The new method should hopefully feel much nicer, but the legacy method remains available via general.hide_method
set to hide
.
🎉 Other new features
- New
--hide-window
flag forshell-exec
to run commands in background (#819).- Makes it possible to run scripts without any terminal popup windows.
- Add new
position --x-pos <POS> --y-pos <POS>
command for repositioning floating windows (#817).- e.g.
position --x-pos 0 --y-pos 0
.
- e.g.
- Size and position can now be set with the
set-floating
command (#817)- e.g.
set-floating --x-pos 0 --y-pos 0 --width 500px --height 500px
.
- e.g.
- Smoother restore from maximize into tiling/floating position (#852).
🐛 Bug fixes
- Fix regression from v3.4.0 where some taskbar positions cause incorrect working area (#850, fixes #790).
- Persist window animations setting across restarts (#832, fixes #651).
- Prevent window flicker when toggling between fullscreen states (#851, fixes #640).
- Set focus to valid desktop window in an empty workspace (#821).
🛠️️ Internal changes
- Change cargo lib and bin path to enable build on WSL (#827).
- Linting fixes and working doctests (#834, #831).
Big thanks to @rpop0, @DreamMaoMao, @Miitto, @veryard, @Dovias and @michidk for contributing to this release 💛