Commit Graph
726 Commits
Author SHA1 Message Date
bbedward 53412d1f22 theme: publish typography for dux apps
(cherry picked from commit 8f2a486006)
2026-10-21 12:42:02 -04:00
bbedward 9ece8f26fa theme: skip matugen runs whose inputs match the last applied run
fixes #3841

(cherry picked from commit afeea489c9)
2026-10-21 11:25:29 -04:00
Tomás 12e54e0225 Keep MangoWM workspace apps on their own monitor (#3832)
port 2.0

(cherry picked from commit 203b1369b3)
2026-10-21 11:24:35 -04:00
Leonard 1e8423992d refactor(ui): match the dock settings page with the bar settings page (#3829)
port 2.0

(cherry picked from commit 5ffc581ecf)
2026-10-21 00:54:58 +00:00
bbedward 789a968cde branding: rebrand to dux 2026-10-20 12:23:25 -04:00
bbedward 8a30a83896 changelog: track the seen release with a config dir marker instead of cache.json
Setups with a read-only session json broke the changelog marker

fixes #3825
2026-10-20 09:45:34 -04:00
bbedward 7fafc08196 settings: add create link for wallpaper creator 2026-10-19 16:09:05 -04:00
Tomé Carvalhoandcopilot-swe-agent[bot] f43e3705b8 feat(bar): add "hide on last display" option (#3816)
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
2026-10-19 15:45:10 -04:00
bbedward 4155804e57 windows: size floating windows from the preferred height when only a placeholder screen is left
ref #3545
2026-10-19 12:55:40 -04:00
bbedward d6a362d6b3 launcher: default action setting, focus a running window or launch
fixes #3268
2026-10-19 10:34:14 -04:00
bbedward a9dd3be408 notifications: keep popups clear of an auto-hide bar on their edge
fixes #3809
2026-10-18 23:03:09 -04:00
bbedward a72f2ac43d launcher: name launch scopes app-dms-<id>-<random> so portals see the app id
Fixes #3814
2026-10-18 21:48:00 -04:00
purian23 207cbe5aae feat(switch): dms switch stable|beta replaces installed packages in place
- Settings, plugins and session state are backed up before dms changes w/restore options when returning to stable
- Snapshots are only taken when dms itself changes channel
- Info annotated on danklinux docs
2026-10-17 22:20:12 -04:00
lung595 47885e4981 plugins: detail page actions, one-click upvote, author page and undo after uninstall (3/3) (#3753) 2026-10-17 12:20:46 -04:00
lung595 2ad442fb37 plugins: discover shelves, quick filters and typo-tolerant search in the browser (2/3) (#3752) 2026-10-17 11:33:29 -04:00
Guillem CANAL 5f87b7ceea launcher: allow users to customize launcher keybindings (#3800) 2026-10-16 08:58:54 -04:00
Marlon Kranz d14f80ec32 fix(theme): regenerate once when the matugen scheme or monitor changes (#3793) 2026-10-15 11:19:50 -04:00
Marlon Kranz 549cbf6d08 feat(theme): terminal background opacity and wallpaper-tinted colors (#3662) 2026-10-15 11:17:29 -04:00
purian23 c4aea85296 niri: drive touchpad OSD from native compositor events 2026-10-15 02:01:02 -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
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 c3e93ee39a feat(settings): syntax highlight built-in upgrade logs & offer reboot on kernel updates 2026-10-12 23:59:35 -04:00
purian23 eda2f4459b refactor(island): performance & stability improvements
- update qml-common
2026-10-12 23:13:42 -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
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
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
purian23 4eda5ccd8f control center: the final battle test qol update 2026-10-12 01:17:18 -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
purian23 a1e6f6d6ac refactor(binds): updated dms setup defautls for each supported compositor 2026-10-11 00:54:55 -04:00
Marlon Kranzandpurian23 6d331b8fde fix(settings): show what frame mode controls (#3654)
* fix(settings): show what frame mode controls

With frame mode on, many settings did nothing or were hidden while
still applying, and nothing said so. The frame takes its color and
opacity from the first non-island bar, but that bar's Surface card is
hidden while the frame styles it, so neither had a visible control.

Add Background and Override/Opacity rows to the Appearance Frame card,
bound to the same frame bar the renderer reads. Settings the frame
provides in connected mode get a "Managed by Frame in Connected Mode"
note (Interface style border, corner style, background blur and dock
opacity, shadow targets, launcher border); settings with no effect get
"Disabled by Frame Mode" (maximize detection, bar shadow, the bar's
overlay layer in separate mode). Bar size, the bar's overlay layer in
connected mode, dock Over fullscreen and the controls of overlay-layer
docks and launchers are shown again, since they still apply.
Notification Over fullscreen shows as forced on when the frame covers
every display, and launcher rows the Spotlight style ignores are
disabled.

Also relabel the frame Width row as Thickness, raise the inset padding
maximum to its automatic range, and drop a FrameWindow handler for the
removed frameOpacity signal. No new strings.

* settings: show what frame mode controls, fix review findings

---------

Co-authored-by: purian23 <[email protected]>
2026-10-10 00:37:54 -04:00
Marlon Kranzandpurian23 0444835016 fix(frame): make connected mode honor the settings it overrides (#3665)
* fix(frame): make connected mode honor the settings it overrides

Several frame-mode behaviors contradicted what the settings UI shows:

- Frame -> Blur gated blur for every shell surface in connected mode,
  including the Settings window, polkit, context menus, OSDs and toasts.
  WindowBlur now defaults to Background blur; only surfaces painted
  with the frame color (connected popouts, slideouts, Control Center)
  follow Frame -> Blur, and frame-owned surfaces are blurred by the
  frame as before.
- The notepad slideout painted its own fill at the notepad
  transparency. On screens where the frame owns connected chrome it now
  claims a frame surface (new connected_arc slot 5), so the frame paints
  it flush with the cutout, with fillets, and follows the slide.
- Notification popups painted a card surface on top of the frame body,
  stacking fills. That layer is transparent when the frame paints it.
- Connected mode stripped shadow, border and corner styling from every
  bar, including bars on displays without a frame, and hid the rows.
  Styling is now stripped and restored per bar based on whether it
  covers a frame display, re-checked on screen, frame display and
  display-name-mode changes.
- Auto popup gaps and Gap size were hidden in separate mode although
  they still apply there; they now hide only in connected mode.
- The launcher style picker was hidden in connected mode while Island
  still overrode the connected launcher. Connected mode now always uses
  the connected launcher; the picker shows Full, disabled, with a note
  linking to the Bar layout picker.
- The frame shadow ignored Shadows -> Apply to -> Bars.

* fix(frame): address review feedback on connected mode

- Skip bar style reconciliation while the screen list is empty, so a
  hotplug doesn't restore and re-strip every bar.
- Replace the 16 copies of the connector blur anchor and cutout in
  FrameWindow with a ConnectorBlurRegion inline component.
- Let connected mode use the island launcher again now that the island
  can sit in any bar. The picker offers Full and Island there and hides
  Spotlight, which opens the full launcher in that mode anyway; the note
  and the SettingsControlledBy bar target are dropped.

* frame: address review findings on connected mode

---------

Co-authored-by: purian23 <[email protected]>
2026-10-10 00:04:17 -04:00
Huỳnh Thiện Lộc 400f62316c feat(wallpaper): allow recursive cycling through subdirectories (#3739)
* feat(wallpaper): allow recursive cycling through subdirectories

* fix(wallpaper): persist root folder when recursively cycling without folder set
2026-10-09 22:53:29 -04:00
purian23 26301462b7 feat(settings): add dock jump shortcuts & ipc commands for settings categories 2026-10-09 20:33:53 -04:00
bbedward f988a57494 settings: some mild refactors based on feedback 2026-10-09 16:11:53 -04:00
bbedward aef801fc4b wallpaper: import material layouts, dms://wallpaper/install uri, profiles 2026-10-09 14:51:07 -04:00
bbedward 534913dc0b wheel: use WheelInput horizontal helper, make default action cycle
window on WS pill
2026-10-09 12:45:27 -04:00
bbedward 4dd159c7b2 popout: keep the deferred surface show alive under a disabled bar widget
fixes #3728
2026-10-09 11:38:39 -04:00
purian23 e10102edc0 feat(mango): native mouse/touchpad & keyboard input support
- Hide blur toggle options until mango support is added
2026-10-09 05:55:47 -04:00
purian23 ea68399ef3 feat(blur): add configurable blur strength slider in all supported compositors
- Updated Hyprland defaults
2026-10-09 05:19:46 -04:00
purian23 2747a75198 hyprland: bring up features parity overhaul w/0.56+ and upcoming stable releases
- new blur variants, glow, wobble, motion blur and groupbar support
- new inputs support for mouse, touchpad and keyboard settings
- greeter, cheatsheet and scroll capture dispatch in Lua
- scrolling workspace screenshot focus fix
- fix scrolling screenshots from being cut-off on fractional-scale displays
- workspaces are keyed by address on the beta branch and upcoming stable release where named workspaces have no id
- bind flags, per-device binds, new window-rule keys and effects
- outputs default to preferred/auto/auto and gate HDR/VRR on hardwareDetails
- new dms setup/installer systemd session support on hyprland-session.target
2026-10-09 05:14:55 -04:00
purian23 39b0d40877 mango: bring up newly supported config dialects, systemd sessions & setups
- Auto detect the snake_case dialect of Mango master from the binary, write configs and respell existing fragments with:
 `dms config mango-migrate`
- Setup backs up and replaces config.conf, moves binds and rules into dms/
- Start DMS from mango-session.target with systemd or exec-once without
- fix cheatsheet run action and bind precedence, window-rule and display save updates
- Support urgent active tag, greeter loading  /etc/mango, per-screen overviews
2026-10-08 20:50:53 -04:00
Ignacy Pękała b53f7c0633 settings: add support for multiple config files (#3425)
* settings: add support for multiple settings files

PR: #3425

Introduces a drop-in settings files drectory - config.d/.
SettingsStore.toJson preserves settings set in any file (even set to
default values).

* Unload settingsFolderModel if config.d doesn't exist
2026-10-08 18:55:55 -04:00
bbedward b938dd76f0 theme: use blend helpers from qml-common 2026-10-08 16:20:30 -04:00