Commit Graph
2306 Commits
Author SHA1 Message Date
bbedward 3bbf02f502 settings: some changes ref #3635
cc: add trash icon to drag and crush things
cc: allow anchoring footer items to start or end
2026-09-30 16:00:48 -04:00
bbedward 9e7f35de0c settings: index the compositor page in settings search
fixes #3634
2026-09-30 14:38:19 -04:00
bbedward 8e9970efee notifications: more androidy physics
fixes #3636
2026-09-30 14:02:48 -04:00
bbedward adccc05397 cc: fixed footer or header, customizable with any widgets, blah blah 2026-09-30 12:46:53 -04:00
purian23 73759d5752 refactor(control center): redesign update #8 2026-09-30 00:15:05 -04:00
bbedward db903801c3 osd: more position options, hookup sheets to some
fixes #3629
2026-09-29 23:31:28 -04:00
bbedward 219a95d869 notifications: edit rules in a dialog like window rules
fixes #3615
2026-09-29 18:08:35 -04:00
bbedward d5a684ce52 settings: use wallpaper icon for wallpaper & colors 2026-09-29 17:50:59 -04:00
bbedward 5cfda4ebe7 notifications: no selection ring on modal open clipboard: match the notification header and add a settings butto
settings/interface: explicit window radius match option
cc: restore dim in edit mode

fixes #3623
2026-09-29 17:44:20 -04:00
bbedward f025a8d7b4 island: keep control center and dash size in edit mode
widgets: show keyboard hint boxes as keycaps

