* Hand browser and web app launches to the running browser directly
With a Chromium-based browser already running, each launch started a second
browser process only to pass its command line over the profile's singleton
socket and exit, ~165ms before the running browser even heard of it.
omarchy-cmd-browser-handoff sends that message itself with socat and waits
for the ACK, so a web app opens in ~210ms instead of ~430ms.
It hands off only what it can do exactly as the browser would: the packaged
browser binary rather than a wrapper, a flags file holding nothing beyond the
process flags Omarchy ships, no other data directory, and a socket we own.
Anything else, or no answer, launches the browser as before.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Hand Brave Origin launches to the running browser too
/usr/bin/brave-origin is the package's own launcher, reading
brave-origin-flags.conf, with the profile in BraveSoftware/Brave-Origin.
A web app now opens in ~158ms instead of ~345ms.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Read the default browser from mimeapps.list when launching
omarchy-launch-browser and omarchy-launch-webapp asked xdg-settings for the
default browser on every launch, ~72ms through several POSIX shell scripts.
The new omarchy-cmd-default-browser reads the http handler from the
config-dir mimeapps.list files the way xdg-mime does, desktop-specific list
first, taking the first listed entry whose command is installed, in ~10ms.
With nothing set there it falls back to xdg-settings as before.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Let the first copy of a browser entry decide whether it is installed
A user-local entry whose browser is gone could be rescued by a system copy
of the same ID, which the launchers never read. xdg-mime judges the first
copy found, as the launchers use it, so do the same.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
omarchy-launch-webapp asked xdg-settings for the default browser with
BROWSER still set to omarchy-launch-browser, which sends it down a
slower path to the same answer: ~105ms instead of ~30ms on every web app
launch. Unset it, as omarchy-launch-browser already does.
omarchy-cmd-terminal-cwd found the focused terminal's shell with pgrep,
which scans all of /proc on every new terminal. Read the terminal's
child lists from /proc instead, keeping the newest child as before.
Web app wrapper overhead drops from ~111ms to ~34ms, and a new terminal
appears in ~77ms instead of ~90ms.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* fix: change uwsm app to uwsm-app for performance
* Do not run uwsm-app in parallel as it's not supported
* Fix comment
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
* Abstract default browser to omarchy-browser (a wrapper)
* Fix the omarchy-browser command as it used to loop. Extract info from the browser .desktop files.
* Clean up and fix bugs
* Cleanup unused change
* Fix indentation
* Separate out omarchy-browser from omarchy-webapp so that we don't break webapps for browsers other than Chromium or Google Chrome.
* Fix incorrect function call
* Add a migration script
* Migration script fixes
* Simplify the browser and webapp commands. Rename commands to align with launch terminology.
* Add support for Microsoft Edge, Opera and Vivaldi
* Fix errors
* Remove --name and --class -- They're not respected when --app is defined
* We don't ship with Chrome
* Simplify launchers
* Use launch commands everywhere
---------
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>