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
2025-11-03 10:50:54 +01:00
2026-06-09 15:21:52 -04:00
2026-06-21 14:59:18 +02:00
2026-06-20 15:44:37 -04:00
2026-06-21 02:25:42 -04:00
2026-06-21 12:31:06 +02:00
2026-06-04 18:38:25 -04:00
2026-06-21 02:25:42 -04:00
2026-06-21 12:31:06 +02:00
2026-06-21 12:31:06 +02:00
2026-06-21 15:02:49 +02:00
2025-10-07 18:17:47 +02:00
2026-05-11 10:39:22 -04:00
2026-06-21 12:31:06 +02:00
2025-06-30 16:42:09 -07:00
2025-07-28 09:32:44 +02:00
2025-07-26 10:02:29 -07:00
2026-05-14 11:34:55 +02:00

Omarchy

Omarchy is a beautiful, modern & opinionated Linux distribution by DHH.

Read more at omarchy.org.

Docs

  • omarchy-shell — shell host, plugin manifest, IPC, shell.json, custom bar modules

License

Omarchy is released under the MIT License.

S
Description
OmarchyCN — China-native, AI-first Omarchy downstream distribution (based on basecamp/omarchy, quattro baseline)
Readme MIT
239 MiB
Languages
Shell 57.3%
QML 31.2%
JavaScript 4.1%
Python 2.9%
Go Template 2.5%
Other 2%