This fixes nix configs changing shell-ids on rebuild as the shell id is now derived from the symlink path. Configs with a symlink in their path will have a different shell id.
Shell ids are used to derive the default config / state / cache folders, so those files will need to be manually moved if using a config behind a symlinked path without an explicitly set shell id.
QS_DISABLE_FILE_WATCHER environment variable to disable file watching.QS_DISABLE_CRASH_HANDLER environment variable to disable crash handling.QS_CRASHREPORT_URL environment variable to allow overriding the crash reporter link.AppId pragma and QS_APP_ID environment variable to allow overriding the desktop application ID.DropExpensiveFonts pragma and QS_DROP_EXPENSIVE_FONTS environment variable which avoids loading fonts which may cause lag and excessive memory usage if many variants are used.--daemonize on some systems.glib and polkit have been added as dependencies when compiling with polkit agent support.vulkan-headers has been added as a build-time dependency for screencopy (Vulkan backend support).breakpad has been replaced by cpptrace, which is far easier to package, and the CRASH_REPORTER cmake variable has been replaced with CRASH_HANDLER to stop this from being easy to ignore.DISTRIBUTOR_DEBUGINFO_AVAILABLE was removed as it is no longer important without breakpad.libdrm is now unconditionally required as a direct dependency.QT_QUICK_CONTROLS_STYLE and QT_STYLE_OVERRIDE are ignored unless //@ pragma RespectSystemStyle is set.Quickshell 0.2 comes with a new method to import QML modules which is supported by QMLLS. This replaces “root:/” imports for QML modules.
The new syntax is import qs.path.to.module, where path/to/module is the path to
a module/subdirectory relative to the config root (qs).
LSP support for Singletons and Root-Relative imports can be enabled by creating a file named
.qmlls.ini in the shell root directory. Quickshell will detect this file and automatically
populate it with an LSP configuration. This file should be gitignored in your configuration,
as it is system dependent.
The generated configuration also includes QML import paths available to Quickshell, meaning
QMLLS no longer requires the -E flag.
Quickshell can now manage your bluetooth devices through BlueZ. While authenticated pairing has not landed in 0.2, support for connecting and disconnecting devices, basic device information, and non-authenticated pairing are now supported.
HyprlandToplevel and related toplevel/window management APIs in the Hyprland module.Quickshell.execDetached(), which spawns a detached process without a Process object.Process.exec() for easier reconfiguration of process commands when starting them.FloatingWindow.title, which allows changing the title of a floating window.signal QsWindow.closed(), fired when a window is closed externally.DesktopEntry.startupWmClass and DesktopEntry.heuristicLookup() to better identify toplevels.DesktopEntry.command which can be run as an alternative to DesktopEntry.execute().//@ pragma Internal, which makes a QML component impossible to import outside of its module.qs log and qs list.Quickshell.shellRoot has been renamed to Quickshell.shellDir.screen was set under X11.Item.FileView crashing if watchChanges was used.SocketServer sockets disappearing after a reload.ScreencopyView having incorrect rotation when displaying a rotated monitor.MarginWrapperManager breaking pixel alignment of child items when centering.IpcHandler, NotificationServer and GlobalShortcut not activating with certain QML structures.MprisPlayer.lengthSupported not updating reactively.NeedsAttention and no attention icon is provided.HyprlandWorkspace.activate() sending invalid commands to Hyprland for named or special workspaces.QsWindow attached object not working when using WlrLayershell directly.Process objects.ColorQuantizer printing a pointer to an error message instead of an error message.Initial release