Commit Graph
1532 Commits
Author SHA1 Message Date
bbedward 7eee3dcbe7 window rules: percent sizing for niri column width and height, explain float default
fixes #3687
2026-10-05 09:56:35 -04:00
purian23 74628450fc settings: fix the dot behavior card shadowing its own store 2026-10-05 02:47:03 -04:00
KadirandClaude Opus 5.5 dfa19b9237 settings: hide include setup banners on compositors without includes (#3699)
On compositors with no include support (sway, labwc, ...) the displays page
showed a setup banner whose fix button can never succeed.

Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-05 00:49:54 -04:00
KadirandClaude Opus 5.5 131906d6a5 app drawer: open the context menu at the click position (#3697)
The drawer's modal adapter lacked alignedX/alignedY/effectiveScreen, so
LauncherContextMenu treated the offsets as 0 and opened the menu near the
top-left of the screen.

Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-05 00:47:18 -04:00
purian23 5972dd188b refactor(workspaces): retain pill & dot shapes w/index numbers 2026-10-05 00:22:05 -04:00
bbedward 9d3599c51a lock: present the first frame complete 2026-10-04 23:00:20 -04:00
Stephanos Kamprogiannis 002c4eb549 notepad: preserve notes across repeated saves (#3684) 2026-10-04 22:24:36 -04:00
bbedward 076288604e widgets: share the lock editor with the desktop, adjust overlapping
face, share desktop clock widget with lock screen
2026-10-04 22:23:14 -04:00
alvarosth 4bd3e091fe lock: take the lock back when the shell restarts into a locked session (#3685)
* lock: take the lock back when the shell restarts into a locked session

Check the state once when the module completes, on locked or lockedHint,
and handle it the way onSessionLocked does, including the wait while the
session is inactive. After a logind Unlock that the shell ignored for a
lock it started, only lockedHint still says locked; and the module loads
asynchronously, so the state can arrive before its Connections exist.

* loginctl: read LockedHint from logind on unlock

logind's Unlock signal does not clear LockedHint, only the locker does.
Forcing it false told a shell restarted in that window that the session
was no longer locked.
2026-10-04 22:17:06 -04:00
Huỳnh Thiện Lộc d2942a4dbf feat(dock): toggle compositor overview on launcher button right-click (#3694) 2026-10-04 21:45:39 -04:00
apollo79 2b01926e31 settings: add a link to the source code in plugin details (#3690)
* settings: add a link to the source code in plugin details

* style: remove unnecessary whitespace, add empty line

* show link to the plugin source instead of explanation

* fix: check for empty string instead of undefined
2026-10-04 21:36:37 -04:00
bbedward 18610b8972 lock: size the auth box to the field and snap resizes to square 2026-10-04 18:58:11 -04:00
bbedward c2962f8239 lock: give the editor its own grid and make the grid keys reachable 2026-10-04 18:43:45 -04:00
bbedward 23e8bb5935 dash: rebuild the calendar event editor on settings rows
notifications: paint the popup and toast surface once
2026-10-04 17:49:25 -04:00
bbedward d7dc8ae5d2 lock: allow customization, including any desktop widget, to be added and
arranged on lock screen
2026-10-04 15:46:56 -04:00
EmiOnFlux 375aa2f492 add portage backend (#3676)
* add portage backend

* portage: add excludes
2026-10-04 15:10:36 -04:00
Huỳnh Thiện Lộc d8fa3f609d fix(dock): preserve focused indicator in overview mode (#3680) 2026-10-04 11:08:18 -04:00
Huỳnh Thiện Lộc 4ca2a8ef99 feat(dock): push neighboring icons apart on magnification (#3681)
* feat(dock): push neighboring icons apart on magnification

* fix(dock): cap magnification expansion and disable it in taskbar mode

* fix(dock): scale pushed icon offsets to the capped magnification expansion

* fix(dock): avoid binding loop when reading expansion ratio
2026-10-04 10:44:58 -04:00
purian23 b48fce0447 refactor(control center): free the edit button and misc tweaks 2026-10-04 00:55:31 -04:00
purian23 585827e7e4 feat(workspace): add dots workspace indicator styles & compact mode 2026-10-03 20:49:25 -04:00
purian23 d025ccdfc8 refactor(overflow): simplify dbar widgets overflow menu 2026-10-03 18:35:26 -04:00
purian23 184a16c2b4 feat(theme): add support for DMS bold color spec variants 2026-10-03 16:43:38 -04:00
purian23 19abc7dc96 feat(island): state pulses, mic, privacy & duo status glyph activities
- caps lock, power profile, idle inhibitor and charging pulse in the island
- microphone mute and volume as a level transient
- privacy slot while mic, camera or screen share is in use
- duo battery style: arc around the network glyph with signal dots
2026-10-03 15:28:06 -04:00
Marlon Kranz 51f115f11e fix(notifications): edit rules from the menu instead of deleting them (#3670)
* fix(notifications): edit rules from the menu instead of deleting them

A notification rule can set an action and Bypass DND together, but
Unmute and Block in Do Not Disturb spliced the whole rule, dropping the
other setting. They now reset only their own field, and a rule is
removed once it no longer does anything (action and urgency default,
no bypass). Mute and Allow in Do Not Disturb set their field on the
app's existing rule instead of appending one that first-match policy
would shadow.

The menu now only reads and edits enabled, exact rules on the app name
or desktop entry. It used to match any rule whose pattern equaled the
app name, including summary, body, contains and regex rules, and could
delete disabled ones.

Also adds a Copy item to the notification menu on popups and center
cards, copying the summary and body as plain text.

* fix(notifications): let mute apply alongside other rule actions

Rule actions are first-match, so a mute rule behind an app's existing
rule (e.g. No history) never applied while the menu showed Unmute.
Mute is now evaluated like Bypass DND: any matching enabled mute rule
disables the popup, and the other actions stay first-match, so No
history and Mute both apply.

* fix(notifications): skip the sound for dropped and muted notifications

The notification sound played before the check that dismisses a
notification with neither a popup nor a center entry, so dropped
notifications (transient while muted, Popup only plus Mute) still made
a sound. Play it only for notifications that are kept, and not when a
mute rule applies, like Do Not Disturb.
2026-10-03 14:39:48 -04:00
bbedward 27989967b8 media: build the bar lyric line from the word list, not the time-sorted cues 2026-10-03 12:43:31 -04:00
bbedward 2a8368a8a4 media: add album art to bar widget
settings: keep the page still when a rebuilt row drops focus

fixes #3673
2026-10-03 12:23:57 -04:00
bbedward 49d7d6b2fe media: bar lyric line, dbus position re-anchor, keep upcoming lines in view
closes #3652
fixes #3650
2026-10-03 07:07:52 -04:00
Marlon Kranz 6a320399c9 fix(lock): show the lock screen on every display when none is selected (#3666)
With two or more screens connected and none of them in the lock screen
display list (a laptop docked at a different desk), every surface was
inactive and no password field rendered, so the only way out was a
TTY. getFilteredScreens only falls back to all screens with
showOnLastDisplay and exactly one screen, which the lock screen picker
never sets. Treat an empty result as all screens, the same as the
default "all" preference.
2026-10-03 04:57:52 -04:00
bbedward 497e80732f settings: restore a max content width 2026-10-03 04:52:55 -04:00
bbedward 57de2083ad settings: keep the shortcut search in view and focused while filtering
fixes #3649
2026-10-03 04:40:13 -04:00
purian23 d9d9dc21d2 feat(system-update): implement floating window variant for system updates 2026-10-03 02:16:30 -04:00
purian23 0bff4524e2 refactor(software-updates): few button tweaks 2026-10-02 23:07:55 -04:00
purian23 136e1f21cd refactor(notification): restore preview icon placement & apply user theme to dank icon 2026-10-02 22:52:45 -04:00
purian23 4395c97a6a refactor(settings): embed avatar in search field & enhance Software Updates UI 2026-10-02 22:32:26 -04:00
lingdianshiren 300544bc8c bluetooth: identify codecs from the profile description (#3643)
* bluetooth: identify codecs from the profile description

PipeWire describes profiles in the daemon's locale and only names the codec in
that description for the bare profile (LHDC settles on "a2dp-sink"), so the old
English "codec %s" match dropped LHDC profiles on non-English systems. Parsing
the translated shape instead only moves the coupling to word order and
punctuation.

Emit the profile index and raw description from the lua script and let the UI
name the codec by matching the untranslated literal from one codec table.
Switch by index, falling back to the profile name or codec literal, so no
translated text is parsed. Also teach the BlueZ fallback the Savitech ids
(LHDC v5 and v3).

Test: quickshell/tests/bluez-codec.test.mjs

* bluetooth: show unknown codec without masking bluez

* bluetooth: ignore stale codec query results
2026-10-02 19:07:28 -04:00
Huỳnh Thiện Lộc 340f2d179c fix(notepad): hide placeholder during IME composition (#3646) 2026-10-02 18:28:58 -04:00
bbedward 850d7a6071 dash: fix metric trends, edit bar focus rings, battery color option, forecast containers
fixes #3658
2026-10-02 18:23:50 -04:00
bbedward 1d789892f7 lock: wake outputs on unlock whichever path powered them off
fixes #3660
2026-10-02 16:59:03 -04:00
bbedward c559a5250c wallpaper: material presets with seed color and dynamic backdrop 2026-10-02 16:51:34 -04:00
bbedward e4ec3582b4 settings: raised content pane and surface tier ladder instead of dividers 2026-10-02 11:53:15 -04:00
purian23 af27f0bac0 refactor(software-updates): remove confirmation modal & add action item prompt support 2026-10-02 00:52:44 -04:00
purian23 e473c92825 feat(overflow): automatic & per/app dbar widget options 2026-10-02 00:34:09 -04:00
purian23 de1c5c99fa feat(settings + keyboard): core clean up & keyboard driven overhaul in settings 2026-10-01 19:34:28 -04:00
bbedward c668ab9fdf cc: place popout menus by the host window's margins 2026-10-01 18:44:12 -04:00
bbedward ea6c52b5e8 dash: wallpaper carousel follows the index only, swipe steps it 2026-10-01 17:32:48 -04:00
bbedward d77c4f6298 wellbeing: add Digital Wellbeing, with a built-in dash plugin 2026-10-01 15:15:37 -04:00
bbedward a348d8bc5e icons: skip the pixmaps fallback when the theme index times out fixes #3642
battery: bridge history gaps, clock-aligned ticks, hover readout
2026-10-01 10:14:38 -04:00
Huỳnh Thiện Lộc b54fa3a584 feat(dock): expand focused app indicator into animated pill (#3640)
Focused dot expands to 3× width (horizontal dock) or 3× height
(vertical dock) using Theme.shortDuration + Easing.OutCubic.
Applies to both circle and line indicator styles.
2026-10-01 08:52:24 -04:00
LOSTDATA 738e19715e battery: pulse the critical bar indicator (#3596)
* battery: pulse the critical bar indicator

* battery: add critical pulse toggle
2026-10-01 02:04:14 -04:00
purian23 a8623e3ccb settings: cleanup pass to update shared surface tier roles 2026-09-30 21:35:40 -04:00