Skip to content

Omarchy goes Quickshell#5856

Draft
dhh wants to merge 627 commits into
devfrom
omarchy-shell
Draft

Omarchy goes Quickshell#5856
dhh wants to merge 627 commits into
devfrom
omarchy-shell

Conversation

@dhh

@dhh dhh commented May 15, 2026

Copy link
Copy Markdown
Member

All the way.

Copilot AI review requested due to automatic review settings May 15, 2026 19:44
@dhh dhh marked this pull request as draft May 15, 2026 19:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates Omarchy’s desktop UI stack from Waybar + Mako to a Quickshell-based “omarchy-shell” (bar + notifications + menu + settings), including a Noctalia plugin compatibility layer and updated CLI/install/migration flows to match.

Changes:

  • Replace Waybar + Mako with omarchy-shell (Quickshell): new shell IPC, bar widgets, settings panel, and notification integration.
  • Add a Noctalia plugin compat shim (qs.* modules + pluginApi) so many upstream Noctalia widgets can load without modification.
  • Remove legacy Waybar/Mako configs and migrations; update toggles, first-run notifications, and various scripts to refresh the new shell.

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

Reviewed changes

Copilot reviewed 157 out of 216 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/omarchy-cli-test.sh Update CLI help expectation for toggle routes
migrations/1778743515.sh Migrate running system from Waybar/Mako to omarchy-shell
migrations/1778539119.sh Remove obsolete Waybar refresh migration
migrations/1778405462.sh Stop creating mako toggle file (Walker only)
migrations/1778171768.sh Remove Hypr autostart cleanup for swayosd-server
migrations/1778139028.sh Remove obsolete Waybar weather widget migration
migrations/1778008689.sh Remove obsolete Foot window rules migration
migrations/1777620904.sh Remove obsolete cliamp TUI binding migration
migrations/1777578316.sh Remove obsolete Waybar screencording rename migration
migrations/1777464602.sh Remove obsolete Waybar screenrecord cmd migration
migrations/1777017528.sh Remove obsolete Waybar battery right-click migration
migrations/1776781957.sh Remove obsolete VRR monitor tweak migration
migrations/1776434586.sh Drop obsolete Obsidian binding edits migration
migrations/1776410469.sh Remove obsolete Hypr toggles sourcing migration
migrations/1775241210.sh Stop restarting Waybar from voxtype migration
migrations/1775208227.sh Remove obsolete Waybar network tooltip migration
migrations/1773506226.sh Add migration to enable Voxtype GPU when Vulkan exists
migrations/1772293693.sh Remove obsolete layout config migration
migrations/1771847961.sh Remove obsolete tmux binding migration
migrations/1771602647.sh Remove obsolete Waybar notification indicator migration
migrations/1771602477.sh Remove obsolete Waybar idle indicator migration
migrations/1770375655.sh Remove obsolete browser binding migration
migrations/1770159912.sh Remove obsolete NVIDIA env migration
migrations/1769543550.sh Remove obsolete nautilus CWD binding migration
migrations/1768270644.sh Remove obsolete Waybar headset icon migration
migrations/1767716691.sh Remove obsolete Waybar headphone icon migration
migrations/1767685679.sh Remove obsolete Waybar voxtype widget migration
migrations/1767227973.sh Remove obsolete Waybar wiremix launcher migration
migrations/1764067068.sh Remove obsolete Waybar bluetooth off icon migration
migrations/1763653692.sh Remove obsolete Waybar dock icon migration
migrations/1763634099.sh Remove obsolete Waybar bluetooth icon migration
migrations/1763560161.sh Remove obsolete Waybar no-controller migration
migrations/1763409505.sh Remove obsolete Waybar 10th workspace migration
migrations/1763386443.sh Remove obsolete terminal app-id / Waybar edits migration
migrations/1762417304.sh Remove Waybar bluetooth launcher edit from bluetui migration
migrations/1762121828.sh Remove Waybar edits from terminal/uwsm migration
migrations/1761269603.sh Remove obsolete Waybar right-click terminal migration
migrations/1760787158.sh Remove obsolete Waybar styles refresh migration
migrations/1760693222.sh Remove obsolete Waybar tz right-click migration
migrations/1758019332.sh Remove obsolete terminal/editor binding tweak migration
migrations/1757877852.sh Remove obsolete launch-or-focus binding migration
migrations/1757877123.sh Remove obsolete Obsidian IME binding migration
migrations/1757866485.sh Remove obsolete private browser binding migration
migrations/1757511571.sh Remove obsolete Waybar screen recording indicator migration
migrations/1757279511.sh Remove obsolete Waybar locale format migration
migrations/1755870033.sh Remove obsolete terminal CWD arg migration
migrations/1755507891.sh Remove obsolete Hypr bindings browser/webapp rewrites migration
migrations/1754389057.sh Remove obsolete hyprland.conf reorg migration
migrations/1754331529.sh Remove obsolete Waybar menu refresh migration
migrations/1754228071.sh Remove obsolete Waybar update icon migration
migrations/1753495989.sh Stop refreshing Waybar when adding tzupdate
migrations/1752896442.sh Stop refreshing Waybar when switching to wiremix
migrations/1752793122.sh Remove obsolete Waybar config rename migration
migrations/1752725616.sh Stop refreshing Waybar during blueberry removal
migrations/1751887718.sh Stop refreshing Waybar during impala install
install/packaging/fonts.sh Update comment to reflect shell bar usage
install/omarchy-base.packages Drop mako and waybar from base package set
install/first-run/wifi.sh Make first-run notifications clickable actions
install/first-run/welcome.sh Add action button to keybindings notification
install/first-run/install-voxtype.hook Make voxtype install notification actionable
install/config/toggles.sh Stop creating mako toggle file
install/config/theme.sh Remove mako theme symlink setup
default/themed/mako.ini.tpl Remove mako theme template
default/themed/image-picker-colors.json.tpl Add theme template for image picker colors
default/quickshell/omarchy-shell/Widgets/qmldir Declare Widgets module exports
default/quickshell/omarchy-shell/Widgets/NToggle.qml Add Noctalia-compatible toggle widget
default/quickshell/omarchy-shell/Widgets/NTextInput.qml Add themed text input widget
default/quickshell/omarchy-shell/Widgets/NText.qml Add Noctalia-compatible text shim
default/quickshell/omarchy-shell/Widgets/NTabButton.qml Add tab button widget
default/quickshell/omarchy-shell/Widgets/NTabBar.qml Add tab bar container widget
default/quickshell/omarchy-shell/Widgets/NSpinBox.qml Add spinbox widget shim
default/quickshell/omarchy-shell/Widgets/NSlider.qml Add slider widget shim
default/quickshell/omarchy-shell/Widgets/NScrollText.qml Add scrolling text widget shim
default/quickshell/omarchy-shell/Widgets/NPopupContextMenu.qml Add context menu shim for plugins
default/quickshell/omarchy-shell/Widgets/NIconButton.qml Add icon button widget shim + tooltip hookup
default/quickshell/omarchy-shell/Widgets/NIcon.qml Add icon widget shim
default/quickshell/omarchy-shell/Widgets/NDivider.qml Add divider widget
default/quickshell/omarchy-shell/Widgets/NComboBox.qml Add combobox shim w/ currentKey bridge
default/quickshell/omarchy-shell/Widgets/NCheckbox.qml Add checkbox shim
default/quickshell/omarchy-shell/Widgets/NButton.qml Add button shim
default/quickshell/omarchy-shell/Widgets/NBox.qml Add box/container shim
default/quickshell/omarchy-shell/ui/settings/DynamicSettingsForm.qml Add schema-driven settings form component
default/quickshell/omarchy-shell/shell-defaults.json Add default shell config (bar layout etc.)
default/quickshell/omarchy-shell/Services/UI/TooltipService.qml Add TooltipService compat singleton
default/quickshell/omarchy-shell/Services/UI/qmldir Export UI service singletons
default/quickshell/omarchy-shell/Services/UI/PanelService.qml Add PanelService compat singleton
default/quickshell/omarchy-shell/Services/UI/BarService.qml Add BarService compat singleton
default/quickshell/omarchy-shell/Services/System/qmldir Export system service singleton
default/quickshell/omarchy-shell/Services/System/HostService.qml Add HostService compat singleton (os-release parsing)
default/quickshell/omarchy-shell/Services/Power/qmldir Export power service singleton
default/quickshell/omarchy-shell/Services/Power/PowerProfileService.qml Add PowerProfileService compat stub
default/quickshell/omarchy-shell/services/BarWidgetRegistry.qml Add shared widget registry instance for plugins
default/quickshell/omarchy-shell/scripts/weather.sh Add bar-friendly weather JSON helper
default/quickshell/omarchy-shell/scripts/indicators/screen-recording.sh Add screen recording indicator helper
default/quickshell/omarchy-shell/scripts/indicators/notification-silencing.sh Switch indicator to shell IPC DND state
default/quickshell/omarchy-shell/scripts/indicators/idle.sh Add idle indicator helper
default/quickshell/omarchy-shell/plugins/settings/manifest.json Add settings panel plugin manifest
default/quickshell/omarchy-shell/plugins/settings/components/NDropdown.qml Add themed dropdown for settings UI
default/quickshell/omarchy-shell/plugins/README.md Document first-party plugins + invocation
default/quickshell/omarchy-shell/plugins/notifications/manifest.json Add notifications service plugin manifest
default/quickshell/omarchy-shell/plugins/menu/manifest.json Add menu plugin manifest + summon IPC
default/quickshell/omarchy-shell/plugins/image-picker/manifest.json Add image picker overlay plugin manifest
default/quickshell/omarchy-shell/plugins/image-picker/ImagePicker.qml Convert selector to summonable plugin + new IPC
default/quickshell/omarchy-shell/plugins/bar/widgets/spacer.qml Add spacer widget
default/quickshell/omarchy-shell/plugins/bar/widgets/microphone.qml Add microphone widget (Pipewire)
default/quickshell/omarchy-shell/plugins/bar/widgets/lockKeys.qml Add caps/num/scroll lock indicator widget
default/quickshell/omarchy-shell/plugins/bar/widgets/keyboardLayout.qml Add keyboard layout widget (Hyprland)
default/quickshell/omarchy-shell/plugins/bar/widgets/idleInhibitor.qml Add idle inhibitor widget
default/quickshell/omarchy-shell/plugins/bar/widgets/calendar.qml Add calendar widget with popup month view
default/quickshell/omarchy-shell/plugins/bar/widgets/activeWindow.qml Add active window title widget
default/quickshell/omarchy-shell/plugins/bar/manifest.json Add bar plugin manifest
default/quickshell/omarchy-shell/plugins/bar/common/WidgetButton.qml Add common clickable widget button
default/quickshell/omarchy-shell/plugins/bar/common/Slider.qml Add custom slider component
default/quickshell/omarchy-shell/plugins/bar/common/PopupCard.qml Add anchored popup window component
default/quickshell/omarchy-shell/plugins/bar/common/PillButton.qml Add pill button component
default/quickshell/omarchy-shell/compat/noctalia/README.md Document Noctalia compat surface and limits
default/quickshell/omarchy-shell/compat/noctalia/PluginApiFactory.qml Add pluginApi factory for Noctalia plugins
default/quickshell/omarchy-shell/compat/noctalia/PanelWrapper.qml Host Noctalia panels as anchored popups
default/quickshell/omarchy-shell/Commons/Time.qml Add Time compat singleton
default/quickshell/omarchy-shell/Commons/ThemeIcons.qml Add ThemeIcons stub singleton
default/quickshell/omarchy-shell/Commons/Style.qml Add Style token compat singleton
default/quickshell/omarchy-shell/Commons/ShellState.qml Add ShellState stub singleton
default/quickshell/omarchy-shell/Commons/Settings.qml Add Settings compat singleton mapping shell.json
default/quickshell/omarchy-shell/Commons/qmldir Export Commons singletons
default/quickshell/omarchy-shell/Commons/Logger.qml Add Logger compat singleton
default/quickshell/omarchy-shell/Commons/Icons.qml Add Icons map for common Tabler names
default/quickshell/omarchy-shell/Commons/I18n.qml Add I18n stub singleton
default/quickshell/omarchy-shell/Commons/Color.qml Add Color palette compat singleton + theme watchers
default/omarchy-skill/SKILL.md Update docs from Waybar/Mako to omarchy-shell
default/mako/core.ini Remove mako core config
default/hypr/autostart.lua Autostart omarchy-shell instead of Waybar/Mako
default/hypr/apps/walker.lua Ensure walker layer has no animation
default/hypr/apps/system.lua Convert legacy window rules to hl.window_rule calls
default/hypr/apps/omarchy-shell.lua Add shell-specific layer/window rules
default/hypr/apps/hyprshot.lua Ensure hyprshot selection layer has no animation
config/waybar/style.css Remove legacy Waybar style
config/waybar/config.jsonc Remove legacy Waybar config
config/omarchy/extensions/omarchy-menu.jsonc Add JSONC-based menu extension mechanism
config/omarchy/extensions/menu.sh Remove legacy bash-based menu extension stub
config/omarchy/bar.json Add placeholder bar config file
config/hypr/bindings.lua Rewrite bindings to hl.bind + new menu/shell commands
bin/omarchy-windows-vm Tag notification with app name for routing
bin/omarchy-voxtype-status Stream status as JSON, safer process cleanup
bin/omarchy-voxtype-model Restart shell after model changes
bin/omarchy-voxtype-install Restart shell + tag ready notification
bin/omarchy-voxtype-config Remove outdated Waybar-specific comment
bin/omarchy-update-available-reset Switch update refresh from Waybar signal to shell IPC
bin/omarchy-tz-select Stop restarting Waybar after tz change
bin/omarchy-toggle-waybar Remove Waybar toggle command
bin/omarchy-toggle-notification-silencing Toggle DND via shell IPC + refresh indicators
bin/omarchy-toggle-nightlight Remove Waybar-specific restart logic; tag notifications
bin/omarchy-toggle-idle Refresh indicators via shell IPC; tag notifications
bin/omarchy-toggle-bar Add new bar visibility toggle (shell-friendly)
bin/omarchy-toggle Tag toggle notifications with app name
bin/omarchy-theme-set Stop restarting Waybar/Mako during theme set
bin/omarchy-theme-list-with-previews Add helper to list themes with preview paths
bin/omarchy-style-waybar-position Remove Waybar position styling command
bin/omarchy-style-corners-walker Simplify walker corner toggles file write
bin/omarchy-style-corners-quickshell Add corner radius toggle for shell UI
bin/omarchy-style-corners-mako Remove mako corner styling command
bin/omarchy-style-corners Update corner styling to include Quickshell instead of Mako
bin/omarchy-style-bar-position Add bar position styling via shell.json
bin/omarchy-shell-ipc Add canonical IPC wrapper that can start the shell
bin/omarchy-restart-waybar Remove Waybar restart command
bin/omarchy-restart-shell Add shell restart command
bin/omarchy-restart-mako Remove mako reload command
bin/omarchy-remove-service-sunshine Silence ufw delete noise
bin/omarchy-reminder-set-interactive Add interactive reminder prompt command
bin/omarchy-refresh-waybar Remove Waybar refresh command
bin/omarchy-refresh-shell Add shell.json refresh (remove user override)
bin/omarchy-refresh-config Use $OMARCHY_PATH for default config location
bin/omarchy-notification-send Switch glyph handling to hints + tag app for DND rules
bin/omarchy-notification-dismiss Dismiss notifications via shell IPC
bin/omarchy-menu-images Switch selector transport to shell IPC + base64 args
bin/omarchy-launch-settings Add launcher for settings panel via summon IPC
bin/omarchy-launch-screensaver Tag notification with app name
bin/omarchy-launch-config-editor Add helper to toast + open config file
bin/omarchy-install-service-sunshine Silence ufw allow output
bin/omarchy-install-font Add font install + switch helper
bin/omarchy-install-app Add app install helper
bin/omarchy-install-and-launch Add install-then-launch helper
bin/omarchy-hyprland-workspace-layout-toggle Tag notification with app name
bin/omarchy-hyprland-toggle Tag notifications with app name
bin/omarchy-hyprland-monitor-scaling-set Add explicit monitor scaling setter + persistence
bin/omarchy-hyprland-monitor-scaling-cycle Delegate scaling change to setter
bin/omarchy-font-set Remove Waybar edits; use fontconfig as source of truth
bin/omarchy-font-current Read font from fontconfig instead of Waybar CSS
bin/omarchy-default-terminal Tag notification with app name
bin/omarchy-default-editor Tag notification with app name
bin/omarchy-default-browser Tag notification with app name
bin/omarchy-capture-text-extraction Tag notification with app name
bin/omarchy-capture-screenshot Tag notifications + use image-path hint for action
bin/omarchy-capture-screenrecording-with-webcam Add webcam picker wrapper for recording
bin/omarchy-capture-screenrecording Refresh shell indicators instead of Waybar signal
bin/omarchy Remove mako command group description
AGENTS.md Update contributor guidance for omarchy-shell + IPC contract
Comments suppressed due to low confidence (1)

