Commit Graph
4481 Commits
Author SHA1 Message Date
bbedward 744fa54ae0 island: resize to notifications based on title size 2026-08-23 14:34:38 -04:00
Huỳnh Thiện Lộc 4d9d3422d2 feat(screenshot): use native cursor shapes (#3155)
* feat(screenshot): use native cursor shapes

* fix(screenshot): reuse cursor shape device

* refactor(proto): generate cursor shape binding
2026-08-23 13:49:02 -04:00
dms-ci[bot] 2ce790bcfe nix: update vendorHash for go.mod changes 2026-08-23 17:24:15 +00:00
bbedward 44e82c6e42 island: break out more stuff into commonality helpers, redesign
horizontal battery, tweak spacing
2026-08-23 13:20:40 -04:00
bbedward 8bff5eb4fc core: use dankgo go-wayland-scanner and update README for proto
generation
2026-08-23 12:51:33 -04:00
bbedward 2c44b794f1 island: general optimizations and cleanups 2026-08-23 11:46:02 -04:00
purian23 5c9dd50c2e add(dankisland): lower min thresholds for compact & reserved heights 2026-08-23 02:57:35 -04:00
purian23 7109a52ed1 fix(DMSShell): cast LazyLoader items so lint-qml can resolve modal methods 2026-08-23 02:30:12 -04:00
purian23 36cfd5faa1 distro(spec): update Go toolchains for Fedora & openSUSE 2026-08-23 01:58:51 -04:00
Peter Fern 60a8310002 feat(dank16): Support full matugen color format output (#3148) 2026-08-23 00:24:17 -04:00
purian23 c57fd7aad1 refactor(Dank Island): update hover delay property defaults
- fix volume pills while notifications are live
2026-08-22 23:58:43 -04:00
purian23 4447d77ba6 feat(Dank Island): add new island bar instance 2026-08-22 22:06:13 -04:00
bbedward f89b21a0ef inputs: consistent usage of Dank* variants, bump qml-common with blink
timeout
2026-08-22 11:53:20 -04:00
bbedward 4a021a73bf fix(shell): re-commit layer surfaces on screen reconnect instead of rebuilding bars 2026-08-22 11:12:47 -04:00
Connor Welsh b482e9b898 test(plugins): isolate git config in the real git client test (#3144) 2026-08-21 22:50:18 -04:00
Connor Welsh 26fb129887 fix(tailscale): back off when the IPN bus read fails (#3142) 2026-08-21 22:45:30 -04:00
Connor Welsh 92d3550dc4 deps: bump tailscale.com to v1.102.0 (#3143) 2026-08-21 22:42:48 -04:00
bbedward c6083d6177 colorpicker: add popout variant for bar widget 2026-08-21 20:24:36 -04:00
bbedward 45cd00bed3 perf(dms): cut daemon idle RAM, threads, and goroutines. Add DMS_PPROF
for performance profiling
2026-08-21 20:24:36 -04:00
bbedward 523e0232d2 keybinds: use dms screenshot in binds configurator 2026-08-21 20:24:36 -04:00
0xNA d22dae1494 feat(wallpaper): add folder-based wallpaper selection and shuffle (#2990)
* feat(wallpaper): add folder-based wallpaper selection and shuffle

* fix(wallpaper): bump 'dank-qml-common' and handle single-wallpaper folders

* fix(wallpaper): address review feedback for folder selection

* fix(wallpaper): persist folder selection across restarts

* fix(wallpaper): pick first wallpaper on folder select and persist folder path

* fix: resolve wallpaper cycling folder persistence issues
2026-08-21 19:09:13 -04:00
Huỳnh Thiện Lộc a669253c58 feat(bar): add focused window details popout (#3139)
* feat(bar): add focused window details popout

* fix(bar): address focused window review

* fix(bar): resolve focused window pid by identity

* fix(bar): refine focused window translations
2026-08-21 14:54:58 -04:00
Huỳnh Thiện Lộcandbbedward 124578b695 fix(screenshot): support multi-monitor region capture (#3132)
* fix(screenshot): support multi-monitor region capture

* fix(screenshot): skip disjoint output overlays

* fix(screenshot): address multi-monitor review

* fix(screenshot): handle cross-output review

* fix(screenshot): snap cross-output selection to one device grid

---------

Co-authored-by: bbedward <[email protected]>
2026-08-21 14:46:36 -04:00
bbedward 3630b46ee3 perf(shell): cut idle RAM by a lot
wallpaper: drop redundant FBOs

startup: create QtMultimedia players lazily on-demand instead of at
startup

launcher: fixed animated images in plugins that use them

dms: set MALLOC_CONF=thp:never,narenas:4,dirty_decay_ms:3000 for
quickshell when unset. jemalloc extets no longer round up to 2 MB
huge  pages

Worth keeping an eye on any potential regressions people encounter
2026-08-21 14:12:39 -04:00
Huỳnh Thiện Lộc 20aafebd87 feat(settings): search runtime plugins (#3136)
* feat(settings): search runtime plugins

* fix(settings): handle plugin search metadata
2026-08-21 11:01:28 -04:00
bbedward 90c5f65b0f fix(workspaces/hyprland): recover workspace mapping on monitor hotplug
fixes #3133
2026-08-21 10:17:26 -04:00
bbedward 589737e318 fix(shell): recover bar surfaces on screen removal and geometry change
fixes #3135
2026-08-21 10:11:11 -04:00
Bernardo Gomes 2f4afeb889 fix(doctor): explain Qt private API mismatch (#3131) 2026-08-20 22:10:07 -04:00
bbedward e6a5fae190 perf(colorpicker): incremental magnifier redraws, frame-paced commits 2026-08-20 19:17:25 -04:00
bbedward 52244c01f7 core: bump go-runewidth to 0.0.28
startup regression has been fixed upstream so dont need to pin the
downgrade anymore
2026-08-20 18:50:17 -04:00
bbedward 44bae0934d perf(cli): lazily init chroma registries
related #3056
2026-08-20 18:47:29 -04:00
bbedward c90b0cddab perf(screenshot): frame-paced, incremental region selector
related #3056
2026-08-20 17:33:35 -04:00
bbedward 486febd4ce perf(screenshot): encode PNG straight from the capture buffer
related #3056
2026-08-20 15:55:03 -04:00
bbedward 47fe1eb512 fix(keybinds): record Shift+digit from the physical key
fixes #3120
2026-08-20 15:03:56 -04:00
bbedward 6a0197d252 fix(accounts): stage profile icon through /tmp before SetIconFile
fixes #3130
2026-08-20 14:59:29 -04:00
bbedward 7f7155b5d5 systemd/dms: add TimeoutStartSec to dms.service
fixes #3125
port 1.5
2026-08-20 14:57:51 -04:00
bbedward 9b04b47e98 notifications: add DnD bypass option globally and per-app
fixes #2870
closes #3016
2026-08-20 14:29:39 -04:00
Callum Wong c694d9938c feat(audio): add output port selection (#2779)
* feat(audio): add output port selection

* fix(audio): handle onShowPortSelector in AudioOutputDetail

* i18n: add translator context for all audio port selector strings

* fix(audio): set isLoading = false in the callback of refreshSinkPorts

* chore: remove unused property in AudioPortSelector

* fix(audio): parse availability correctly from `pactl list sinks`

* fix(audio): address output port review feedback
2026-08-20 13:40:48 -04:00
Kilian Mio b6436196be fix(display): enforce at least one real monitor in profile application (#3106)
ensureEnabledOutput previously checked if ANY output was enabled,
including virtual fallback outputs. A profile with eDP-1 disabled and
FALLBACK enabled was treated as valid, causing the only real monitor
to be turned off during hotplug transitions.

Now ensureEnabledOutput only considers outputs with make+model (real
monitors) when checking for enabled outputs. When all real outputs are
disabled, it enables the first real one. When no real outputs exist in
the profile at all, applyConfigEntry writes an empty config and lets
the compositor handle fallback via its built-in default rules.

Fixes the case where unplugging an external monitor leaves the laptop
display disabled because a stale FALLBACK auto-profile was applied.
2026-08-20 13:07:36 -04:00
fluxwrk 0253f9daa5 fix: update mango named scratchpad keybind (#3118) 2026-08-20 13:06:42 -04:00
Marco MacrìandMark2Mac 521b56f1e1 fix(session): persist the idle inhibitor across shell restarts (#3123)
The idle inhibitor ("Keep Awake") lives only in memory: SessionService holds it
as a plain `property bool idleInhibited: false` and nothing ever writes it out.
Every restart of the shell silently clears it — the user's explicit choice is
dropped with no message and no trace, and the pill just disappears from the bar.

Restarting is not an edge case. `dms restart` is a first-class CLI command, and
the unit shipped in this repo (assets/systemd/dms.service) sets
`Restart=on-failure` with `TimeoutStopSec=10`, so a shell that is slow to stop
is killed and brought back automatically. Each of those paths turns Keep Awake
off without saying so.

Every other Control Center toggle already survives a restart. Measured on
upstream master, over the state read by Modules/ControlCenter/Components/
DragDropGrid.qml and its neighbours:

  doNotDisturb             in SessionSpec: yes
  isLightMode              in SessionSpec: yes
  nightModeEnabled         in SessionSpec: yes
  wallpaperCyclingEnabled  in SessionSpec: yes
  idleInhibited            in SessionSpec: NO

So this follows the doNotDisturb idiom exactly rather than inventing a
mechanism: one spec entry, one property, one setter that saves.

Restore happens through two entry points because the singletons are lazily
created and their order is not fixed: `onLoaded` covers "service instantiated
before the session file is read", `Component.onCompleted` covers the opposite.
enableIdleInhibit() is idempotent, so whichever runs second is a no-op.

The default stays false and SessionStore.toJson omits defaults, so an untouched
session.json gains no new key.

Related: #1483 asks for a configurable timer. The field added here is the same
shape doNotDisturb uses with doNotDisturbUntil, so a later `idleInhibitedUntil`
slots in beside it without another migration.

Co-authored-by: Mark2Mac <[email protected]>
2026-08-20 13:06:26 -04:00
Scott McKendry 0daf24095c fix(plugin): support for symlinked configs (#3090) 2026-08-20 12:36:08 -04:00
Sunlight 7ebe072255 feat(resize-api): add runtime resize functionality for desktop widgets (#3114)
It would be nice to see it documented in the plugin development guide: https://danklinux.com/docs/dankmaterialshell/plugin-development#desktop-plugins
2026-08-20 12:34:25 -04:00
bbedward 7028ea323d ci: add R2 prune job 2026-08-20 12:30:06 -04:00
bbedward 4147d81f01 ci: make review do new comments 2026-08-20 12:28:36 -04:00
Huỳnh Thiện Lộc 0d2215e18c fix(displays): restore scale after revert (#3124) 2026-08-20 12:28:01 -04:00
Huỳnh Thiện Lộc f6259d0ff7 fix(dankbar): consume empty-area right clicks (#3127)
* fix(dankbar): consume empty-area right clicks

* fix(dankbar): preserve click-through reveal
2026-08-20 12:27:06 -04:00
bbedward d10ca38651 ci: add pr write to review action 2026-08-20 10:28:57 -04:00
bbedward 148d8440ec ci: add claude-review CI 2026-08-20 10:19:45 -04:00
bbedward c67450cd2e perf(screenshot): parallel PNG encoder, 4x faster captures
Replace image/png with a hand-rolled writer over klauspost/compress

related #3056
2026-08-20 10:19:38 -04:00