Repository navigation
Sync upstream quattro through #18378 - #129
Merged
Merged
Conversation
…'s (omacom#18317) The Snapdragon UKI's trees come from the first /boot/dtbs/linux-omarchy*/qcom folder, and linux-omarchy-<name>/qcom sorts before linux-omarchy/qcom. With a second kernel named after linux-omarchy installed, every boot image got that kernel's trees. Name linux-omarchy's folder ahead of the pattern, here and where the Surface Pro 11 finds its tree.
Reduces Qt app ram usage and uses the Omarchy theme's colors
omacom#18349) * Collapse identical notifications arriving together into one card again A web app open in several tabs fires one notification per tab for a single reminder: a HEY calendar reminder arrived from Chromium twice, 12 ms apart, under ids 9 and 10, and stayed on screen as two identical critical cards. omacom#13522 collapsed these, but the check went out with the old engine when the notification engine was replaced (4671ae2), and the new one never gained it. A new notification that repeats a live card word for word within two seconds now takes over that card's slot, the way a replaces_id update does: one card, one history entry, and the superseded copy is closed at its sender. Same means the same app, source, headline, text, click command and buttons. The picture is not compared, since Chromium hands each copy its own temporary file; the click command is, since every screenshot toast shares its text but opens a different file. The same words after the window are a second message, and a card on its way out is not brought back by a copy of itself. Co-Authored-By: Claude <noreply@anthropic.com> * Keep unnamed toasts in their own decks and different buttons on their own cards Two regressions in the duplicate collapse, both found in review. The row was snapshotted before its key was chosen, so an omarchy-action or notify-send toast, which is grouped by its own key, got the group "toast:" with no key: unrelated notices fell into one deck, the newest hiding the rest. The group is rebuilt once the key is known. The match compared Omarchy's command hints but not the sender's own actions, so the same words offering Reply and then Join merged, and the first button was lost with its sender. A copy now has to offer the same buttons as the card it repeats. Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
* Open the agents panel's starters on a running local model The theme, plugin and app starters went to the default agent with its own config, so a pi set to a local provider by hand hit a stale endpoint instead of the running model's. They now take the local model when one fit for agent work is up, through the same launch overlay as --local, and the default agent otherwise. omarchy-agent gains --prefer-agentic-local: --prefer-local, passing over recipes the catalog marks agentic: false, since the starters are long builds a small fast model would fail partway through. The tooltip names the model a starter will open on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Take any running local model for the starters, as --prefer-local does A loaded model is the choice; there is no catalog judgement on top of it. Drops --prefer-agentic-local. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Shift-click or Shift+Return a starter for the default agent instead With a local model up, holding Shift opens the default agent as before, and the tooltip says so. PanelKeyCatcher's activateRequested now carries the held modifiers, as textKey already does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Show the default agent in a starter's tooltip while Shift is held No standing hint: the tooltip names the local model, and holding Shift swaps it for the default agent that a Shift-click would open. PanelKeyCatcher tracks shiftHeld for this. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Mark Groves <mark-groves@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
A local model that stopped with an error now shows a Show logs link under it, by mouse or keyboard, opening omarchy-agent-local logs <recipe> in a floating terminal: the error, the setup and model journals and, for a model paired across two Sparks, the other half's log. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Mark Groves <mark-groves@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
omarchy-notification-send names its app omarchy-action, and the icon lookup resolved that name to the Omarchy logo, which took the icon slot ahead of the glyph. Reminders showed the logo instead of their finger. Anonymous senders name no app, so their name is no longer looked up. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A real row carries the app name as its source, so omarchy-action still reached the icon lookup. Test with Store.snapshot rows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Support the ASUS ProArt PZ13's speakers and microphones The ProArt PZ13 (HT5306QA, Snapdragon X Plus X1P-42-100) has no sound card without a board-named topology linux-firmware doesn't carry. The asus-proart-pz13-audio package from omarchy-pkgs builds it, and alsa-ucm-conf there carries its UCM profile. Install the package on this laptop at setup, in a migration for existing installs, and list it for offline installs. * ProArt PZ13 migration: leave a machine that has the package alone Migrations run once per user, so a later user's run found the package installed and still asked for a reboot. --------- Co-authored-by: omarchybot <omarchybot@users.noreply.github.com>
omarchy-local-ai's status.json says when another Spark answers on the ConnectX-7 cable before link setup (link.state available); the panel shows it like a recommended model, and its button opens link setup in a terminal, since that asks for the other machine's password once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
The Vivobook S 15 S5507QA (Snapdragon X Elite) leaves the panel black at the unlock prompt, because the display driver waits for the USB-C DisplayPort chain, which only loads after unlock. Load the display, panel and USB-C chain drivers and the Adreno microcode in the initramfs, as the Yoga Slim 7x and Surface Pro 11 do. A migration applies it to existing S 15 installs and rebuilds the boot image once. The X Plus model shares the family name, uses another device tree and is left alone until someone tests it. Co-authored-by: omarchybot <omarchybot@users.noreply.github.com>
PanelKeyCatcher's activateRequested now carries the key's modifiers, so the fixture's bare call threw "Insufficient arguments" and network-panel-runtime-test failed on quattro and every PR against it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Gliff shipped as Omarchy's remote desktop, so the plan to turn Sunshine and Moonlight into one is superseded. Revision 2 records what Gliff already covers and narrows the remaining work to discoverability: a manual chapter, the sshd prerequisite, and the known limits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Gliff shipped as Omarchy's remote desktop, so the plan is done. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Moonlight is a niche client for streaming from a Sunshine host, so it no longer earns a spot in every install. Existing installs keep it; there is no migration, and the preinstall removal no longer treats it as Omarchy's to uninstall. The window rule stays for anyone who installs it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Mark Groves <mark-groves@users.noreply.github.com>
Now that Moonlight no longer ships by default, put it next to the other gaming installs, with a matching Remove > Gaming entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
New installs edit config and text files in Plain. Existing installs keep Neovim: a migration saves it as their editor when none was chosen, and keeps text files opening in it. Neovim stays preinstalled, and $EDITOR falls back to it without a display. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Vim joins the base packages, so an SSH session or a TTY edits in Vim when Plain can't open a window. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every install already has vi, so nothing is added: vim leaves the base packages again, and vi joins the terminal editors the launcher runs in place. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The migration counts a text type as chosen when the older ~/.local/share/applications/mimeapps.list sets it too, so a Neovim line in ~/.config can't hide that choice. The migration test goes (migrations get none), only the English catalog gains the Plain menu label, and the launcher's Plain branch is a full if/else. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
Upstream
quattromoved past omacom#18309 (c40eca98b), which is what #120 merged. Thirty-seven commits replayed onto current quattro, throughf428bb4fe(merge of omacom#18378). No merge commits. One upstream commit was empty once the earlier deletion was in place, so it was not replayed:991e73851only putplans/remote.mdback the way Moonlight had found it, and "Remove the remote plan" had already deleted that file. Upstream's tip does not have it either. Two conflicts, both kept the fork's behavior and took the upstream change. Fork delta vsf428bb4feis the same 256 paths as quattro vsc40eca98b. On the 199 paths upstream did not touch, the added and removed lines are unchanged. Face, Grok Bot, Cursor,linux/linux-headers, and the dropped Claude and translation-sync workflows stay.folio). New installs get it, and migration1794330979installs it on existing machines, rewritesorg.gnome.Nautilus.desktoptofolio.desktopin~/.config/mimeapps.list(following a symlink), retargets a dock pin fromorg.gnome.Nautilustofolio, and drops Nautilus,nautilus-python,nautilus-dropbox, and Sushi.1794341736savesnvimwhen no editor was chosen, and writes Neovim as the default for text types the user has not already set, including a choice that lives only in~/.local/share/applications/mimeapps.list. Without a display, Plain falls back tovi, which every install already has. Vim was added for that fallback and then removed again.1792902457installs it, seeds~/.config/qtengine/config.jsononly when the user has none, and the theme templates gainqtengine.colors.--prefer-localpath as the Quake console, and on the default agent otherwise. Shift-click or Shift+Return keeps the default agent. The tooltip names the local model, and names the default agent while Shift is held.omarchy-agent-local logs <recipe>in a floating terminal. That includes the other half's log when the model is paired across two Sparks.omarchy-local-ai's status says another Spark answers on the ConnectX-7 cable before link setup, the panel shows it the way it shows a recommended model. The button opens link setup in a terminal, which asks for the other machine's password once. The offer stays above the rest of the page.omarchy-notification-sendnames its appomarchy-action, and that name was resolving to the Omarchy logo ahead of the glyph, so a reminder showed the logo instead of its finger. Anonymous senders name no app, so their name is no longer looked up.1794017822installasus-proart-pz13-audio. A later user's migration finds the package already installed and does not ask for another reboot.1793620666applies that to existing S 15 installs and rebuilds the boot image once. The X Plus model shares the family name, uses another device tree, and is left alone./boot/dtbs/linux-omarchy*/qcomfolder, andlinux-omarchy-<name>sorts beforelinux-omarchy. With a second kernel installed, every boot image got that kernel's trees. linux-omarchy's folder is now named ahead of the pattern, including where the Surface Pro 11 finds its tree.plans/remote.mdis removed. A short-lived rewrite of that plan landed and was deleted in the same import.The agents panel conflict kept the fork's
shownProviderslist (hidden providers stay hidden) and took upstream's Shift modifier on starters and the Show logs row. The logs row indexesshownProviders, matching the rest of that loop.Verification
13f4592d2through11be9726fapplied onto quattro57af365e4.shell/plugins/agents/Panel.qmlconflicted twice and was resolved as above.plans/remote.mdwas already deleted when Moonlight's edit and its revert arrived; the revert was empty and was skipped.git diff --name-onlyof HEAD vs upstreamf428bb4feis the same 256 paths as quattro vsc40eca98b. On the 199 paths upstream did not touch, the added and removed line counts match. The other 57 paths are a clean three-way merge of the fork delta with upstream, apart from the Panel.qml resolution.linuxandlinux-headersare still in the other-packages list. Face, Grok Bot, and Cursor are still in the menu. The Claude workflows and the translation-sync workflow are still absent.bash test/shell.d/agents-panel-test.shpassed, including local-model offers, hidden offers, and the panel's sign-in and limit-window helpers.bash test/shell.d/default-agent-test.shpassed, including--prefer-localopening the running local model and the usual agent otherwise.bash test/shell.d/default-apps-test.shpassed, including editor defaults installing missing editors and selecting an editor that is already installed.bash test/shell.d/command-operand-boundaries-test.shpassed, including launch-editor defaulting to Plain, running it inline for$EDITOR, and using vi without a display.bash test/shell.d/dropbox-test.shpassed, including transfer progress, a queued refresh, and excluding internal metadata and cache while retaining ordinary hidden files.bash test/shell.d/notifications-test.shpassed, including the notification policies (duplicate collapse, and theomarchy-actionglyph no longer resolving to the Omarchy logo).bash test/shell.d/hardware-quirks-test.shpassed (6), including the Vivobook S 15 writing its initramfs drop-in on that DMI name and the ProArt PZ13 installingasus-proart-pz13-audioonly on that machine.bash test/shell.d/snapdragon-hardware-test.shpassed (3).bash test/shell.d/surface-pro-11-hardware-test.shpassed.remote-session-service-test.sh(it needs quickshell and grim) or boot a Vivobook S 15, a ProArt PZ13, or a cabled DGX Spark, so the unlock prompt, the PZ13 audio, and the Spark offer were not checked on hardware. No other sync was open.Screenshots
No visible change: this checkout has no Omarchy session, so nothing was drawn here. Files replacing Nautilus, Plain as the editor, the agents panel, Dropbox progress, and notification cards are visible on a machine; the tests above cover the behavior that can run here.