default/quickshell/omarchy-shell/plugins/image-picker/ImagePicker.qml:544

  • The image delegate is created by a Repeater over the full imageArray, so setting source unconditionally will attempt to load/decode every thumbnail even when the delegate is not nearby/visible. Combined with asynchronous: false, this can easily freeze the UI or spike memory/IO for large image directories (wallpaper/theme pickers). Consider restoring gating (e.g., only set source when nearby/selected), or switch to a view type that only instantiates visible delegates (ListView/GridView), keeping async decoding enabled if possible.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread default/quickshell/omarchy-shell/Widgets/NScrollText.qml Outdated
@ali-afk

ali-afk commented May 17, 2026

Copy link
Copy Markdown

Can we add privacy/permission indicators to dock too?

@Just-Utkarsh

Copy link
Copy Markdown

Would it be possible to include an audio visualizer like CAVA in the new Quickshell panel that is replacing Waybar? It would be a really nice feature to have built directly into the bar.
image

@abenz1267

Copy link
Copy Markdown
Contributor

quick heads-up cuz i read "noctalia" in some commits: noctalia is moving away from quickshell, so adding any compat is pointless i assume.

dhh added 22 commits May 20, 2026 19:11
CustomCommandModule.update() in Bar.qml called root.parseModuleJson(raw)
but the function was removed in 3b97006 (the indicator split). Any
custom command module emitting waybar-style JSON would have crashed on
first poll.

