Commit Graph
282 Commits
Author SHA1 Message Date
David Heinemeier Hansson 9a20742ea7 Stop image picker thumbnail flicker
The May 17 picker performance change made activated thumbnail loads asynchronous, which undid the earlier anti-flicker fix and let carousel movement flash blank thumbnails. Keep lazy activation, but load activated thumbnails synchronously so theme/background picker navigation remains stable. Add regression coverage for the thumbnail loading mode.
2026-06-22 17:32:56 +02:00
David Heinemeier HanssonandClaude Opus 4.8 efd8352dfb launcher: show icons for apps installed mid-session
The launcher resolves each entry's icon through Quickshell.iconPath(),
which bottoms out in Qt's QIconLoader / QIcon::fromTheme. That engine
caches the theme's directory listing — and null results — for the life
of the process, and only re-scans when the icon theme or search paths
change. Nothing in Quickshell 0.3 exposes a way to invalidate it, and a
QML reload doesn't reset it either (QIconLoader is a QtGui process
global, not tied to the QML engine).

So when a user installs a new app while the shell is running, its
.desktop file is picked up live (DesktopEntries is file-watched and the
name appears immediately), but its icon resolves to the cached miss and
renders blank until the whole shell is restarted. That's a poor "I just
installed this" experience.

Fix it without a restart by keeping our own on-disk icon index as a
fallback. When themed lookup returns empty, iconSource() consults a
name->path map built by scanning the XDG icon dirs and /usr/share/
pixmaps (SVGs first, so scalable wins). The scan runs on startup and on
a debounced DesktopEntries change — the same signal that already makes
names appear — and swapping the iconIndex property re-evaluates every
iconSource() binding, so freshly installed icons show up live. Icons Qt
can already resolve are untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 15:05:06 +02:00
David Heinemeier Hansson 35a6940992 Just 3 seconds of screen on after lock 2026-06-20 22:27:03 +02:00
David Heinemeier Hansson 8ae975357a Make sure we never get in-panel scrolling when we shouldn' 2026-06-20 22:19:53 +02:00
Ryan Hughes fd5063dc30 Fix notification popup placement 2026-06-16 01:25:04 -04:00
Ryan Hughes 227240d280 Collapse inactive indicator spacing 2026-06-14 21:12:42 -04:00
Ryan Hughes 8d490d525e Select Codex icon by surface background 2026-06-14 20:14:09 -04:00
Ryan Hughes e0eaf8eea8 Use light Codex icon on light themes 2026-06-14 20:09:29 -04:00
Ryan Hughes d8cff94711 Fix model usage layout on vertical bar 2026-06-14 17:40:00 -04:00
Ryan Hughes 0f5e81143e Move current theme state to local state 2026-06-09 19:48:37 -04:00
Ryan Hughes 29c4a20a86 Fix Claude weekly usage display 2026-06-09 18:11:47 -04:00
David Heinemeier Hansson 73d47390c4 Improve Bluetooth panel connected devices 2026-06-08 17:20:59 +02:00
David Heinemeier Hansson 42a0b25e01 Merge branch 'omarchy-shell' into quattro 2026-06-08 16:56:51 +02:00
David Heinemeier Hansson 3d4bb9ab81 Add splitters to all panels... for now 2026-06-07 20:58:02 +02:00
Ryan Hughes 5178405d19 Merge remote-tracking branch 'origin/omarchy-shell' into omarchy-4 2026-06-07 14:56:08 -04:00
Ryan Hughes 8baae47d48 Fix wifi frequency displays 2026-06-07 14:55:21 -04:00
Ryan Hughes 4c17f6a675 Merge remote-tracking branch 'origin/omarchy-shell' into omarchy-4
# Conflicts:
#	bin/omarchy-debug
#	bin/omarchy-upload-log
2026-06-06 13:28:47 -04:00
Ryan Hughes 92246a50fb Enable plugin hot reloading for add / remove 2026-06-06 13:25:54 -04:00
David Heinemeier Hansson 740f4e2c82 Fix power panel discharge state 2026-06-06 18:01:14 +02:00
David Heinemeier Hansson b83505d738 More small adjustments 2026-06-06 17:21:09 +02:00
David Heinemeier Hansson 43e758ed32 Align network panel details 2026-06-06 17:08:02 +02:00
David Heinemeier Hansson 166b395203 Polish bar icon spacing 2026-06-06 16:43:00 +02:00
David Heinemeier Hansson d7d08d1b17 Improve Tailscale panel controls 2026-06-06 15:48:56 +02:00
Ryan Hughes 2c44fdf5f3 Merge remote-tracking branch 'origin/omarchy-shell' into omarchy-4 2026-06-05 18:35:34 -04:00
Ryan Hughes 1409f85745 Make the bar more easily swapable 2026-06-05 16:49:30 -04:00
Ryan Hughes e5516d882d Simplify system update popover 2026-06-04 19:23:54 -04:00
Ryan Hughes 20d79fe443 Improve update widget 2026-06-04 18:38:25 -04:00
Ryan Hughes 0804962619 Improve update and migration flow 2026-06-04 18:38:25 -04:00
Ryan Hughes add570dac2 Fix one-sided menu row borders 2026-06-04 12:11:41 -04:00
David Heinemeier Hansson 4884f8c64a Persist watched clipboard text 2026-06-04 10:09:38 +02:00
David Heinemeier Hansson 79470dde92 Refine shell panel and lock theming 2026-06-03 22:14:48 +02:00
David Heinemeier Hansson 7a47604e27 Show which panel is open 2026-06-03 14:48:47 +02:00
David Heinemeier Hansson d35957b23c Better spacing 2026-06-03 13:59:33 +02:00
David Heinemeier Hansson e1099e4413 Match lock border to Hyprland style 2026-06-03 13:10:48 +02:00
David Heinemeier Hansson a8080d4016 All click targets should have click hands 2026-06-03 11:27:09 +02:00
David Heinemeier Hansson 198d01f8bc Reveal all hidden tooling when hovering over the center part of the bar 2026-06-03 08:23:32 +02:00
David Heinemeier Hansson ddc013aea9 More subtle tweaks to the lock screen 2026-06-03 08:22:50 +02:00
David Heinemeier Hansson 807f500888 More finessing of lock screen proportions 2026-06-03 07:56:48 +02:00
Ryan Hughes 0f715dff88 Lock screen improvements 2026-06-02 23:32:53 -04:00
Ryan Hughes e8a8fcf183 Fix theme switcher preload scrim race 2026-06-02 22:38:31 -04:00
Ryan Hughes 98ba4a9697 Bring on gradient borders 2026-06-02 11:17:13 -04:00
Ryan Hughes 30bafe7bb0 Make lock wallpaper lazy 2026-06-02 11:13:35 -04:00
Ryan Hughes fe70006736 Prevent disappearing wallpaper 2026-06-01 21:13:41 -04:00
David Heinemeier Hansson 5812a7d04a No leading zeros on the date in the bar 2026-06-01 11:59:30 +02:00
Token User 99bb924f37 Make OSD click-through
Set an empty input mask on the visual-only OSD layer surface so it no longer captures pointer input while visible.
2026-06-01 08:19:34 +02:00
Ryan Hughes 5bab2dd230 Run Voxtype configure from dictation indicator 2026-05-29 14:36:26 -04:00
David Heinemeier Hansson 6f0d9d53cd Keep sensitive clipboard contents out of history
Restore the clipboard watcher behavior that drops CLIPBOARD_STATE=sensitive events, which password managers use for copied secrets.

Use the same sensitive foreground clipboard path for emoji insertion instead of a custom history marker, and keep the password-manager MIME hint ignored as a fallback.
2026-05-29 15:25:21 +02:00
David Heinemeier Hansson cd2be9da25 Insert emojis without persisting clipboard entries
Keep the first emoji result selected whenever results exist, including after search filtering, so Enter inserts immediately.

Route emoji insertion through a hidden helper that serves a transient sensitive clipboard entry long enough for Shift+Insert, then stops that clipboard owner.

Mark transient emoji inserts so clipboard history skips only that event while continuing to record normal terminal copies.
2026-05-29 14:54:49 +02:00
David Heinemeier Hansson a0cf4b07b2 Show clipboard file entries without inline video playback 2026-05-29 14:14:40 +02:00
David Heinemeier Hansson f60c038050 Open clipboard entries from history 2026-05-29 13:54:55 +02:00