Package Maintainers - PLEASE READ
DMS 1.6 changes the way DMS is packaged, this changes the build process slightly.
Breaking, Requires Change:
- Quickshell UI is embedded in the binary and no longer needs to be installed to to /usr/share/quickshell/dms . Remove this step from your build script
- Add
-tags withshellto the normal build tags. Runmake sync-shellprior to runninggo buildfrom thecoredirectory - Checkout must also checkout the dank-qml-common submodule before building.
git submodule update --init --recursive - dank-greeter is no longer a part of DMS, it is a standalone app: https://github.com/AvengeMedia/dank-greeter
Informational:
- dgop, curl are no longer hard dependencies. They can be removed from DMS dependency list
- All of the Dank Desktop packages are released together from this point forwards. For example, DMS v1.6.0 was released which also means dgop v1.6.0, dsearch v1.6.0, dcal v1.6.0, and dgreeter v1.6.0 were released alongisde it.
Installation
curl -fsSL https://install.danklinux.com | shAssets
Complete Packages
dms-full-amd64.tar.gz- Complete package for x86_64 systems (CLI binaries + QML source + shell completions + installation guide)dms-full-arm64.tar.gz- Complete package for ARM64 systems (CLI binaries + QML source + shell completions + installation guide)dms-full-freebsd-amd64.tar.gz- Complete package for FreeBSD x86_64 systemsdms-full-freebsd-arm64.tar.gz- Complete package for FreeBSD ARM64 systems
Individual Components
dms-cli-amd64.gz- DMS CLI binary for x86_64 systemsdms-cli-arm64.gz- DMS CLI binary for ARM64 systemsdms-cli-freebsd-amd64.gz- DMS CLI binary for FreeBSD x86_64 systemsdms-cli-freebsd-arm64.gz- DMS CLI binary for FreeBSD ARM64 systemsdms-distropkg-amd64.gz- DMS CLI binary built with distro_package tag for AMD64 systemsdms-distropkg-arm64.gz- DMS CLI binary built with distro_package tag for ARM64 systemsdms-distropkg-freebsd-amd64.gz- DMS CLI binary built with distro_package tag for FreeBSD x86_64 systemsdms-distropkg-freebsd-arm64.gz- DMS CLI binary built with distro_package tag for FreeBSD ARM64 systemsdankinstall-amd64.gz- Installer binary for x86_64 systemsdankinstall-arm64.gz- Installer binary for ARM64 systemsdms-cli-<version>.tar.gz- Go source code with vendored modules (for distro packaging)dms-qml.tar.gz- QML source code onlydms-source.tar.gz- Full repository source with bundled DankCommon (for distro packaging)
Checksums
*.sha256- SHA256 checksums for verifying download integrity
Installation: Extract the dms-full-*.tar.gz package for your architecture and follow the INSTALL.md instructions inside.
What's Changed
Features
- feat(void): switch package repositories to R2 by @purian23 (204ecd0)
- feat(media): add toggle for album art accent colors (#2831) by @hthienloc in #2832
- feat(release): add issue notification script for retesting on new releases by @purian23 (6e7c20c)
- feat(ipc): add settings dump to print full live config as JSON by @sweenu in #2817
- feat(dms updater): add support for ignoring specific packages during system updates by @purian23 (e4657aa)
- Feature/split move size hyprland windowrules by @Mikilio in #2824
- feat: new PAM auth management & settings in greeter/lockscreen by @purian23 (b169fe0)
- feat(auth): expand shared PAM support for custom policies by @purian23 (48e36ae)
- feat(power): lower refresh rate on battery by @atimofeev in #2428
- feat(settings): add explicit border toggle and updated layouts by @purian23 (92ba2bb)
- feat(notifications): introduce notification foreground layers settings override by @purian23 (3c688cf)
- feat(nix): opt-in dankshell-u2f PAM service for lock screen security keys by @purian23 (c2c180d)
- feat(bluetooth): built in audio codec support - another dep bites the dust by @purian23 (2114ece)
- feat(network): initial WiFi hotspot support by @ronharel02 in #2825
- feat(settings): add Mouse & Touchpad settings tab for Niri by @hthienloc in #2905
- feat(settings): add option to suppress config reload toast (#2730) by @hthienloc in #2915
- feat(Themes): add support for GTK3 dynamic theming by @euletheia in #2523
- feat(ipc): add 'dismiss' function to notifications ipc by @euletheia in #2942
- feat: add QR Generator launcher by @hthienloc in #2941
- feat(keybinds): add keybind for PAM U2F on lock screen by @nozsh in #2930
- feat(wallpaper): support random cycling order by @hthienloc in #2936
- feat(tray): add IPC action to open tray menus by @lankong0522 in #2701
- feat(settings): add keyboard configuration tab for Niri by @hthienloc in #2937
- feat(theme/settings): dedicated floating window styling with shared chrome by @purian23 (9013464)
- feat(registry): support multiple plugin and theme registries via env vars by @louzt in #2972
- feat(plugins): add portable plugin lockfile by @artrixdotdev in #2976
- Feat/translation by @maximal1st in #2980
- feat(settings): add location search to theme & gamma coordinates by @Curious-r in #3010
- feat(theme): add extract dynamic theme to JSON file by @hthienloc in #3009
- feat(filebrowser): expose folder mode on surface modal by @hthienloc in #3022
- feat(dock): cycle grouped app windows by @hthienloc in #3023
- feat(clipboard): add overlay layer option by @hthienloc in #3037
- feat(dock): add option to separate pinned and running apps by @hthienloc in #3025
- feat(settings): echo location name in location search by @Curious-r in #3040
- feat(clock): add widget date order option by @hthienloc in #3028
- feat(matugen): add Fcitx5 theme template by @hthienloc in #3076
- feat(settings): finalize dms settings user theme options by @purian23 (d4fecfc)
- feat(dankbar): corner style & bar length padding by @hthienloc in #3085
- feat(theme): support qtengine as a Qt platform theme by @Conava in #3019
- feat(niri): close overview on window focus by @korbash in #3030
- feat(chooser): edit and copy target by @hthienloc in #3094
- feat(screenshot+colorpicker): support 10-bit colors via wp_color_manager_v1 by @bbedward (396d490)
- feat(battery): show estimated end time by @hthienloc in #3117
- feat(resize-api): add runtime resize functionality for desktop widgets by @SunPodder in #3114
- feat(audio): add output port selection by @wongcallum in #2779
- feat(settings): search runtime plugins by @hthienloc in #3136
- feat(bar): add focused window details popout by @hthienloc in #3139
- feat(wallpaper): add folder-based wallpaper selection and shuffle by @greenbugx in #2990
- feat(Dank Island): add new island bar instance by @purian23 (4447d77)
- feat(dank16): Support full matugen color format output by @pdf in #3148
- feat(screenshot): use native cursor shapes by @hthienloc in #3155
- feat(screenshot): drag region with ctrl by @hthienloc in #3157
- feat(motion): spring-based physics & shell hybrid material animations by @purian23 (195ec3b)
- feat(control-center): show Bluetooth battery in quick tile by @0xdeafbeef in #3160
- feat(dankisland): render notification severity as a border accent by @purian23 (25e95d5)
- feat(theme): add support for matugen smart mode and type by @haikalllp in #3109
- feat(screenshot): allow dragging region across outputs, add alt modifier to restrict to one output by @bbedward (12df4bd)
- feat(launcher): cycle modes with ctrl-tab by @hthienloc in #3204
- feat(spotlight): align tab navigation with full launcher by @hthienloc in #3205
- feat(clipboard): accept dropped content by @hthienloc in #3211
- feat(lock): add vertical clock style by @hthienloc in #3220
- feat(settings): improve battery status layout by @hthienloc in #3103
- feat(mpris): pin preferred media source by @scottsteely in #3150
- feat(lockscreen): allow to enable/disable of weather by @purian23 (7372b79)
- feat(battery): show charge/discharge rate in the bar widget by @SpyrosPsarras in #3210
- feat(clipboard): clear only the filtered entries by @Mario-Mohar in #3235
- feat(dock): sync background and icons in frame overview by @hthienloc in #3252
- feat(clipboard): add a copy-as-text action for entries with a text alternates by @purian23 (5bb6058)
- feat(screenshot): support 4-corner resizing while holding Ctrl by @hthienloc in #3259
- feat(controlcenter): add wifi refresh button by @YewFence in #3245
- feat(island): dedicated volume/brightness activities & placement options by @purian23 (65ee46e)
- feat(screenshot): add live preview panel for scroll capture by @hthienloc in #3269
- feat(battery): circle battery option per/bar instance & theme/step colors by @purian23 (78e3308)
- feat(screenshot): add --geometry flag to selection coordinates by @hthienloc in #3274
- feat(theme): add a selectable source color mode for wallpaper palettes by @Conava in #3020
Fixes
- fix(workflow): void stable packages by @purian23 (a48cce5)
- fix(notifications): handle sound-name hint by @bbedward (0439d01)
- fix(ListViewTransitions): null transitions when duration truncates to 0ms by @14Do in #2791
- fix(media): resolve monochrome album art accents by @bbedward (c44ffae)
- fix(settings): battery tab items not in search by @scottmckendry in #2794
- qs/common: fix path decoding fixes #2802 port 1.5 by @bbedward (56b7ecb)
- fix(player): combine trackid with text identity by @kanghengliu in #2808
- fix(notifications): dismiss popups when senders close notifications by @atimofeev in #2815
- widgets: fix dropdown/icon picker referencing a dead window port 1.5 by @bbedward (5212345)
- fix(void): updated dms-greeter stability support by @purian23 (71ab752)
- fix(printers): fix add by address with manually entered host by @bbedward (7544375)
- fix: use sleep_monitor/wakeup_monitor for DPMS to preserve monitor layout by @A0-42 in #2842
- fix(process-list): defer IPC actions until modal is loaded by @AiraNadih in #2829
- fix(dash-tabs): update visibility logic for dash tab elements by @purian23 (f590a29)
- fix(port-audit): update git fetch command to include prune opt by @purian23 (8a0ed8a)
- Fixed bluetooth UI bug mentioned in #2627 by @Salio24 in #2850
- fix(dash): resolve pointer cursor hover issue in connected mode by @hthienloc in #2845
- core: fix security and concurrency issues found in a backend audit by @asteroidzman in #2805
- dock: fix dock s howing with no apps port 1.5 by @bbedward (9ff751b)
- fix(Modal): respect targetScreen property instead of always using focused screen by @hthienloc in #2861
- chore: fix indentation in niri media key bindings. by @Alexis12119 in #2858
- media: fix track art flash from chrome changing media art sizes on track change by @bbedward (544599b)
- fix(greeter): reimplement regression to hide debug logs during login by @purian23 (5b41d69)
- gamma: fix scheduler losing track during suspend by @bbedward (5d2093e)
- tailscale: fix inconsistency in styling of control center widget port 1.5 by @bbedward (2edf70a)
- fix(media-player): update Mpris stable metadata handling by @purian23 (fe1a783)
- fix(qml): resolve lint regressions from async shell loading by @purian23 (7c24e85)
- launcher: fix usage history loading by adding guards by @bbedward (6d206c9)
- core: fix log file deadlock by @bbedward (9686f29)
- fix: include Hyprland in minimal install logic by @NeoDarkness in #2872
- dash/weather: fix X wheel scroll by @bbedward (5589cfb)
- launcher: fix sticky header appearance without blur by @bbedward (6c45413)
- fix(DankSlideout): update textureSize for improved rendering by @purian23 (4cb09dc)
- bar: fix bar order-creation regression caused by async loading by @bbedward (95e1d6b)
- fix(network): cancel in-flight connection when setting autoconnect by @bbedward (bdaa6bc)
- fix(frame): restore frame edge inset states regression in framemode by @purian23 (00b22df)
- widgets: fix hidden widgets disrupting index when arranging widgets by @bbedward (5dfd875)
- dash: fix color tokens for placeholder in calendar, and weather failed by @bbedward (eb330f6)
- systray: fix menu positioning on vbars by @bbedward (1402d23)
- Fix(spotlight): improve file search query restoration and mode switching by @Legend-017 in #2887
- lock: fix dpms fade surface getting stuck after unlock by @bbedward (116cef0)
- polkit: fix DMS_DISABLE_POLKIT regression from qs 0.2 deprecation commit by @bbedward (68e60f0)
- popout: fix lifecycle of blur with various popouts by @bbedward (93c3030)
- fix(void): update working templates on dms-git by @purian23 (1c01254)
- fix(lock): hold sleep inhibitor until compositor confirms lock by @tkroll-ionos in #2907
- calendar/dcal: fix flatpak socket detection by @bbedward (d818067)
- settings: fix close IPC by @bbedward (5854327)
- network: fix networkPreference reverting from eth to wifi by @bbedward (4206036)
- cups: fix initialization race by @bbedward (ea03fb2)
- fix(settings): reset AppBrowserPopup model on close to avoid crash by @feng-yifan in #2925
- dbar/notifications: fix right click context menu position and add middle click to DnD by @bbedward (1f94c3c)
- sysupdate: fix gnome-terminal title by @bbedward (c367153)
- dbar: fix click-through mask of center section by @bbedward (9b7d3c6)
- cups: fix sub/unsub race by @bbedward (bab2078)
- fix(BatteryService): fix unresolved icons for notifications and dismiss alerts when plugged in by @euletheia in #2943
- fix(BatteryService): fix typo in notification check by @euletheia in #2944
- launcher: fix regex escaping launch args by @bbedward (a710d6d)
- keybinds: fix labeling of spawn keybinds by @bbedward (5bb884d)
- frame: fix popout IPCs in some situations by @bbedward (2d37063)
- fix(network): authenticate Fortinet VPNs natively by @Grant07 in #2959
- fix(battery): reliably apply configured power profiles at shell startup by @purian23 (400a18a)
- fix(Lockscreen) - cover pixel of the loading Spinner by @rredlip in #2989
- fix(mpris): remove required non-null artist/title from idle condition by @jack-mil in #2993
- fix(tray): don't dismiss click-opened tray menus from the hover controller by @nofuturekid in #2979
- bar: fix shadow from tinting goth corners by @bbedward (6ad46cf)
- fix(slideout): yield keyboard focus when modal is open on same screen by @hthienloc in #2902
- fix(settings): hide removed widget tooltip by @hthienloc in #3003
- fix(launcher): honor source badge setting in grid mode by @hthienloc in #3002
- fix(notifWidget): restore hand cursor on hover by @purian23 (a575363)
- fix: dank-qml-common for dropdown close by @purian23 (915db2d)
- fix(dock): skip creating dock layers when dock is disabled by @hthienloc in #3014
- fix(bluetooth): derive codec from locale-independent profile name in bluez-card-profile.lua by @bbedward (cf4f480)
- fix(displays): auto-select restores named profiles matching the connected output set by @bbedward (f16bdda)
- fix(geolocation): fetch IP location lazily so startup never contacts ip-api.com by @bbedward (a713485)
- fix(frame): honor showOnLastDisplay fallback in bar screen-coverage checks by @bbedward (fc90bdd)
- fix(doctor): correctly report built-in font status by @purian23 (3c817dc)
- fix(hyprland): don't restore focus to a toplevel on another workspace when a popout closes by @bbedward (0b526d9)
- fix(windowrules): preserve niri exclude clauses by @bbedward (8e2168e)
- fix(brightness): initialize display state by @hthienloc in #3035
- fix(dock): preserve overview-only visibility by @hthienloc in #3029
- fix(ipc): widget status distinguishes missing popouts from closed ones by @bbedward (2f27eab)
- fix(dock): cycle niri overview groups by @hthienloc in #3038
- fix(copr): fix dms-git fedora copr packaging format by @purian23 (6f1bcfd)
- fix(dankinstaller): update OBS repo handling for Debian distro variants by @purian23 (faeced3)
- fix(distros): add Debian OBS targeted version logic by @purian23 (209cfe6)
- fix(matugen): support Vesktop Flatpak themes by @hthienloc in #3075
- fix(launcher): hide spotlight placeholder during IME input by @hthienloc in #3071
- fix(osd): clamp vertical brightness slider by @hthienloc in #3067
- fix(dock): animate overview reveal in frame mode by @hthienloc in #3065
- fix(dock): close grouped app on middle click by @hthienloc in #3064
- fix(frame): align connected chrome layer by @hthienloc in #3039
- fix(notifications): keep popup above frame chrome by @hthienloc in #3099
- fix(frame): preserve connected popout chrome by @hthienloc in #3101
- fix(trash): keep tests off the machine's real per-mount trash dirs by @Conava in #3100
- fix(system-update): apply saved updaterIntervalSeconds on daemon connect by @tkroll-ionos in #3093
- fix(lock): handle ctrl-backspace by @hthienloc in #3087
- readme: fix broken star history chart by @FaintFlower in #3088
- fix(frame): restore overlay connected chrome by @purian23 (327aad2)
- fix(settings): restore control center menu by @hthienloc in #3113
- ci: fix caching by @bbedward (c30ee19)
- fix(dgop): stop the process list opening blank by @cwelsys in #3108
- fix(launcher): clip tile labels to rounded corners by @hthienloc in #3126
- fix(dankbar): consume empty-area right clicks by @hthienloc in #3127
- fix(displays): restore scale after revert by @hthienloc in #3124
- fix(plugin): support for symlinked configs by @scottmckendry in #3090
- fix(session): persist the idle inhibitor across shell restarts by @Mark2Mac in #3123
- fix: update Mango named scratchpad keybind by @fluxwrk in #3118
- fix(display): enforce at least one real monitor in profile application by @Mikilio in #3106
- fix(accounts): stage profile icon through /tmp before SetIconFile by @bbedward (6a0197d)
- fix(keybinds): record Shift+digit from the physical key by @bbedward (47fe1eb)
- fix(doctor): explain Qt private API mismatch by @bernardopg in #3131
- fix(shell): recover bar surfaces on screen removal and geometry change by @bbedward (589737e)
- fix(workspaces/hyprland): recover workspace mapping on monitor hotplug by @bbedward (90c5f65)
- fix(screenshot): support multi-monitor region capture by @hthienloc in #3132
- fix(tailscale): back off when the IPN bus read fails by @cwelsys in #3142
- fix(shell): re-commit layer surfaces on screen reconnect instead of rebuilding bars by @bbedward (4a021a7)
- fix(DMSShell): cast LazyLoader items so lint-qml can resolve modal methods by @purian23 (7109a52)
- island: fix transition regression by @bbedward (eadb8cf)
- fix(frame): consume gutter clicks by @hthienloc in #3158
- island: fix hover-expand getting stuck after slot hover by @bbedward (20b8605)
- fix(processlist): stop polling when the popout is closed by @kanghengliu in #3159
- battery: fix meter legibility with percent sign on the bar by @bbedward (c9e6144)
- fix(network): repair 802.1x credential persistence, add EAP method selection by @bbedward (fb96661)
- fix(launcher): DankLauncherV2 was missing id and genericName search by @z1-0 in #3122
- bar/island: fix click targets on satellites by @bbedward (ea0b158)
- fix(tray): prefer tooltip title in menu by @0xdeafbeef in #3181
- fix(BatteryService): send distinct D-Bus urgency for low vs critical battery by @purian23 (0091e70)
- fix(suncalc): parenthesise the sunrise-equation denominator (up to 24 min error at high latitude) by @Mark2Mac in #3192
- fix(matugen): honor config dir for qtengine sync by @elel-code in #3195
- fix(bar): prevent focused app overlap by @0xdeafbeef in #3190
- fix(weather): skip reverse geocoding when a location name is configured by @purian23 (e620677)
- fix(matugen): detect nix profile bins & write pywalfox colors.json by @purian23 (95e617f)
- fix(settings): keep search result visible by @hthienloc in #3209
- fix(clipboard): stack clear dialog above modal by @hthienloc in #3207
- FIxes #3043 Added Non Interactive Install script by @JDKamalakar in #3063
- fix(island): fix ghost widgets & extended clicks on near island/screen edges by @purian23 (3306772)
- fix(popouts): close hover surface on click by @hthienloc in #3223
- fix(settings): label primary bar spacing sliders correctly by @njfletcher215 in #3228
- fix(battery): keep last good charge through unknown/zero readings by @purian23 (9bd31e3)
- fix(island): click through empty strip space when floating fixes #3227 by @bbedward (9628628)
- fix(dock): hide overlay dock over fullscreen by @hthienloc in #3224
- fix(keybinds): show hl.unbind + hl.bind overrides from user Lua modules by @Mario-Mohar in #3238
- shell: fix media text collapse, stale plugin cc detail, theme browser open by @bbedward (c580aa2)
- fix(theme): take sun times from the local calendar day, not the UTC one by @Mario-Mohar in #3237
- fix(doctor): validate QT_QPA_PLATFORMTHEME instead of trusting its presence by @bernardopg in #3240
- fix(cursor): adjust env variable settings for cursor size handling by @purian23 (0604de8)
- fix(dock): layout & indicator misalignment on orientation switch by @hthienloc in #3256
- dock: fix tooltip guard referencing by @purian23 (ed9e01e)
- fix(lint-qml): explain how to actually create the tooling VFS config by @fromelicks in #3249
- fix(powermenu): close on escape key, dedup action shortcuts by @hthienloc in #3262
- fix(bar): prevent focused app widget from blanking and live-sync by @hthienloc in #3258
- changelog: fix since async loading chnage by @bbedward (f022aa6)
- fix(widgets): update island drag & drop targets by @purian23 (1d2ba79)
- fix(bar): centre widget content on whole pixels by @Mario-Mohar in #3263
- distros/void: fix stable template by @bbedward (0bbe833)
Packaging
- packaging: update fedora dms-git spec by @bbedward (8fc38de)
- distro(spec): update Go toolchains for Fedora & openSUSE by @purian23 (36cfd5f)
- nix: restore pre-wrap qt env for launched apps by @bbedward (bada28a)
Internationalization
- i18n: sync by @bbedward (06c0ea2)
- i18n: add arabic by @bbedward (31ea835)
- i18n: sync by @bbedward (89814a2)
- i18n: cut down terms and sync by @bbedward (bf408f8)
- i18n: cut down new pam terms by @bbedward (1ef5371)
- i18n: term overhaul - Delete ~160-ish useless terms - Add context to more terms - Add a mechanism to duplicate the same terms with different contexts - sync by @bbedward (3c0f2cb)
- i18n: preserve terms for 1.5 point releases by @bbedward (4200270)
- i18n: replace terms for 1.6 by @bbedward (5cae48a)
- i18n: sync by @bbedward (b22b1be)
- i18n: add Ukrainian by @bbedward (5de0339)
- i18n: sync by @bbedward (e54be7d)
- i18n: sync by @bbedward (1dc0cee)
- i18n: sync by @bbedward (ba36021)
- i18n: sync by @bbedward (8fabf22)
- i18n: sync by @bbedward (ce879a6)
- i18n: sync, new polish terms from @raikiu-source by @bbedward (7cc0955)
- i18n: add Bulgarian by @bbedward (3b99069)
- i18n: sync by @bbedward (5ed5845)
Other Changes
- bump to 1.6-beta by @bbedward (4c806f8)
- changelog: disable by @bbedward (a095d0e)
- Add GitHub workflows for release management by @purian23 (8008238)
- workflow: update porting logic by @purian23 (cb0dc9c)
- default apps: add configuration for geo: URIs by @bbedward (d0a4c1c)
- workflows: update deps by @purian23 (c0eeed4)
- auth: add some more intelligent pam config resolution for lock screen and greeter related #2789 by @bbedward (9cf2ca7)
- build: Add support for DESTDIR by @EbonJaeger in #2783
- network/iwd: improve bad credential handling by @bbedward (867102b)
- calendar: add action button to events for opening links fixes #2799 port 1.5 by @bbedward (2a2c1ca)
- workflow: updated target extraction regex options by @purian23 (494144a)
- settings: restore lost geometric centering option port 1.5 by @bbedward (0b69fea)
- workflow: enhance porting logic to support inline verbiage & audits by @purian23 (a3b2167)
- audio: only show mic volume OSD through DMS IPCs, not external source changes fixes #2790 port 1.5 by @bbedward (05feb21)
- osd/media playback: delay showing until album art is ready and avoid re-showing when duplicate metadata comes from mpris related #2787 port 1.5 by @bbedward (6a58adf)
- theme: prevent failed portal writes from reverting theme mode by @bbedward (d82d86d)
- ci(void): publish XBPS repository to R2 by @purian23 (0fdfac3)
- refactor(workflows): update release refs to stable in CI configurations by @purian23 (406dcfe)
- add(workflows): update notify_issues input to release flows by @purian23 (eaecff9)
- dms doctor: detect missing XDG_MENU_PREFIX when KDE apps are installed by @Mati7235 in #2840
- refactor(settings): allow search settings to remain on sidebar until dismissed by @purian23 (4ab03de)
- refactor(debian): prefer native Debian Quickshell stable package support in dankinstall by @purian23 (63eea01)
- time: add follow-locale option and squash separate greeter time options by @bbedward (f4f47c0)
- launcher: don't select pre-filled queries, exclude from memory port 1.5 by @bbedward (ea66b13)
- launcher: add IPC feature-parity to spotlight-bar and improve list view transitions by @bbedward (197d17a)
- listview: workaround delegates overlapping and make spotlight launcher have a stable anchor by @bbedward (2cb48aa)
- refactor(dms-updater): remove hidden updates display in popout view by @purian23 (7ab0e01)
- workspace switcher: fix apps icon won't re focus by @arfan21 in #2830
- launcher: add option to choose spotlight style on niri overview by @bbedward (3da19e5)
- dash: allow hiding all tabs by @bbedward (7535b70)
- launcher/spotlight: improve height-change animation by @bbedward (7b5c25c)
- config/hyprland: set empty kb layout string by default fixes #2851 port 1.5 by @bbedward (25847c3)
- clipboard: store text alongside image when both are offered by @bbedward (bb0be2b)
- core/cli: expose QR code CLI by @bbedward (e6504ad)
- plugins: use grid-style plugin browser by @bbedward (2770357)
- Smooth battery time remaining estimate by @wongcallum in #2854
- plugins: prevent churn of daemon plugins by not re-creating the entire map by @bbedward (1973526)
- cava: optimize CPU burn related #631 by @bbedward (2c5a1a2)
- cava: more optimizations for visualizer related #2863 by @bbedward (c3fa7b2)
- dbar: missing show on overview from search index by @bbedward (729a990)
- mango: add separate dispatch socket by @bbedward (296b3a3)
- greeter: update success message by @purian23 (3cd52ca)
- qs: use asynchronous loaders to load shell core by @bbedward (3c52459)
- network: avoid dropping to legacy service when loading by @bbedward (4af3225)
- update release & changelog docs formatting by @purian23 (3254cc6)
- screenshot: add --json flag to capture metadata by @bbedward (f18d36f)
- qs: improve initial load of wallpaper, dock, and desktop plugins by @bbedward (ec27d46)
- compositor: improve compositor detection by @bbedward (0440e40)
- hyprland: scale overview displays relative to their actual scale by @bbedward (72a71ca)
- battery: dont scale values and skew the actual battery values fixes #2867 by @bbedward (9b67ced)
- media: throttle frame rate of media-related animations by @bbedward (cdaedad)
- system tray: fix overflow of menus by @bbedward (fb2dbce)
- refactor: unify media control calls to MprisController sync by @purian23 (dc92461)
- refactor: update workfows & issue notes by @purian23 (3584961)
- popout: guard against bad state and reset input method on close port 1.5 by @bbedward (3951cd6)
- launcher: transparent sticky header when blur is enabled by @bbedward (149e1e6)
- bar(IdleInhibitor): Color icon when activated by @aaronjamt in #2395
- core: remove useless tests by @bbedward (4352f49)
- systemlogo: Add Zirconium by @hecknt in #2881
- sysupdate: pass custom command to daemon instead of fire and forget from QML by @bbedward (0ffec50)
- sysupdate: disallow partial updates on arch, add ignored to popout by @bbedward (b17a90a)
- sysupdate: tweak styling of ignored banner by @bbedward (a50bb2c)
- wallpaper: optimize blurred wallpaper layer by @bbedward (504c132)
- screenshot: initial support for scroll capture mode by @bbedward (f8fe167)
- lock: add lockAndOutputsOff IPC function by @bbedward (bf12665)
- media: further optimizations for bar widget animations by @bbedward (2986e35)
- refactor(auth): relay on distro system auth over DMS managed sessions by @purian23 (3938e60)
- Squashed commit of the following: by @bbedward (235f066)
- lock: add resilience for when the lock surface is rejected by @bbedward (698b66c)
- matugen/neovim: respect terminalsAlwaysDark by @bbedward (4a90bd3)
- core: migrate to dankgo shared go modules, embed quickshell in DMS binary to mount at runtime, -c or DMS_SHELL_DIR overrides required to explicitly override embedded configuration by @bbedward (0cdb065)
- powermenu: don't require key release for actions other than suspend and hibernate by @bbedward (2846363)
- core: exclude qmlls.ini from sync-shell by @bbedward (069df80)
- freebsd: add initial support for running on FreeBSD, excluding Bluez, ppd, and some things. Add a simple wpa_supplicant backend by @bbedward (90291bd)
- theme: put full theme catalog in neovim dropdown by @bbedward (dbaf2e9)
- matugen: remove padding 0 from gtk light by @bbedward (2a8b88c)
- matugen/vesktop/vencord: replace midnight template with a new more modest template by @bbedward (4c59d61)
- mango: suppress excessive reload messages by @bbedward (6239e5a)
- matugen: add config dirs to detection of presence by @bbedward (57fd39d)
- matugen/vesktop: tweak some colors of unread indicators to follow primary theme by @bbedward (d003683)
- greeter: migrated dms-greeter to github/AvengeMedia/dank-greeter by @bbedward (a69acf1)
- greeter: replace commands with dms-greeter by @bbedward (dfbbfe1)
- gitmodules: set branch=master in .gitmodules by @bbedward (a5b5ed7)
- core: remove unused functions after migration by @bbedward (fb65a23)
- greeter: more repairs for standalone package, scrap LegacyNetworkService by @bbedward (dc4916b)
- core: some fixes for embedded distribution, VERSION file, matugen scripts, and embed scripts by @bbedward (e300b14)
- matugen/vesktop/vencord/equibop: minor contrast improvements by @bbedward (3d9374d)
- matugen/vesktop/vencord/equibop: more contrast fixes by @bbedward (8577c6b)
- matugen/vesktop: more contrast fixes by @bbedward (e58b414)
- audio: revert wpctl workaround by @bbedward (70ceee1)
- theme: add WCAG data by @bbedward (d185135)
- window-rules/niri: make floating a tri-state by @bbedward (814871d)
- themes: more detailed WCAG breakdowns in browser by @bbedward (fa6c36a)
- compositor/toplevels: filter on screen for generic compositors, without workspace distinction by @bbedward (f0bdaa7)
- lock: avoid lock surface churn by @bbedward (30d9a34)
- wallpaper: use filter chips for random transitions by @bbedward (e63d210)
- core: bump dankgo by @bbedward (e0480bf)
- lock/pam: attempt to fix fprintd retry spam after resume by @bbedward (958672b)
- location: prevent calls when weather auto-locate is disabled by @bbedward (fe561f2)
- theme: support for QT_PLATFORMTHEME=kde by @bbedward (61510c2)
- update CONTRIBUTING for submodule recurse option recommendation by @bbedward (ce548cb)
- Add option to ignore app-requested notification timeout by @tkroll-ionos in #2909
- frame: merge bars with frame window and get things on Top layer by default by @bbedward (8af7103)
- dock: limit input mask to body, disable hover headroom unless enabled by @bbedward (0815e48)
- gamma: replace login1 scheduler re-calculation with suspend-aware boottimer by @bbedward (2bafc21)
- bluetooth: add soft rfkill unblock, wait for adapter to become available instead of forfeiting subscription by @bbedward (77a3571)
- lock: add completed guard in fade to dpms window by @bbedward (fa094db)
- notification: clip region on animation exit by @bbedward (f57f254)
- osd: click to hide some osds by @ArijanJ in #2927
- dock: use required properties in dock item delegate, fixes context injection on Qt 6.8 by @bbedward in #2926
- Bump dank-qml-common: revert CachingImage cache change by @purian23 (62648ed)
- display config: preserve config when turning off on niri by @bbedward (24cb3d1)
- ipc/dash: add openAt/toggleAt for opening popouts at specific locations by @bbedward (eed3617)
- theme: stop overwriting user gtk.css and dconf gtk-theme by @bbedward in #2933
- battery: auto-apply power profile at startup when DMS managed by @bbedward (59c83d1)
- cc: migrate some settings to cache by @bbedward (e9bc016)
- qs: large sweep of dead code removals by @bbedward (c67b185)
- frame: consolidate and simplify inset logic by @bbedward (73da487)
- qs/socket: improve resilience of socket detection and connection by @bbedward (64461c5)
- core: bump dankgo by @bbedward (f66693d)
- matugen: add description for vscode template by @bbedward (f2a6d62)
- desktop plugins: ensure transparent frame is shown when desktop widgets disabled by @bbedward (43d331d)
- keybinds: preserve raw lua actions in parser by @bbedward (de1e175)
- lock: avoid lock at startup firing when using dms-greeter by @bbedward (5c02ec4)
- matugen: tweak qt6ct colors by @bbedward (6682bb1)
- lock: add separate text input for IMEs by @bbedward (81c8867)
- network: rescan when network panel is open by @bbedward (fe64a34)
- tailscale: add missing ID by @bbedward (ef191ba)
- popout: re-apply surface geometry after shouldBeVisible by @cwelsys in #2983
- refactor(mpris): enrich metadata across equivalent players by @arqueon in #2928
- refactor(mpris): consolidate equivalent-player resolution & update track matching by @purian23 (19d919e)
- refactor(media OSD): add previous/next UI controls by @purian23 (32ddf61)
- dankinstall/gentoo: perform autounmask on install by @bbedward (27483e6)
- evdev: resolve capslock state from any available keyboard by @bbedward (dc8a476)
- launcher: dispatch plugin-category items as plugin, not app by @bbedward (365474b)
- dank16: correct DPS lab lightness scale by @bbedward (7f2ba56)
- powermenu: add soft reboot option for systemd systems by @bbedward (e089948)
- settings: remove dead keys by @bbedward (80b27b9)
- gamma: validate config before write and publish state every scheduler wakeup by @bbedward (0c811e3)
- display config/niri: fix nested kdl blocks as being attributed to output state by @bbedward (cffc33e)
- location: add missing subscribe fan-out for location events by @FormalSnake in #2914
- powermenu: support user-defined custom power buttons by @FormalSnake in #2916
- media: add opt-in Apple Music animated album covers by @FormalSnake in #2918
- dock/apps: support minimize by @bbedward (b0b9b61)
- dgop: drop dgop as an external dependency and use dgop/gops internally by @bbedward (da66456)
- power profile: hide when ppd not available by @bbedward (373a3d3)
- settings: diff-only configs, machine-state split, backup CLI by @bbedward (7974887)
- gamma: allow lower values than 2500k by @bbedward (2945b0d)
- core: migrate to wayland client and wlclipboard from dankgo by @bbedward (6481f61)
- core: bump dankgo version by @bbedward (87dc1b1)
- dankdash: add inline wallpaper search by @alamin147 in #3048
- default apps: add mime-type options for file browser by @bbedward (fb9f00a)
- clipboard: release virtual keyboard keys on paste error paths by @bbedward (ef05dbe)
- displays: apply refresh rate changes without compositor config reload by @bbedward (fdf0d73)
- perf(screenshot): cache overlay background by @hthienloc in #3061
- media: gate dash visualizer and position timers, reclaim dash popout by @bbedward (52abc81)
- control-center: route Bluetooth power toggles through DMS backend by @alamin147 in #3082
- bluetooth: multi-adapter support by @bbedward (070090c)
- CONTRIBUTING: document mocks + mockery usage by @bbedward (8485d66)
- perf(ipc): call Quickshell directly by @hthienloc in #3081
- perf(core): pin go-runewidth to v0.0.25 by @bbedward (dce1095)
- plugins/i18n: create mechanism for plugins to define their own translations. Introduce I18n.trFor() function by @bbedward (e78951d)
- CONTRIBUTING: document to not update translation files by @bbedward (afe0dbb)
- perf(screenshot): parallel PNG encoder, 4x faster captures by @bbedward (c67450c)
- ci: add claude-review CI by @bbedward (148d844)
- ci: add pr write to review action by @bbedward (d10ca38)
- ci: make review do new comments by @bbedward (4147d81)
- ci: add R2 prune job by @bbedward (7028ea3)
- notifications: add DnD bypass option globally and per-app by @bbedward (9b04b47)
- systemd/dms: add TimeoutStartSec to dms.service by @bbedward (7f7155b)
- perf(screenshot): encode PNG straight from the capture buffer by @bbedward (486febd)
- perf(screenshot): frame-paced, incremental region selector by @bbedward (c90b0cd)
- perf(cli): lazily init chroma registries by @bbedward (44bae09)
- core: bump go-runewidth to 0.0.28 by @bbedward (52244c0)
- perf(colorpicker): incremental magnifier redraws, frame-paced commits by @bbedward (e6a5fae)
- perf(shell): cut idle RAM by a lot by @bbedward (3630b46)
- keybinds: use dms screenshot in binds configurator by @bbedward (523e023)
- perf(dms): cut daemon idle RAM, threads, and goroutines. Add DMS_PPROF for performance profiling by @bbedward (45cd00b)
- colorpicker: add popout variant for bar widget by @bbedward (c6083d6)
- deps: bump tailscale.com to v1.102.0 by @cwelsys in #3143
- test(plugins): isolate git config in the real git client test by @cwelsys in #3144
- inputs: consistent usage of Dank* variants, bump qml-common with blink timeout by @bbedward (f89b21a)
- refactor(Dank Island): update hover delay property defaults by @purian23 (c57fd7a)
- add(dankisland): lower min thresholds for compact & reserved heights by @purian23 (5c9dd50)
- island: general optimizations and cleanups by @bbedward (2c44b79)
- core: use dankgo go-wayland-scanner and update README for proto generation by @bbedward (8bff5eb)
- island: break out more stuff into commonality helpers, redesign horizontal battery, tweak spacing by @bbedward (44e82c6)
- island: resize to notifications based on title size by @bbedward (744fa54)
- island: stage expanded faces at target size, reserve numeric widths by @bbedward (4f9b175)
- battery: use theme font weight in horizontal mode by @bbedward (ca7b165)
- island: pace the face crossfade from the spring, not DMS animations by @bbedward (d4069a7)
- island: add notification counter by @bbedward (4cf375f)
- refactor(island): updated hover/click targets - fitt's law by @purian23 (d951dbd)
- dankbar: set tnum: 1 in Numerictext for CPU/GPU/Ram/Battery widgets by @bbedward (aabfb08)
- qml: bump qml-common reference by @bbedward (778efb8)
- battery: more style adjustmetns to horizontal pill by @bbedward (d9462c5)
- bar/island: add background options for satellites, transparency, blur. Bigger click targets by @bbedward (c8ec045)
- bar/island: tweak spacing of satellite widgets by @bbedward (6feac1f)
- shellcore: skip surface recovery while only a placeholder screen exists by @bbedward (f91b43b)
- notifications: add option to execute default action on body click instead of expanding text by @bbedward (67968ae)
- core: drop curl dependencies, weather: bump API timeouts by @bbedward in #2430
- SystemTrayBar: add configurable icon spacing by @tassiovirginio in #3183
- imp(systemd): support successful managed restarts by @purian23 (c653378)
- network: connect to OWE and OWE transition-mode networks by @bbedward (9ed4acd)
- bar: release the input region while hidden for the niri overview by @bbedward (d81aca4)
- auth: write the "other" PAM fallback by @bbedward (422dd2c)
- desktop-widgets/sysmon: track option changes in dgop module refs by @bbedward (8d36628)
- plugins: persist ColorSetting as a color string by @bbedward (be9aeae)
- settings: scroll the sidebar with the keyboard highlight by @bbedward (fc42786)
- frame: keep the frame on Hyprland special workspaces by @bbedward (80c85bf)
- island: scale satellite background to content in near mode by @bbedward (530c58b)
- icons: probe the system theme when DMS has none set by @bbedward (fdffc61)
- doctor: flag config files that fail to parse by @bbedward (2e82576)
- trayrecovery: rescan when the StatusNotifierWatcher changes hands by @bbedward (ed60fb7)
- network: treat link aggregates as ethernet in the status mapping by @bbedward (35aa132)
- network: report wifi state from the associated adapter by @bbedward (dca1bd3)
- re-handwrite AGENTS.md instead of the generated junk by @bbedward (78352fd)
- notifications: prefer the icon theme for path app_icons by @bbedward (f8cf761)
- gtk: copy adw-gtk3 into user themes for dynamic theming by @bbedward (460013a)
- wallpaper: don't drop a change back to the displayed image mid-transition by @bbedward (c0c2c73)
- displays: floor logical output sizes on niri by @bbedward (52f393d)
- settings: rebuild modal when window dies systemd: add LimitNoFile to dms.service by @bbedward (17d535b)
- plugins: load desktop widget settings via file url by @bbedward (b97c9b0)
- calendar: add default task list setting for dash quick-add by @bbedward (48e4709)
- widgets/keyboard layout: use NumericText by @bbedward (9255596)
- config: write hyprland session target when deploying systemd configs by @bbedward (030974c)
- lock: reset fingerprint retry backoff on resume by @bbedward (1486eaf)
- theme: disambiguate duplicate matugen scheme labels by @bbedward (3538bdb)
- brightness/ddc: add an option to disable DDC probing by @bbedward (3604fc8)
- plugins: don't warn for directories without a manifest by @bbedward (54a64eb)
- audio: optional stream nodes in device lists by @bbedward (07f89e3)
- proc: forward owner and release through the wrapper by @bbedward (00f7db9)
- powermenu: add popout variant for bar widget by @bbedward (cef1eb9)
- bar/focused-app: clip title overflow horizontally only by @bbedward (2c471e1)
- ci: remove symlinks by @bbedward (4c90a36)
- popouts: snap geometry during entrance for all popouts by @bbedward (4aac96c)
- weather: show fetch fail reasons by @bbedward (7aa1b80)
- perf(screenshot): add parallel JPEG encoder by @bbedward (618ad11)
- launcher: add built-in power options plugin to launcher by @bbedward (93a7c17)
- network: disconnect wifi from the associated adapter by @bbedward (9f136da)
- audio: search the whole sound theme tree for event sounds by @bbedward (97b5641)
- settings: remove dead nightModeEnabled key by @bbedward (ae3acb2)
- ipc: add dumpSession command to settings target by @bbedward (2f19ccf)
- popout: resize on bezier curves instead of springs for already open content by @bbedward (8354113)
- ipc: stop cups capability churn from re-dialing the subscribe socket by @purian23 (104bbeb)
- greetd: re-add embedded greeter for archinstall compatibility by @bbedward (d272e7d)
- displays: round-trip hyprland HDR metadata and dedupe whitespace-duplicated outputs by @bbedward (6ce86a0)
- add: Cellular Network support (rebase of #2765) by @kmf in #3096
- network: classify AP security by the privacy bit by @bbedward (e99813b)
- keyboard layout widget: refresh once compositor detection lands by @shalevc1098 in #3225
- gamma: configurable transition duration for time-based night mode by @bbedward (b8cceb7)
- clipboard: survive corrupted bbolt db by @bbedward (c68b7e5)
- display: merge missing hyprland fields into existing session entries by @bbedward (151aedb)
- dankinstall: refactor tui package, single-source selection state by @bbedward (ac46c7d)
- firststart/greeter: add a step for plugins by @bbedward (4624ceb)
- setup: add headless subcommand for non-interactive installs by @bbedward (9057265)
- theme: add widgetInactiveIconColor token, apply to volume 0 by @bbedward (5c552f9)
- update README video by @bbedward (285ce66)
- bluetooth: toggle power from the adapter's live state, by @bbedward (99c5f96)
- polkit: authenticate as the current user when multiple admins are candidates by @bbedward (9ea8d20)
- session: run custom power commands outside the shell's cgroup by @bbedward (f273a64)
- bar: rework hover popout state machine and cover missing widgets by @bbedward (99d36e9)
- ci: update release job by @bbedward (d23226f)
- island/bar: square blur region corners where goth paths paint square by @bbedward (fa44538)
- changelog: enable 1.6 changelog by @bbedward (ae7ed11)
- modals/welcome: tweaks to welcome page layout by @bbedward (0540091)
- island: collapse weather face on blank click by @bbedward (8fb83d2)
- island: decouple blank-click policy from destinations, centralize escape by @bbedward (ba04356)
- island: keep hover intent when a destination expands after its face loads by @bbedward (0b87df2)
- core: bump dankgo by @bbedward (ef63de4)
- core: update dankgo dep by @purian23 (c0135b1)
- wallpaper: release decoded image once the frozen texture is grabbed by @bbedward (823f5f8)
- core: load only the mesa egl vendor when the compositor renders on it by @bbedward (4f6841d)
- core: bump dankgo by @bbedward (881cfd2)
- icons: honor XDG base dir order & resolve standalone icons by @purian23 (dd068db)
- wayland/gamma: expose contrasta and gamma settings by @bbedward (875d321)
- widgets: add DankRefreshButton and use it by @bbedward (3effe6e)
- settings: use dropdowns for option rows that overflow in translation by @bbedward (a781b7b)
- island: re-use media controls from dankdash by @bbedward (de24b15)
- update qml-common by @bbedward (0a46f84)
- island: re-add different player style by @bbedward (863152a)
- island: redesign the separate media player variant by @bbedward (6df7108)
- island: simplify volume and brightness home slots by @bbedward (13fafa1)
- island: drag and drop home face layout by @bbedward (e8082ad)
- refactor(island): hide & collapse inactive activities by @purian23 (81cbcef)
- settings: quick simplification and cleanup prior to 1.6 by @bbedward (f65e5ef)
- frame: keep connected chrome attached to the bar during spring overshoot by @bbedward (9378dfc)
- dash: align user tile right edge when weather is disabled by @bbedward (0fe56c4)
- bar: support multiple bars in island and frame modes by @bbedward (c6c1457)
- refactor(media): re-add wallpaper blur to island media & misc tweaks by @purian23 (ab1e57d)
- weather: stop labeling auto-location coords with the configured city name by @bbedward (f9a9e9b)
- floating windows: dont apply cornerRadius by @bbedward (41c01a9)
- floating window: drop client side borders by @bbedward (6c54855)
- island: follow island opacity in every state and drop covered widget blur by @bbedward (592ca3e)
- settings: add migration for battery style change by @bbedward (ad30c21)
- bump VERSION to v1.6.0 by @bbedward (ea0b315)
- colorpicker/popout: add instant-close machinery for eye dropper by @bbedward (6a4ce61)
Full Changelog: v1.5.0...v1.6.0