Hoist the helper into Util so both call sites — the bar's custom command
module and BarIndicator.extractData — share one definition.
LockView hardcoded font.family to "monospace" in two places, ignoring
the user's OMARCHY_MENU_FONT / fontconfig choice that every other
summoned surface (menu, launcher, polkit, emojis, clipboard) respects.

Bind to Style.font.family so a font change via omarchy-font-set or
fontconfig propagates to the lock screen too.
Six widgets (clock, daytime, keyboardLayout, lockKeys, activeWindow,
media) shipped identical copies of `function setting(name, fallback)`.
Eight widgets reimplemented `readonly property bool vertical`, and
three reimplemented `readonly property int barSize`. Move all three
onto the BarWidget base so widgets read the same wiring everyone else
gets for free.

While in here, drop the dead `setting()` declaration on media.qml — it
was defined but never called.
Matches the BarWidget extraction in the previous commit. The weather
panel was the only panel reimplementing the helper inline; future
panels with inline settings get it for free.
Five sites hardcoded "#cacccc" or "JetBrainsMono Nerd Font" as the
fallback when no bar context was available. Those magic strings are
the *current* palette defaults — they diverge silently when the theme
changes. Bind to the Color / Style singletons so the fallback tracks
whatever the theme says the foreground / monospace family should be.

