Skip to content
This repository was archived by the owner on Feb 13, 2026. It is now read-only.

Commit 95ffbf6

Browse files
committed
feat: add firefox webapp
1 parent 2f8d298 commit 95ffbf6

File tree

1 file changed

+35
-13
lines changed

1 file changed

+35
-13
lines changed
Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,38 @@
11
#!/bin/bash
22

3-
# Force Brave for webapps (--app flag only works with Chromium-based browsers)
4-
# Try Flatpak first, then DNF package
5-
if [[ -f "$HOME/.local/share/applications/com.brave.Browser.desktop" ]] || [[ -f "/var/lib/flatpak/exports/share/applications/com.brave.Browser.desktop" ]]; then
6-
browser="com.brave.Browser.desktop"
7-
elif [[ -f "$HOME/.local/share/applications/brave-browser.desktop" ]] || [[ -f "/usr/share/applications/brave-browser.desktop" ]]; then
8-
browser="brave-browser.desktop"
9-
else
10-
echo "[ERROR] Brave browser not found. Webapps require Brave browser."
11-
echo "[ERROR] Install with: sudo dnf install brave-browser"
12-
echo "[ERROR] Or: flatpak install flathub com.brave.Browser"
13-
exit 1
14-
fi
3+
browser=$(xdg-settings get default-web-browser 2>/dev/null)
154

16-
exec setsid $(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,/usr,/var/lib/flatpak/exports}/share/applications/$browser 2>/dev/null | head -1) --app="$1" "${@:2}"
5+
# Chromium-based browsers support --app flag
6+
chromium_browsers="google-chrome*|brave-browser*|com.brave.Browser*|microsoft-edge*|opera*|vivaldi*|chromium*"
7+
8+
# Firefox-based browsers support -kiosk flag
9+
firefox_browsers="firefox*|zen-browser*|app.zen_browser.zen*|floorp*|librewolf*"
10+
11+
if [[ $browser =~ $chromium_browsers ]]; then
12+
browser_type="chromium"
13+
elif [[ $browser =~ $firefox_browsers ]]; then
14+
browser_type="firefox"
15+
16+
# Launch based on browser type and installation method
17+
case "$browser_type" in
18+
chromium)
19+
if [[ $browser == com.brave.Browser* ]]; then
20+
# Flatpak Brave
21+
exec setsid flatpak run com.brave.Browser --incognito --app="$1" "${@:2}"
22+
else
23+
# Regular Chromium-based browser
24+
browser_bin=$(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,/usr}/share/applications/$browser 2>/dev/null | head -1)
25+
exec setsid "$browser_bin" --incognito --app="$1" "${@:2}"
26+
fi
27+
;;
28+
firefox)
29+
if [[ $browser == app.zen_browser.zen* ]]; then
30+
# Flatpak Zen Browser
31+
exec setsid flatpak run app.zen_browser.zen -kiosk -private-window "$1" "${@:2}"
32+
else
33+
# Regular Firefox-based browser
34+
browser_bin=$(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,/usr}/share/applications/$browser 2>/dev/null | head -1)
35+
exec setsid "$browser_bin" -kiosk -private-window "$1" "${@:2}"
36+
fi
37+
;;
38+
esac

0 commit comments

Comments
 (0)