1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-08-11 07:58:30 -04:00
Commit Graph

4376 Commits

Author SHA1 Message Date
bbedward 2f27eab949 fix(ipc): widget status distinguishes missing popouts from closed ones
fixes #3032
port 1.5
2026-08-10 18:35:09 -04:00
dms-ci[bot] c2faa0ea1c nix: update vendorHash for go.mod changes 2026-08-10 22:32:53 +00:00
bbedward da664565b1 dgop: drop dgop as an external dependency and use dgop/gops internally
fixes #3033
2026-08-10 18:29:59 -04:00
Huỳnh Thiện Lộc c3c9b13ef6 fix(dock): preserve overview-only visibility (#3029) 2026-08-10 15:24:50 -04:00
Huỳnh Thiện Lộc 422406267e fix(brightness): initialize display state (#3035) 2026-08-10 15:24:35 -04:00
Huỳnh Thiện Lộc ed4cc1da7b feat(clipboard): add overlay layer option (#3037) 2026-08-10 14:57:14 -04:00
dms-ci[bot] db1ab5b7b4 nix: sync flake.lock to dank-qml-common submodule 2026-08-09 21:10:44 +00:00
bbedward b0b9b61593 dock/apps: support minimize 2026-08-09 17:08:43 -04:00
Huỳnh Thiện Lộc 80bad610ce feat(dock): cycle grouped app windows (#3023) 2026-08-08 18:46:48 -04:00
Huỳnh Thiện Lộc b6d051a61f feat(filebrowser): expose folder mode on surface modal (#3022) 2026-08-08 18:14:50 -04:00
bbedward 8e2168ecf8 fix(windowrules): preserve niri exclude clauses
fixes #2996
port 1.5
2026-08-08 13:12:08 -04:00
bbedward 0b526d9b05 fix(hyprland): don't restore focus to a toplevel on another workspace when a popout closes
fixes #2963
port 1.5
2026-08-08 10:58:26 -04:00
Huỳnh Thiện Lộc bde4decc5d feat(theme): add extract dynamic theme to JSON file (#3009)
* feat(theme): add extract current theme to JSON file

Adds an 'Extract' button in Settings > Theme Color that exports the
current theme (generic/dynamic/custom/registry) to a dual-mode dark+light
JSON file via the DMS file save dialog.

* refactor(theme): simplify extract button to single DankButton

* refactor(theme): move extract button inside dynamic theme section

* fix(theme): address review feedback on extract theme save

* refactor: utilize dankActionButton

---------
2026-08-08 00:31:59 -04:00
purian23 3c817dc0d0 fix(doctor): correctly report built-in font status
Port 1.5
2026-08-07 23:36:11 -04:00
bbedward fc90bddad1 fix(frame): honor showOnLastDisplay fallback in bar screen-coverage checks
fixes #2998
2026-08-07 19:59:52 -04:00
bbedward a713485599 fix(geolocation): fetch IP location lazily so startup never contacts ip-api.com
fixes #3008
port 1.5
2026-08-07 19:54:21 -04:00
bbedward f16bdda969 fix(displays): auto-select restores named profiles matching the connected output set
fixes #3012
port 1.5
2026-08-07 18:56:59 -04:00
bbedward cf4f48069f fix(bluetooth): derive codec from locale-independent profile name in bluez-card-profile.lua
fixes #3004
port 1.5
2026-08-07 18:39:23 -04:00
Huỳnh Thiện Lộc 38cca3195f fix(dock): skip creating dock layers when dock is disabled (#3014) 2026-08-07 15:43:38 -04:00
Curious 40a9ca348c feat(settings): add location search to theme & gamma coordinates (#3010)
* feat(settings): add location search to theme & gamma coordinates

* fix(settings): refresh coordinate fields after manual edits
2026-08-07 13:00:37 -04:00
dms-ci[bot] a1ba5cf9ad nix: sync flake.lock to dank-qml-common submodule 2026-08-07 16:51:35 +00:00
purian23 915db2dce7 fix: dank-qml-common for dropdown close 2026-08-07 12:51:06 -04:00
bbedward 1dc0ceea1f i18n: sync 2026-08-07 11:13:48 -04:00
Maxim Levchenko 1a621c3f88 translation (#2980) 2026-08-07 11:12:15 -04:00
Artrix b7ec57a534 feat(plugins): add portable plugin lockfile (#2976)
* feat(plugins): add portable plugin lockfile

* plugins/lockfile: allow ssh remotes

---------

Co-authored-by: bbedward <bbedward@gmail.com>
2026-08-07 10:55:57 -04:00
purian23 a575363f89 fix(notifWidget): restore hand cursor on hover
Port 1.5
2026-08-06 23:44:41 -04:00
David Mireles 3f6cd0b579 feat(registry): support multiple plugin and theme registries via env vars (#2972)
feat(registry): support multiple plugin/theme registries

closes #2763

---------

Co-authored-by: bbedward <bbedward@gmail.com>
2026-08-06 22:43:44 -04:00
dms-ci[bot] 630e9bd3cd nix: sync flake.lock to dank-qml-common submodule 2026-08-07 00:52:37 +00:00
purian23 9013464312 feat(theme/settings): dedicated floating window styling with shared chrome
- Refactor Widget Styling into Surface Styling & Floating
  Windows
- New sync per-host opacity & foreground layer control
- Shared DankFloatingWindow chrome
- Settings fix to destroy Settings window on-hide so niri floating
  rules match subsequent runs
Related: #2709
2026-08-06 20:52:14 -04:00
Huỳnh Thiện Lộc dade416ca0 feat(settings): add keyboard configuration tab for Niri (#2937)
* feat(settings): add dedicated keyboard configuration tab

* chore(settings): configure default keyboard settings and clean up embedded niri config

* settings/keyboard: emit niri keyboard config only when set, dedup setup banner, index tab

---------

Co-authored-by: bbedward <bbedward@gmail.com>
2026-08-06 18:40:17 -04:00
FormalSnake 401872881e media: add opt-in Apple Music animated album covers (#2918)
* media: add opt-in Apple Music animated album covers

* media: validate itunes match, touch files for cache

---------

Co-authored-by: bbedward <bbedward@gmail.com>
2026-08-06 14:47:51 -04:00
Huỳnh Thiện Lộc 7cb97f4462 fix(launcher): honor source badge setting (#3002) 2026-08-06 00:33:39 -04:00
Huỳnh Thiện Lộc 82b1b36b1a fix(settings): hide removed widget tooltip (#3003) 2026-08-06 00:33:17 -04:00
FormalSnake e203e76ccc powermenu: support user-defined custom power buttons (#2916) 2026-08-05 20:46:42 -04:00
FormalSnake adcafbcc8e location: add missing subscribe fan-out for location events (#2914)
handleSubscribe forwards every service except location, so neither
subscribe-all connections nor explicit location subscriptions ever
receive location events, and the shell's only source of coordinates
is a single getState pull that races the geoclue TimeThreshold and
loses. Wire location into the fan-out like loginctl/sysupdate:
initial state on subscribe, then manager pushes.
2026-08-05 19:28:33 -04:00
Huỳnh Thiện Lộc 9981fcf529 fix(slideout): yield keyboard focus when modal is open on same screen (#2902)
DankSlideout always held WlrKeyboardFocus.OnDemand regardless of modals,
causing Notepad to steal focus back when Launcher was opened.

ModalManager: clone currentModalsByScreen on mutation so QML bindings
re-evaluate when modals open/close.
DankSlideout: set keyboardFocus to None while a modal is active on the
same screen, letting the modal (launcher) claim focus exclusively.
2026-08-05 19:19:47 -04:00
lankong0522 2baf048293 feat(tray): add IPC action to open tray menus (#2701)
* feat(tray): add IPC action to open tray menus

* tray: open IPC-requested menus on the focused screen only

---------

Co-authored-by: bbedward <bbedward@gmail.com>
2026-08-05 17:31:25 -04:00
bbedward cffc33e14a display config/niri: fix nested kdl blocks as being attributed to output
state

fixes #2966
port 1.5
2026-08-05 17:02:38 -04:00
bbedward 0c811e3417 gamma: validate config before write and publish state every scheduler
wakeup

fixes #2967
port 1.5
2026-08-05 16:55:34 -04:00
bbedward 6ad46cf2c2 bar: fix shadow from tinting goth corners
fixes #2975
port 1.5
2026-08-04 22:15:34 -04:00
Thomas Kroll 34626070af fix(tray): don't dismiss click-opened tray menus from hover controller (#2979)
closeHoverSurfaces() called TrayMenuManager.closeAllMenus(), tearing down
every registered tray menu including ones opened by right-click. With
hoverPopouts enabled, moving the pointer after a right-click re-ran the
hit test and closed the menu before it could be reached.

Tag each menu with how it was opened and add closeHoverMenus(), which
only closes hover-opened menus. The hover controller now uses that.

Click-driven callers pass no argument, so byHover stays undefined and
`byHover === true` evaluates to false.

Fixes #2978


Claude-Session: https://claude.ai/code/session_01DYF9vdsaToU4Usu7kxPCNB

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 21:25:22 -04:00
bbedward 80b27b9a6a settings: remove dead keys
fixes #2977
2026-08-04 21:25:06 -04:00
jack-mil 49f968d26b fix(mpris): remove required non-null artist/title from idle condition (#2993)
The current isIdle detection only works if the player has a title _and_ artist metadata,
which is not appropriate for all cases, e.g. MPV playing a video does not set artist.

In the current implementation, after a video stops playing in MPV, and the window closes
(but MPV and the MPRIS plugin server is still running as a background process), the playback controls remain
shown on the bar, and have non-functional controls.

It is sufficient to only check for the "Stopped" playing state. The MPRIS specification
states that Playback_Status==Stopped should be used to indicate that *NO* track is currently
playing. A compliant player should set that, and should also set the CanPlay/CanPause boolean
to false is not track is being played.

See: https://specifications.freedesktop.org/mpris/latest/Player_Interface.html#Enum:Playback_Status
2026-08-04 21:22:22 -04:00
Huỳnh Thiện Lộc 99b0dc596d feat(wallpaper): support random cycling order (#2936) 2026-08-04 21:21:52 -04:00
rredlip 158c0c12d8 Changed margin of the rectangle so the pixel of the half circle are completely covered. (#2989) 2026-08-04 21:20:53 -04:00
bbedward e089948225 powermenu: add soft reboot option for systemd systems
fixes #2986
port 1.5
2026-08-04 18:04:19 -04:00
bbedward 7f2ba56e06 dank16: correct DPS lab lightness scale
fixes #2987
port 1.5
2026-08-04 17:55:53 -04:00
nozsh 6de5593216 feat(keybinds): add keybind for PAM U2F on lock screen (#2930)
* feat(keybinds): add keybind for PAM U2F on lock screen

* add: tooltip, settings json & error handling

---------
2026-08-03 22:09:53 -04:00
bbedward 365474b0d9 launcher: dispatch plugin-category items as plugin, not app
fixes #2988
port 1.5
2026-08-03 20:05:23 -04:00
bbedward dc8a47644a evdev: resolve capslock state from any available keyboard
fixes #2991
port 1.5
2026-08-03 19:59:12 -04:00