Color.qml itself keeps the literal "#cacccc" — that's the seed value
the singleton is bootstrapped with before the theme loads.
Five plugins (menu, launcher, clipboard, emojis, polkit) each looked up
OMARCHY_MENU_FONT with the same env-or-monospace fallback. Hoist the
resolution into Style so plugins read one source of truth, and so the
fallback follows the real fontconfig family Style already tracks instead
of the literal string "monospace".
ModuleButton was a near-duplicate of WidgetButton with the same text /
active / keepSpace / tooltip / fontSize / fixedWidth / fixedHeight /
pressed signal surface, only differing in that it closed over the
enclosing root via QML's scoping rules instead of taking `bar` as a
property. Switch CustomCommandModule onto WidgetButton with
`bar: root` so we have one bar button component to maintain.
OSD reimplemented clamp() inline when Util already has one.

PanelSlider's knob-scale binding read `mouseArea.containsMouse` directly
instead of going through a `_hot` like the other interactive controls
(TextField, NumberField, Dropdown). Mirror them so future style work
has a single property to override.
TextField, NumberField, Dropdown, SearchableDropdown, and Toggle all
painted their background, border color, and border width with the same
three-line ternary ladder (`_focused ? focusFill : _hot ? hoverFill :
normalFill`). Five components × three properties × three branches is a
lot of room for one of them to drift from the others when a new state
ever gets added.

