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

Commit 586d496

Browse files
committed
feat: add firefox webapp
1 parent 2f8d298 commit 586d496

File tree

1 file changed

+29
-12
lines changed

1 file changed

+29
-12
lines changed

unix/fedora/bin/omaforge-launch-webapp

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,33 @@
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"
3+
browser=$(xdg-settings get default-web-browser 2>/dev/null)
4+
5+
# Check if browser is installed via Flatpak
6+
is_flatpak() {
7+
grep -q "^Exec=.*flatpak run" {~/.local,/usr,/var/lib/flatpak/exports}/share/applications/"$browser" 2>/dev/null
8+
}
9+
10+
# Determine browser type
11+
case $browser in
12+
google-chrome*|brave*|microsoft-edge*|opera*|vivaldi*|chromium*|helium*)
13+
browser_type="chromium"
14+
flags="--incognito --app="
15+
;;
16+
firefox*|zen*|floorp*|librewolf*)
17+
browser_type="firefox"
18+
flags="-kiosk -private-window "
19+
;;
20+
*)
21+
exec setsid flatpak run com.brave.Browser --incognito --app="$1" "${@:2}"
22+
;;
23+
esac
24+
25+
# Launch browser
26+
if is_flatpak; then
27+
# Extract app ID - look for pattern with dots (like app.zen_browser.zen or com.brave.Browser)
28+
app_id=$(grep "^Exec=" {~/.local,/usr,/var/lib/flatpak/exports}/share/applications/"$browser" 2>/dev/null | head -1 | grep -oE '[a-z]+\.[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+' | head -1)
29+
exec setsid flatpak run "$app_id" $flags"$1" "${@:2}"
930
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
31+
browser_bin=$(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,/usr}/share/applications/"$browser" 2>/dev/null | head -1)
32+
exec setsid "$browser_bin" $flags"$1" "${@:2}"
1433
fi
15-
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}"

0 commit comments

Comments
 (0)