5207 Commits
Author SHA1 Message Date
purian23 c4aea85296 niri: drive touchpad OSD from native compositor events 2026-10-15 02:01:02 -04:00
purian23 87ce92703c fix(ipc): open bar widget popouts at the right bar, hidden bars included
- References #3786
2026-10-15 01:40:05 -04:00
Huỳnh Thiện Lộc ad964512a9 fix(widgets): drop exclusive keyboard focus during screenshot (#3787) 2026-10-15 00:19:43 -04:00
purian23 3c13700fc5 feat(niri): add toggle functionality & OSD for touchpad control 2026-10-14 17:42:27 -04:00
Huỳnh Thiện Lộc 8ff7ce2cea feat(island): add system tray slot and overflow menu to compact home (#3780)
* feat(island): add system tray slot and overflow menu to compact home

- Add system tray slot and overflow expander menu in Dynamic Island
- Share tray icon path resolution and DBus context menu fallback in TrayMenuManager
- Support edge-anchored context menu positioning across top, bottom, left, and right
- Lock bottom and edge anchoring in DContextMenu to prevent animation jitter

* fix(island): only instantiate tray menus when tray slot is enabled

* feat(island): expand tray item and caret click area to slot height

* fix(island): use Theme.surfaceTextHover and restore DContextMenu height behavior

* refactor(tray): extract shared TrayMenuContent and TrayOverflowGrid, support tray order and IPC in island

* Revert "refactor(tray): extract shared TrayMenuContent and TrayOverflowGrid, support tray order and IPC in island"

This reverts commit 29888f89cd.

* refactor(tray): use shared TrayMenuManager helpers and TrayItemIcon, support tray order and IPC in island

* refactor(tray): extract shared TrayMenuContent and TrayOverflowGrid

* feat(island): support tray item drag and drop reordering

* fix(island): prevent re-entrant tray drag reordering on model destruction

* fix(tray): remove native submenu anchor hydration to prevent popup stutter

* fix(tray): decouple submenu hydrator from anchor window to avoid stutter

* fix(tray): restore anchor window on submenu hydrator and disable on island

* tray: fix bar overflow surface & reuse max visible items on the island
2026-10-14 16:55:26 -04:00
Mario Mohar 699eb23775 color picker: remove recent colors with a hover button, delete or backspace (#3764)
* color picker: remove recent colors with right-click or delete

* color picker: remove recent colors with a hover button, delete or backspace
2026-10-13 21:06:02 -04:00
bbedward 57cfb5e493 bar: keep shared corners on the horizontal bar regardless of map order
fixes #3770
2026-10-13 20:58:51 -04:00
Bernardo Gomes 66ffc133ca plugins: only flag updates when remote head is not contained in local history (#3778)
* plugins: only flag updates when remote head is not contained in local history

* meta: remove inline comments
2026-10-13 20:52:04 -04:00
purian23 35041d03e1 island: honor launcher unload on close 2026-10-13 19:35:12 -04:00
purian23 c18d989fc5 refactor(dock): restore launcher removal in apps dock widget, unify config & visual effects options 2026-10-13 18:22:45 -04:00
purian23 39b41fb880 bars: update island & dbar defaults 2026-10-13 17:31:07 -04:00
purian23 12feb8068b island: center align satellites with the island instance 2026-10-13 16:09:03 -04:00
purian23 e23bd4073f island: restore normal control center height until edit mode 2026-10-13 16:03:25 -04:00
Bernardo Gomes f03ae838c9 doctor: warn when a qt platform theme plugin targets another qt minor (#3771)
Qt skips QPA plugins built for a different major.minor without any
visible error. Out-of-tree plugins such as the AUR qt6ct-kde keep the
file in place after a Qt update, so the check reported them as
installed while Qt apps and tray icons lost their theme. Compare the
version in the plugin's .note.qt.metadata ELF note with the installed
Qt and warn on a mismatch.
2026-10-13 15:15:13 -04:00
bbedward f4e3697803 bar: center apps dock icons and separator on the bar
fixes #3776
2026-10-13 13:49:03 -04:00
bbedward 5f31b2e3d5 lock: start the pam conversation on submit, not on lock
fixes #3775
2026-10-13 12:43:21 -04:00
bbedward ba8c4e60a1 lock: hold the fingerprint scan from a sleep request until PrepareForSleep
fixes #3774
2026-10-13 10:18:12 -04:00
purian23 c3e93ee39a feat(settings): syntax highlight built-in upgrade logs & offer reboot on kernel updates 2026-10-12 23:59:35 -04:00
Huỳnh Thiện Lộc d8a4ffe47b feat(bar): support auto-hide for island in overlay mode (#3772)
* feat(bar): support auto-hide for island in overlay mode

* fix(settings): restore selectedIslandDocked scope for overlay islands

* fix(bar): keep edge hover strip while island auto-hide is revealed
2026-10-12 23:20:38 -04:00
purian23 eda2f4459b refactor(island): performance & stability improvements
- update qml-common
2026-10-12 23:13:42 -04:00
bbedward d041ffccb0 cc: remove border in edit mode 2026-10-12 15:50:50 -04:00
bbedward 14de920cd2 idle: wake monitors on input whenever dms powered them off
fixes #3742
2026-10-12 15:35:08 -04:00
Alexander 80711f1c21 systemd: use explicit shell readiness (#3514) 2026-10-12 14:33:44 -04:00
bbedward 593046064b icc: keep profiles and assignments in the dms config dir 2026-10-12 14:25:09 -04:00
Marlon Kranz 4a8f1062be island: open media and the power menu in one step (#3756)
* island: open media and the power menu in one step, fix dash edits

- Clicking media on the home face opens the player. Closing a sheet
  goes back to the face the user picked, and an opt-in setting
  switches to media when playback starts.
- The power menu can open in the island (Super+X, the dock button),
  with its own route row in the island settings.
- An island collapses when another popout opens on its screen.
- The widgets page hides the center section the island replaces.
- Dragging or resizing a dashboard card no longer blanks the overview:
  Qt hands the committed list over as a non-array, which read as empty.
- The island blur region stays inside the rounded fill.

* fix(island): address review feedback on switching faces by mouse

Opening the player with one click removed the only mouse path from
the home face to the media face. A right-click on the collapsed island
now swaps between the two while media is available.

The swap resizes the island under the pointer, so hover-open stays off
until the pointer leaves. Without a face to swap to, the press is not
accepted and reaches the bar's own right-click action as before.
2026-10-12 12:52:12 -04:00
bbedward e5bb8f610a cc: adjust spacing of half height rows 2026-10-12 12:50:34 -04:00
dms-ci[bot] 0699bc1c97 nix: sync flake.lock to dank-qml-common submodule 2026-10-12 16:00:59 +00:00
bbedward 9433bf7500 i18n: sync 2026-10-12 12:00:27 -04:00
93bd3eecd1 notifications: allow extra conditions per rule (#3683)
* notifications: allow extra conditions per rule

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* notifications: add translator context to the rule condition strings

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* don't use deprecated widgets

---------

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: bbedward <[email protected]>
2026-10-12 11:52:59 -04:00
bbedward 566ccf2fde ci: add dfiles to release fanout, run nix sync jobs on stable branches 2026-10-12 11:45:27 -04:00
bbedward eefc823de3 ci: add deprecated widget check to review workflow 2026-10-12 11:43:02 -04:00
Kadir 8cf89f17c0 session: end the logind session on logout when the compositor has no quit request (#3700) 2026-10-12 11:26:27 -04:00
Kadir 718ba6b118 workspace rename: prefill the focused workspace name on hyprland (#3698)
The rename IPC always read the name from NiriService, so on Hyprland the
field opened empty. Hyprland names are stored as "<id> <name>", so the
prefill drops that prefix to keep a second rename from stacking it.
2026-10-12 11:23:00 -04:00
bbedward 3ff724e4ea bluetooth: treat alias-is-address as the only unnamed case when sorting scan results
fixes #3761
2026-10-12 11:17:54 -04:00
hkoeck 10eb5f6ec3 lock: show the PAM prompt and track the conversation state (#3691)
Pam.qml holds the prompt text PAM asked for and separates "a response is
in flight" from "the conversation is open", so the UI stops treating an
open conversation as busy. The lock screen shows the prompt instead of a
hardcoded "Password", and clears the field when a new prompt arrives.
2026-10-12 11:16:18 -04:00
a8bb04a2b2 displays: send the vrr setting on the wlr-output path (#3701)
* displays: send the vrr setting on the wlr-output path

The toggle shown on compositors without their own output writer (sway,
labwc, ...) was dropped when the heads were built, so it never applied.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* remove test

---------

Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-authored-by: bbedward <[email protected]>
2026-10-12 11:13:45 -04:00
Meng fb1686888d fix(network): store pending PSK in IWD ConnectWiFi to prevent double password prompt (#3743) 2026-10-12 11:11:33 -04:00
bbedward 3e5cfe650c settings: keep hover and click on the row header once a body is open
settings: fix greeter FAB button
desktop: change styling of edit menu

fixes #3767
2026-10-12 11:02:38 -04:00
purian23 ffcaad73b8 desktop menu: slight design tweak 2026-10-12 03:22:59 -04:00
Mario Mohar 0fb2297c15 processlist: search every process, not just the top 100 by cpu (#3763)
* processlist: search every process, not just the top 100 by cpu

* processlist: drop the process search test
2026-10-12 02:47:23 -04:00
purian23 ce389d2e87 feat(input): focus follows mouse on niri and mango 2026-10-12 02:27:21 -04:00
Perdixky 80ca0f0ee5 hyprland: add focus follows mouse toggle (#3755) 2026-10-12 02:15:46 -04:00
Huỳnh Thiện Lộc 132dca18ae fix(control-center): handle escape shortcut at window scope (#3762)
* fix(control-center): handle escape shortcut at window scope

* fix(control-center): dismiss selector sheets before detail navigation on escape
2026-10-12 01:25:25 -04:00
purian23 4eda5ccd8f control center: the final battle test qol update 2026-10-12 01:17:18 -04:00
Marlon Kranz 6640a943b3 doctor: fix the qtengine and xdg menu prefix checks (#3757)
qtengine had its own plugin check, which printed its rows at the end of
the Environment section instead of under QT_QPA_PLATFORMTHEME, with
different names and messages than qt6ct or kde.

Fold it into the shared platform theme check: the Qt6 plugin is always
checked, the Qt5 plugin too when QT_QPA_PLATFORMTHEME names qtengine and
a Qt5 build tool can be asked. Also add a row for
~/.config/qtengine/config.json, which is what makes Qt apps follow the
DMS colors, and say in verbose mode that an unset
QT_QPA_PLATFORMTHEME_QT6 falls back to QT_QPA_PLATFORMTHEME.

The XDG_MENU_PREFIX check only looked in /etc/xdg/menus, so a menu file
in ~/.config/menus, which the menu spec searches first, was reported as
missing. Search the user config dir and every XDG_CONFIG_DIRS entry.
2026-10-11 16:47:41 -04:00
cmleon51 36ff537e9a settings: explain why the autostart settings page is empty (#3754)
* settings: explain why the autostart settings page is empty

Fixed an issue where the autostart apps page was blank if
"xdg-desktop-autostart" was inactive.

The page was still reachable through the search function but not present
in the "Applicatiosn" settings sidebar tab.

* settings: point unavailable autostart applications to new docs section
2026-10-11 16:46:42 -04:00
lung595 846a0ff22f plugins: ranking module and directory metadata for the plugin browser (1/3) (#3751)
* plugins: forward directory metadata (version, icon, permissions, dates) to the shell

* plugins: ranking module for recommendations, trending and picks

* plugins: mark new and recently updated plugins on the browser cards, keep badges clear of the vote count

* i18n: allow the lowercase plugin recency badge next to the New action
2026-10-11 16:45:25 -04:00
bbedward 40b6eaa4fe notifications: pin hovered popups to their slot
fixes #3758
2026-10-11 16:44:50 -04:00
purian23 60736a7381 feat(settings): switch panes with Alt+Arrow keys 2026-10-11 12:34:19 -04:00
purian23 1966c8760d fix(audio): manage sink volume writes & prevent overwrites during adjustments
Closes #2060
2026-10-11 12:18:34 -04:00