Add controlFill / controlBorder / controlBorderWidth on Style and rewrite
each call site as a single binding. No visual change.
Clock and daytime were near-duplicates with different click semantics
(clock toggles between formats on left-click and opens the timezone
selector on right-click; daytime was non-pressable with a hover tooltip).
Standardize on clock, since it's the more capable of the two.

- Delete widgets/daytime.qml and its FirstPartyWidgets entry.
- Migrate shell-defaults.json, shell.qml's builtin fallback, Bar.qml's
  fallback bar config, and the settings panel's builtin defaults so the
  center anchor and center-section entry both reference "clock".
- Rename the daytimeSettings form to clockSettings and rephrase
  "Tooltip format" → "Alternate format (click to toggle)" so the field
  label matches clock's actual behavior.
- Update the gallery dropdown options and bar/README docs.
Set the default formatAlt to "dd MMMM 'W'ww yyyy" (was "dd MMMM yyyy")
in shell-defaults.json, the bundled settings-panel defaults, and the
form placeholder text — clock's own widget fallback already used this
spec but the shipped config overrode it.

Qt.formatDateTime doesn't recognize `ww` and renders it literally
(`20 May Www 2026`), so add an `isoWeek` helper to clock.qml that
pre-substitutes `ww` with a Qt-quoted literal of the ISO 8601 week
number before handing the format off to Qt. Users get `20 May W21 2026`
without anyone needing to know about the substitution.
Sit notifications closer to the top and right edges than the default
gapsOut. The bar-height clearance still applies to the top — only the
free gap portion is halved.
The Hyprland gaps_out value (10px out of the box) reads well as a
window-to-window gap but felt cavernous when used as the screen-edge
margin for panels and notifications. Halve it at the source — panels
that anchor via PopupCard.margin, the launcher / clipboard / emojis /
polkit / menu / settings card-width clamps, and the notification popup
margins all read Style.gapsOut, so one tweak moves them in lockstep.

