Replies: 22 comments 24 replies
|
you're like, a great person |
|
I was just wondering how to do this. Great guide! Many thanks |
|
Awesome one, thank you for sharing it. The only thing I've noticed is that when I get the dialog for some permissions (location, video/audio, notification, etc) it flickers and I can't interact with it. When I disable the custom style it works, so it seems something related to it. I don't know if it's just me / my machine or others are having the same issue. |
|
I feel like I missed something somewhere. I installed the firefox dev edition. Its extracted in downloads currently. I typed the command in step 2 but it says I also tried opening firefox dev edition from downloads and setting it as default and still no luck. Can someone point me in the right direction please? |
|
Works perfectly. Thanks a lot! |
|
Did the same but in a separate launch command so updates don't screw me over, and for Firefox fork Zen with Zen Internet Extension for some extra eye candy. Thanks for the userChrome @pi-hackr, spared me some debugging, maybe at some point I'll post the write up, for now the TLDR command order.
cat > ~/.local/share/omarchy/bin/omarchy-launch-webapp-zen <<'EOF'
#!/bin/bash
exec setsid uwsm app -- zen-browser --no-remote -P "WebApp" --new-window --class WebApp "$1" "${@:2}"
EOF
chmod +x ~/.local/share/omarchy/bin/omarchy-launch-webapp-zen
echo 'unbind = SUPER SHIFT, A' >> ~/.config/hypr/bindings.conf
echo 'bindd = SUPER SHIFT, A, ChatGPT, exec, omarchy-launch-webapp-zen "https://chatgpt.com"' >> ~/.config/hypr/bindings.conf
zen-browser -P "WebApp" -CreateProfile "WebApp"
WEBAPP_PROFILE=$(find ~/.zen -maxdepth 1 -type d -name '*.WebApp' | head -n 1)
DEFAULT_PROFILE=$(find ~/.zen -maxdepth 1 -type d -name '*.Default*' | head -n 1)
cp -r "$DEFAULT_PROFILE/"* "$WEBAPP_PROFILE/" 2>/dev/null || true
mkdir -p "$WEBAPP_PROFILE/chrome"
cat >> "$WEBAPP_PROFILE/user.js" <<'EOF'
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
user_pref("browser.tabs.closeWindowWithLastTab", true);
user_pref("browser.sessionstore.resume_session_once", true);
user_pref("browser.fullscreen.autohide", true);
user_pref("mod.sameerasw_zen_compact_sidebar_type", "0");
user_pref("zen.view.compact.enable-at-startup", true);
user_pref("zen.welcome-screen.seen", true);
user_pref("zen.widget.linux.transparency", true);
user_pref("ui.systemUsesDarkTheme", 1);
EOF
cat >> "$WEBAPP_PROFILE/chrome/userChrome.css" <<'EOF'
#TabsToolbar,
#nav-bar,
#PersonalToolbar,
#statuspanel,
#sidebar-box {
visibility: collapse !important;
}
#titlebar {
visibility: collapse !important;
}
:root[sizemode="normal"] #toolbar-menubar {
visibility: collapse !important;
}
#toolbar-menubar[autohide="false"] {
visibility: visible !important;
}
EOF |
|
thanks so much!! |
|
Awesome! I just added a link this to page in my blog post about replacing Chromium by Firefox. |
|
Hello! I'm not at my computer, so I haven't tested this myself, but I think running in kiosk mode might be a nice experience. Just add the https://support.mozilla.org/en-US/kb/firefox-enterprise-kiosk-mode |
|
this is awesome, you're awesome man thanks so much! |
|
For me using --class WebApp didn't work however --name WebApp seems to work fine |
|
I also removed chromium and instead installed firefox. But updating into .local/* files will be undone after updates. Will there be a better way for it? I believe this change should be made available in the launch-webapp script only, because its being used at lots of places especially in super+alt+space too, we should change it in the codebase itself. |
|
In the meantime, I am considering reinstalling Chromium, or at least a Chromium-based browser that supports the syncing of settings and bookmarks. I am becoming increasingly convinced that Omarchy relies on Chromium being the default browser. I think my love for Omarchy outweighs my love for Firefox, though it still feels somewhat like a betrayal. I realise that I am incurring the scorn of the Firefox adepts by doing this, but well, so be it. |
|
I tried doing this, but it comes with so much hassle. You have to install all the extensions again in the new profile. You can't access any extension settings, such as dark reader. You've to login again in all the accounts you want to use such as ChatGPT, Youtube etc...It's double the effort. EDIT: AFTER NEW ZEN BROWSER UPDATE WITH TAB SYNC ACROSS WINDOWS Updated code: case $browser in
zen* | firefox* )
exec setsid uwsm app -- zen-browser --blank-window --no-remote "$1" "${@:2}"
;;
esac |
|
For those using the Zen config above, I would also advise adding in the follow to your profiles CSS to completely remove the sidebar.
|
|
If I launch Slack with Ideally anly link but a Slack link opens in my main Zen Browser. If click on a link outside of the Slack WebApp to a Slack link it would open the Slack WebApp. |
|
Created wrapper script for that which doesn't require any extension and using tiled fullscreen mode from hyprland https://github.com/atomic-235/hyprland-firefox-pwa |
|
I try it but then I keep getting an error that says: I do have zen and firefox both on my device but I don't think that would affect anything? |
|
Possibly the wrong thread - but if I was to do this, or change the default browser. Do Omarchy updates break it? |
|
As you said, they need to release a feature so that you can change your |
|
Alternative clean solution for some users Replace #!/bin/bash
browser=$(xdg-settings get default-web-browser)
case $browser in
firefox* )
exec setsid uwsm app -- firefox --new-window --kiosk "$1" "${@:2}"
;;
*)
browser="chromium.desktop"
exec setsid uwsm app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$browser 2>/dev/null | head -1) --app="$1" "${@:2}"
;;
esacNote: Kiosk mode disables right-click and some keyboard shortcuts and enters you in full screen mode, to exit out of it, you'll need to press SUPER+F. |
|
Hi everyone, I just migrated to Omarchy quattro (v4) and the approach in this thread no longer works. Tested on Using a symlink
sudo ln -sfn "$HOME/.local/share/omarchy-overrides/bin/omarchy-launch-webapp" \
/usr/bin/omarchy-launch-webappMy script (taken from @pi-hackr): #!/bin/bash
browser=$(xdg-settings get default-web-browser)
case $browser in
firefox*)
exec "$HOME/.local/bin/firefox-pwa" WebApps "$1"
;;
google-chrome* | brave* | microsoft-edge* | opera* | vivaldi* | helium*) ;;
*)
browser="chromium.desktop"
;;
esac
exec setsid uwsm-app -- $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$browser 2>/dev/null | head -1) --app="$1" "${@:2}"I also had to tweak the (a) Replacements: # was: hyprctl dispatch focuswindow "address:$new_addr"
hyprctl dispatch "hl.dsp.focus({ window = \"address:$new_addr\" })"
# was: hyprctl dispatch fullscreenstate 0 2
hyprctl dispatch 'hl.dsp.window.fullscreen_state({ internal = 0, client = 2 })'Profile setup is left unchanged from v3, see original post. |

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi everyone!
I wanted to share a setup I’ve been using to replace Chromium with Firefox for Omarchy WebApps. This allows me to use a dedicated Firefox profile for WebApps while keeping all Omarchy keybindings and
.desktopintegrations intact, and gives the added benefit of a minimal, distraction-free UI with tabs, address bar, and toolbars hidden, making WebApps feel more like standalone applications.1. Modify
omarchy-launch-webappscriptThe script is usually located at:
~/.local/share/omarchy/bin/omarchy-launch-webappHere’s a modified version that redirects WebApp calls to Firefox:
Notes:
--new-windowensures each WebApp opens in its own window.-P "WebApps"specifies the dedicated WebApp profile.--no-remoteallows multiple Firefox instances.--class WebAppallows custom Hyprland rules for window placement and behavior..desktopfiles still work without modification.~/.local/share/omarchy/bin/omarchy-launch-webappmay be overwritten during Omarchy updates, so you’ll need to reapply them after updating (at least until this is part of the official releas ;) ).2. Create a dedicated WebApp profile
If you want a minimal UI for your WebApps, create a Firefox profile:
firefox -P "WebApps" -CreateProfile "WebApps"WebApps.userChrome.cssand other settings independently.3. Firefox WebApp Minimal UI (CSS)
Create or edit
userChrome.cssin the WebApp profile directory (~/.mozilla/firefox/<profile_folder>/chrome/userChrome.css) to hide UI elements:Notes:
about:configin the WebApp profile and set:toolkit.legacyUserProfileCustomizations.stylesheets = true4. Benefits of this setup
.defaultfiles.WebApps) if desired, or you can use your normal profile.If anyone has ideas on further improving this setup, I’d love to discuss them!
All reactions