fixes #3624
2026-09-29 17:29:05 -04:00
Huỳnh Thiện Lộc ea70863fd7 feat(dock): add customizable proximity icon magnification (#3625)
* feat(dock): add proximity icon magnification with customizable curves

* fix(dock): restrict proximity magnification to dock and add translator context
2026-09-29 17:07:22 -04:00
Huỳnh Thiện Lộc 34e0ed2e90 feat(screenshot): snap to active popouts & modals in region mode (#3618)
* feat(screenshot): snap to active popouts and modals in region mode

Allow region screenshot selector to detect and snap to visible shell
popouts and modals on hover and click or keyboard confirmation.

- PopoutManager.qml: add getActiveSurfaces() collecting visible
  DankPopout and DankModal global bounding boxes
- DMSShellIPC.qml: add screenshot.getSurfaces IPC endpoint
- core: fetch snap targets from shell IPC during region screenshot init
- selector: highlight snap targets on hover with surface name and dimensions
- selector: click or Enter/Space on hovered target locks selection to surface bounds
- selector: allow hover snap over pre-selection (SelectionState.fromPreSelect)
- selector: reset selection on degenerate (1x1) click release for quick re-selection
- unit tests for display name formatting, hover detection, and render bounds

* fix(screenshot): correct snap off-by-one and drag-away cancellation

- region_input: fix drag-away snap cancellation by setting hasSelection=true
  and clearing preSelect so freeform dragging renders and is not discarded
- region_input: add snapToTarget helper subtracting 1 device pixel (devPxX/Y)
  from currentX/currentY to prevent inclusive coordinate off-by-one (420x580 -> 420x580)
- region_render: compute hover bounds with w = round(width * scaleX) and
  x2 = x1 + w - 1 to eliminate +1 device pixel in render bounds
- region_snap_test: assert exact 420x580 bounds for both hover and snapped states

* style(screenshot): format region_snap_test.go with golangci-lint-fmt
2026-09-29 17:06:19 -04:00
arfan c1818dee2c fix(theme-vscode): update editorSuggestWidget colors for improved visibility (#3599)
* fix(theme-vscode): update editorSuggestWidget colors for improved visibility in dark, default, and light themes

* fix(theme-vscode): update button.hoverBackground to use primary_fixed colors for consistency
2026-09-29 17:06:06 -04:00
bbedward 765ffe8564 plugins: hide the list under the detail overlay
plugins: block activation when the startup check cannot run

ref #3626
2026-09-29 16:57:24 -04:00
Mario Mohar 53b8de2714 fix(keybinds): warn when a bind's key sits above the layout's first level (#3591)
A compositor resolves a bind's keysym on the first level of the active
layout. Layouts that put punctuation higher up therefore cannot reach it
at all: de:neo has bracketleft on layer 4 and plain de on AltGr, so
Mod+bracketleft is a bind that can never fire. The editor recorded and
stored it anyway and gave no sign that anything was wrong (#3585).

`dms keybinds keymap` now reports what the seat's xkb keymap puts on the
first level of every physical key, and the editor says so instead of
letting a dead bind through.

The keymap a compositor hands out writes its keysyms as hex, so only the
range the keymap package can name back is usable for the comparison.
That is the ASCII range, which is where the problem lives, and the
command reports the vocabulary alongside the keys so the caller can tell
"the layout cannot reach this" from "we could not name it" and stay
quiet in the second case.
2026-09-29 16:57:13 -04:00
Hatta 3081941592 lock: lock before sleep when the command skips logind (#3587)
* lock: lock before sleep when the command skips logind

Custom hibernate never emits PrepareForSleep, so the session stayed unlocked. Wait for the compositor lock on every sleep path, and release the delay inhibitor if that lock finished first.

* lock: release the sleep inhibitor only after lockerReady

* lock: read the sleep inhibitor under its mutex in the race test
2026-09-29 16:50:13 -04:00
arfan c205358b79 feat(settings-appdefault): add office and archive manager categories (#3580)
Add word processor, spreadsheet, presentation and archive manager
selectors to default apps, fix calendar lookup to query text/calendar
first so Dank Calendar is detected, and expand image mime coverage
with tiff/heic/heif/jxl.
2026-09-29 16:42:49 -04:00
dion 13034cb85c audio: add mono audio toggle with support detection (#3539) 2026-09-29 16:38:22 -04:00
bbedward f482642880 sysupdate: check only on demand, run at low priority, fix the settings page
scrollbar: interface style toggle and no scrollbars in the dash
dash: never allow scrollbars
cc: widget sheet cards, header close button and content-sized dialogs
2026-09-29 16:30:04 -04:00
bbedward aced05157b cc: redesign 7 with a persistent footer and individually tiled buttons 2026-09-29 14:52:40 -04:00
bbedward 2fb0cfee60 delete bad test 2026-09-29 11:24:52 -04:00
bbedward 182e08b1a4 dash: soft primary container, per-widget options and weather tones 2026-09-29 11:22:55 -04:00
bbedward 00952d4d51 settings: window rule editor on the shortcut editor's dialog and cards
fixes #3608
2026-09-29 11:11:23 -04:00
purian23 35faa3130c feat(island): add clipboard support & align launcher sizing options 2026-09-29 03:30:58 -04:00
purian23 97ec64ff97 refactor(cc / blur): restore card background on quick controls & unify blur popouts on Dash/CC 2026-09-29 01:39:58 -04:00
purian23 3fb27d93de fix(hubHint): filter hidden children & test fix 2026-09-28 21:02:59 -04:00
purian23 eda77f7816 feat(settings): dms system software updates & versioning support 2026-09-28 19:45:07 -04:00
bbedward 33bc0a0dff cc: network popup opens at the top
fixes #3605
2026-09-28 16:59:42 -04:00
bbedward e372c48009 settings/cc: network and brightness pages on the shared row pattern
fixes #3602
fixes #3603
fixes #3610
2026-09-28 16:52:51 -04:00
bbedward f9de6b86ea theme: unify every selected list fill on selectedContainer 2026-09-28 16:05:12 -04:00
bbedward ffe2da7e99 avatar: material person glyph instead of an app icon lookup
fixes #3600
2026-09-28 14:43:04 -04:00
bbedward 1142390724 settings: add + item name on every creation fab
settings: stop repeating the page title as the first card label
translations: index untitled cards by their page, not a nested row

fixes #3604
fixes #3609
2026-09-28 14:38:43 -04:00
bbedward 4ca4e2586e cc: change header design and sliders
fixes #3606
2026-09-28 14:26:42 -04:00
bbedward a609b5f999 cc: bg off by default in header 2026-09-27 23:37:09 -04:00
bbedward f6bb4b1727 control center: merge user card and quick actions into one pinned header tile 2026-09-27 23:26:14 -04:00
purian23 64b4d0d235 feat(control center): configurable user card & power control action tiles
- Quick actions are reorderable with button color roles and optional power accents
- Updated dank-qml-common
2026-09-27 20:55:54 -04:00
Feng Yu a4e500bc00 dankbar: bind clickthrough mask regions to section items (#3595) 2026-09-27 18:24:21 -04:00
bbedward d5c96a1756 keybinds: resolve the main modifier per compositor and report it on the cheatsheet 2026-09-27 16:19:06 -04:00
Alexander 734314d09f bar: allow popouts from bars revealed in overview (#3592) 2026-09-27 16:13:03 -04:00
bbedward e4fb86be91 cc: prevent edit mode from leaving screen boundaries 2026-09-27 11:57:53 -04:00
Huỳnh Thiện Lộc 77a6cdfc00 fix(dock): prune orphaned dock surfaces and invalidate frame on deletion (#3577) 2026-09-27 11:50:27 -04:00
Matt Jiang f27627ead2 powermenu: reboot into a chosen EFI boot entry (#3568)
* powermenu: derive shortcuts and extra actions from one source

The power menu matched keys with a switch that repeated the key hints
getPowerActionData already returns, plus a second key list for release.
Look the pressed key up against the hints of the visible actions instead,
so every action with a hint gets its shortcut and the two cannot drift.

Side effects:
- Ctrl+letter no longer triggers actions. Only Ctrl+P was excluded
  before, so Ctrl+R still rebooted. Ctrl combinations are navigation.
- U now triggers switch user when it is shown. Its hint already said U.
- Releasing a letter with no visible action no longer cancels a hold.

SessionService now owns the custom:N action ids as customPowerActions
and extraPowerActions, which the power menu and the launcher both use.
Actions resolve by index into that list instead of slicing the prefix.

* powermenu: add actions that reboot into a chosen efi boot entry

Settings → Power & Sleep gets a "Reboot to another OS" card that lists
the firmware's active EFI entries through efibootmgr. Each saved entry
becomes a "Reboot to <name>" action in the power menu and the launcher,
bound to 1-9 in the order it was added.

Picking one lists the entries again, and stops with a toast if the id no
longer carries the saved label. Otherwise it sets BootNext through pkexec
and reboots through SessionService, so custom reboot commands still apply.

BootEntryService reports why entries are unavailable: not booted in UEFI
mode, efibootmgr missing, or efibootmgr failing with its stderr. Saved
entries stay listed in settings whatever the status, so a synced config
on another machine can still remove them.

efibootmgr parsing and the picker's filtering live in BootEntries.js,
covered by tests/boot-entries.test.mjs.

* powermenu: ignore special keys in action shortcuts
2026-09-27 11:47:05 -04:00
arfan 814620a934 fix(theme): update focus highlight colors for list and quick input components (#3579) 2026-09-27 11:46:44 -04:00
Huỳnh Thiện Lộc 980d37c9da fix(bar): update center section layout synchronously on child size changes (#3588) 2026-09-27 11:45:02 -04:00
Huỳnh Thiện Lộc 0717908d53 fix(island): avoid bottom clipping in media expanded sheet (#3593) 2026-09-27 11:44:08 -04:00
bbedward 4b00c047da launcher: keep the shift+enter paste process alive after the launcher closes
fixes #3586
2026-09-27 11:41:55 -04:00
purian23 5623476126 feat(island): host the island as a widget in any bar configuration
- The island is now a bar widget so any bar can host one alongside the island layout and dot
- Routing got simpler: pick which shortcuts open here, the rest follow the shared rules
- IPC close/hide take down every surface showing the activity
- Qt 6.11 pointer prune workaround so the expanded island stays clickable
2026-09-27 02:02:30 -04:00
bbedward 9dc5b2c5af settings: some loader restructure and restyle keybinds
island: fix satellite opacity and blur
2026-09-26 16:25:34 -04:00
bbedward 09e7ea0221 lyrics: share one mpris controller via LyricsService, accept plain sources 2026-09-26 14:34:32 -04:00
Huỳnh Thiện Lộc 1fc4537894 fix(sysmon): performance tab transparency flicker (#3576)
* fix(sysmon): prevent transparency flicker when switching to performance tab

* fix(sysmon): preload tabs on modal open and ensure immediate floating surface resolution
2026-09-25 22:45:51 -04:00