Commit Graph
779 Commits
Author SHA1 Message Date
Adarsh 1e1dbebb70 Theme Antigravity IDE via the VS Code extension (#3836)
(cherry picked from commit 479b1434de)
2026-10-21 13:18:58 -04:00
bbedward fd1295f959 core: only use the simple animation driver for the scrolling wallpaper
fixes #3837

(cherry picked from commit 27a703367f)
2026-10-21 11:25:20 -04:00
bbedward 5ec42c91dc migrate: keep the greeter ACL when merging legacy dirs 2026-10-20 13:56:08 -04:00
bbedward b97fda0639 branding: dux labs, repo urls 2026-10-20 13:44:31 -04:00
bbedward b94fb6a2c8 greeter: fix opensuse docs anchor 2026-10-20 13:41:57 -04:00
bbedward cff4496ec5 deps: dux-go, rebrand follow-ups 2026-10-20 13:02:11 -04:00
bbedward 807853c9a4 branding: rebrand to dux 2 2026-10-20 12:59:09 -04:00
bbedward 789a968cde branding: rebrand to dux 2026-10-20 12:23:25 -04:00
purian23 bdc6a5d214 feat(PikaOS): add official support & installer options
Fixes #2772
2026-10-20 02:38:30 -04:00
Evgeny Zemtsov bb3e3adaab network(networkmanager): rebuild the Wi-Fi list once per scan (#3818) 2026-10-19 15:39:56 -04:00
bbedward 2b9e48d750 core: bump dankgo 2026-10-19 15:31:16 -04:00
bbedward beab7d86e0 chore: update dependencies, hero 2026-10-19 14:55:44 -04:00
bbedward fcb74f5884 greeting: redesign welcome page & changelog page
+ enable changelog
2026-10-19 12:05:38 -04:00
Joseph Petersen 8628daac31 network: rediscover wifi devices before scanning (#3821) 2026-10-19 10:03:14 -04:00
cmleon51 880135da67 brightness: dim outputs without a backlight or ddc through gamma (#3813) 2026-10-18 23:02:21 -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
bbedward 2592e2f33e clipboard: serve selection sends off the shared wayland dispatcher
fixes #3812
2026-10-18 11:59:02 -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
purian23 ae361e37fc systemd: dms systemd command binds dms.service to the preferred compositor session unit
- niri, mango & hyprland supported
- `dms systemd enable/disable/status/start/stop/restart` supported
2026-10-17 03:47:06 -04:00
purian23 ba3574efaa refactor(dankinstall): add new dankcalendar stable detection across distros 2026-10-16 22:43:15 -04:00
purian23 da3b658b2f feat(Enterprise Linux 10): official dms support for RHEL, CentOS Stream, Rocky Linux & AlmaLinux
- dankinstall enables EPEL 10 and installs from the existing COPRs. niri is the supported compositor on EL.

- Hyprland, mango and miracle-wm on EL are supported thanks to @kmf's dank-ws-copr repos

Closes #3442
2026-10-16 21:54:37 -04:00
Marlon Kranz e2ecc1f2a9 fix(cli): time out when the DMS server doesn't answer (#3791) 2026-10-15 11:23:00 -04:00
Marlon Kranz 549cbf6d08 feat(theme): terminal background opacity and wallpaper-tinted colors (#3662) 2026-10-15 11:17:29 -04:00
bbedward 1184b9ca7b core: bump dgop 2026-10-15 09:48:36 -04:00
bbedward 0f33c4b830 niri: drop touchpad osd ipc, rely on the event stream 2026-10-15 09:03:48 -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
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
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
purian23 c3e93ee39a feat(settings): syntax highlight built-in upgrade logs & offer reboot on kernel updates 2026-10-12 23:59:35 -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
Meng fb1686888d fix(network): store pending PSK in IWD ConnectWiFi to prevent double password prompt (#3743) 2026-10-12 11:11:33 -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
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
bbedward 68043277c6 sysupdate: only select the pkg backend on freebsd
clipboard: refuse copies when tracking is disabled so the cli falls back locally
2026-10-10 11:29:05 -04:00
bbedward 5113441810 core: bump to go 1.27, tailscale client 1.104, cut tests
fixes #3737
2026-10-09 11:11:07 -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 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
bbedward f19632eba5 config/kitty: set remember_window_size no in default dms config
ref #3719
2026-10-08 14:03:30 -04:00
bbedward 2c77b9d477 setup: resolve bind terminal from $TERMINAL before the ghostty default
fixes #3653
2026-10-08 13:57:20 -04:00
bbedward aa5610dd49 matugen: do not dbus-activate fcitx5 when reloading its theme 2026-10-08 10:49:00 -04:00
bbedward 8b47d3cf70 brightness: map a dp connector's ddc bus as well as its aux bus
ref #3724
port 1.6
2026-10-08 09:34:01 -04:00
bbedward 2bf7f7c556 cups: fix 24.20 compatibility
fixes #3721
2026-10-08 09:22:47 -04:00
Marlon Kranz 72c23161e7 fix(hyprland): write window rules Hyprland 0.56 accepts, keep DMS windows opaque (#3655)
* fix(hyprland): write window rules Hyprland 0.56 accepts, keep DMS windows opaque

The Lua window-rule writer emitted match keys and effects Hyprland 0.56
does not know: `floating`/`pinned`/`initialised` as match keys and
`noborder`/`norounding` as effects. It now writes `float`/`pin` and
`border_size = 0`/`rounding = 0`; the parser still reads the old
spellings, so existing files load and are rewritten on the next save.
"No Rounding" now suppresses the corner radius so a rule has one
`rounding` key.

The rule editor no longer offers fields the Hyprland writer drops
(Window Opening output/workspace, Size Constraints, the Initialised
match), and Save is disabled while only one half of a move or size
pair is filled. Every window-rule write now reloads the compositor
through one helper, which also covers Hyprland.

DMS windows draw their own translucent background, so any compositor
opacity rule or decoration opacity multiplied on top of it. DMS now
keeps a hidden rule for its own app id: `opaque = true` on Hyprland
(applied after rule and decoration opacity, independent of order, and
leaving the window's own alpha alone) and `opacity 1.0` on niri, which
the store keeps last. It is re-added on start when missing and hidden
from the rules list and the focused-window menu.

Compositor layout gains a Hyprland "Window opacity" slider writing
decoration.active_opacity/inactive_opacity; 100 leaves the user's own
config in charge.

HyprlandService.reloadConfig queues callbacks: Proc keeps one callback
per id, so a reload requested while the layout writer's reload was
pending dropped its callback and left layout generation stuck.

* fix(windowrules): cap corner radius at 20

Hyprland 0.56's Lua window_rule rejects rounding above 20 ("value 24
is more than the maximum of 20") and the rule loses its rounding. The
Hyprland writer now clamps to 20, and the editor slider stops at 20
for every compositor.
2026-10-07 14:09:49 -04:00
Marlon Kranz 7c6e9ed514 fix(screenshot): copy a saved screenshot as a file, not only image bytes (#3667)
dms screenshot put only image/png on the clipboard. Terminals can only
paste text, so pasting a screenshot into a terminal app (e.g. a CLI
that attaches images from a pasted path) did nothing, while a file
copied through the server's clipboard.copyFile pastes its path.

When the screenshot is saved to a file, copy it the same way:
gnome-copied-files, text/uri-list, the path as text/plain, and the
image bytes. The server is asked first so the copy lands in history;
without it, the same offers are served locally. The offer list is
shared with Manager.CopyFile through clipboard.FileOffers.

copyMultiFork now waits for the child to take the selection, like
copyForkCached, so a failed local copy is reported instead of lost.
dms cl copy --download shares this path and now falls back to a local
copy when the server is down or rejects the file. --no-file and PPM
keep the image-only copy.
2026-10-07 14:05:11 -04:00
bbedward 089dc98166 network: set routing preference only from settings
fixes #3068
2026-10-06 15:02:12 -04:00
Pedro Jose Soto Rivera f886789835 network(networkd): treat bridge, bond, team and vlan links as wired (#3706)
* network(networkd): treat bridge, bond, team and vlan links as wired

When the IP configuration lives on a bridge or link aggregate, the
enslaved member NIC reports opState=enslaved and the aggregate itself
was dropped by isWired() because only Type=ether was accepted, so the
widget showed Disconnected. Accept the same link types NetworkManager
already handles (#1581).

Also treat lxdbr*/incusbr* as virtual so container bridges, now of a
wired type, are not picked as the uplink.

Fixes #3463

* network(networkd): only treat a bridge as wired if it has a physical member

Name prefixes can't cover every container/VM bridge (lxcbr0, waydroid0,
...). Check the bridge's members in /sys/class/net/<br>/brif instead and
only accept it as the uplink when at least one member is not virtual
(veth*, tap*, ...). This replaces the lxdbr*/incusbr* prefixes.
2026-10-06 14:43:57 -04:00