Revert the per-call /2 in the notifications service, since
Style.gapsOut now already encodes the smaller value.
color13 = "#CE5D97"
color14 = "#3AA99F"
color15 = "#CECDC3"
bg = "#FFFCF0"

@bjarneo bjarneo Jun 3, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I noticed now, after it was merged, is that, these already exists:
bg (background), selection (selection_background), fg (foreground). I'll look into a PR to align these.

dhh and others added 23 commits June 3, 2026 08:22
Especially not on the notifications or lock screen
Download the current page's video with yt-dlp via Alt+Shift+D or a click
on the toolbar icon. A native-messaging host runs the download, shows live
progress on the Quickshell OSD, and posts a clickable "Download complete"
toast that opens the file in mpv.

- Extension: pinned key for a stable id, green download-video icon,
  keyboard command + toolbar action (reads the active tab URL).
- Native host (omarchy-chromium-ytdlp-host): verifies the URL with
  yt-dlp --simulate (else "No video found"), streams progress to the OSD
  (time-throttled to ~4/s), saves to ~/Videos, opens mpv on click.
- Installer (omarchy-install-chromium-ytdlp) writes the native-messaging
  manifest into installed Chromium/Chrome/Brave/Edge profiles; wired into
  browser install and chromium refresh, with a migration for existing users.
- omarchy-osd: add -d/--duration so the OSD can persist during a download.
- Add yt-dlp to base packages, load the extension via --load-extension,
  and document the Alt+Shift+D binding.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jmckible added a commit to jmckible/drivetrain that referenced this pull request Jun 10, 2026
Dimmed overlay with the dashboard's Music + New Music artwork grids.
Arrow/hjkl nav, 1-0/A/B instant launch, Enter/click; opens albums in
the Apple Music PWA via the local listener on :9111, no browser.

album-picker-refresh caches slot data + artwork from the dashboard API
(~/.cache/albums), runs on every summon and daily at 6:40 after album
rotation; the picker live-reloads when the cache changes.

Comments mark the Omarchy 4 port path: wrap the QML as an omarchy-shell
menu plugin (basecamp/omarchy#5856) and drop the standalone daemon.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vitorf7

vitorf7 commented Jun 10, 2026

Copy link
Copy Markdown

It seems as though creating a noctalia compatibility layer as @abenz1267 mentioned will be somewhat "wasted effort" because as announced here, Noctalia is moving away from Quickshell unfortunately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants