* feat(Themes): add support for GTK3 dynamic theming
Instead of overriding named colors of all GTK3 themes via the config
directory file, only override named colors for each variant of the
adw-gtk3 theme (light and dark), and let GTK3 apps change themes
depending on the value of org.gnome.desktop.interface color-scheme.
* fix(Themes): apply requested changes
- remove gtk3 override if it's a symlink
- remove call to gtk.sh with old arg 'assets-only'
- append key to dconf path to respect dconf write signature
* refactor(Themes): separate 'include'/'apply' logic for GTK3 dynamic theming
* revert(Themes): reset timer between color-scheme refresh
- rename DMS_ENABLE_GTK4_REFRESH to DMS_ENABLE_GTK_REFRESH
- revert a3fba8
* feat(Themes): add 'remove' mode to gtk.sh
Allow to remove all inclusions and overrides for GTK.
* fix(Themes): backup adw-gtk3 original css in 'apply' (not 'include')
* style(Themes): rename argument 'include' to 'patch' for clarity
* feat(settings): add option to suppress config reload toast (#2730)
Add a toggle in Settings → Compositor Layout to disable the 'config reloaded' toast for Niri and MangoWC compositors. Session setting showConfigReloadToast defaults to true.
* chore: update settings search index for config reload toast
* refactor(settings): rename 'Compositor Notifications' to 'Compositor Toasts'
* fix(settings): reuse existing I18n.tr('Notifications') translation
* Add option to ignore app-requested notification timeout
Notifications may include an expireTimeout hint that currently takes
precedence over the configured Low/Normal/Critical durations, so
popups can disappear earlier (or later) than expected with no
interaction involved. Add notificationIgnoreAppTimeout (default off,
matching the notification spec) to let users force their own
durations regardless of what the app requests.
* Update settings search index for new timeout override toggle
* feat(power): lower refresh rate on battery (#1203)
Add a Power & Sleep setting that lowers eligible displays to 60 Hz on battery and restores their previous mode on AC power.
Skip displays without an available 60 Hz mode, displays with a single refresh-rate option, current modes at or below 60 Hz, and VRR-enabled outputs.
Apply niri changes at runtime through output commands and use wlr-output-management as fallback.
* fix(quickshell): debounce display refresh sync
* chore: regenerate settings_search_index.json for pre-commit CI fix
* fix: translator context is missing for lowerDisplayRefreshRateOnBattery
* fix: activeDisplayProfileModes is missing from SettingsSpec
* feat: added guard to syncRefreshRates function
* refactor(display): move refresh sync listeners to display service
* fix(display): publish active profile modes after config write
* feat(display): persist previous refresh modes
* fix(display): route refresh mode writes through compositor backends
* fix(display): detect preferred niri refresh modes
* some small cleanups
---------
Co-authored-by: bbedward <bbedward@gmail.com>
- Provide more status feedback
- Allow 2 fprint tries within 10 seconds for DMS-managed PAM
- Updated dms greeter docs
Note: distro-managed PAM takes precedence and may use different limits.
DMS auth changes remain conditional on greetd being installed.
Fixes#2853
Port 1.5
- Added UI component & popout settings to manage ignored packages
- Added CLI support available in danklinux docs
Fixes: #2827Closes: #2344, #1741
Port 1.5
* fix(media): use system colours in player instead of album cover accent
Closes#2831
Removes ColorQuantizer-based album art accent extraction from
MediaAccentService. All accent properties now return Theme.primary
and Theme.onPrimary directly, so the Dank Dash player always
matches the system colour scheme.
Blame: ee6f7b47 (introduced MediaAccentService & ColorQuantizer)
d799175c (tweaked seekbar accent colours)
a62ae336 (further integrated accent into player/album art)
c44ffae7 (monochrome art edge case fixes)
* feat(media): add toggle for album art accent colours (#2831)
Adds mediaUseAlbumArtAccent setting (default: off) to Settings.
When enabled, MediaAccentService extracts accent from album art
via ColorQuantizer. When disabled, uses Theme.primary.
Toggle is in Settings > Media Player.
* fix: use american english spelling (colour -> color)
Port 1.5
A zero-duration ViewTransition still engages ListView's transition
machinery but resolves within the same frame, so removed delegates are
never released and displaced items are never repositioned. On a filtered
ScriptModel that re-filters on every keystroke this leaves stale rows and
empty gaps behind, visible in any DankListView-backed list.
The shortest sub-duration (remove/add = expressiveDurations.fast =
base * 0.4) is coerced to an int, so it truncates to 0ms for any
animation base duration below 3: animation speed None (0), or a Custom
duration of 1-2ms (1*0.4=0.4->0, 2*0.4=0.8->0, only 3*0.4=1.2->1
survives). Presets (250/500/750) are unaffected, which is why this only
reproduces with animations disabled or a very small custom value.
Gate the four transitions to null whenever that shortest sub-duration
would truncate to 0, so the view takes the correct instant path instead
of a broken 0ms transition. Base >= 3 is unchanged.
* refactor(battery): restore status list layout and add individual notification types
* settings/battery: fix RTL display of top tablular-like view
---------
Co-authored-by: bbedward <bbedward@gmail.com>