From ffa22fa6d496a91922500ceb1f2c177cda8ffb01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20H=2E=20Johansen?= <134231457+SorenHJohansen@users.noreply.github.com> Date: Thu, 23 Apr 2026 23:11:29 +0200 Subject: [PATCH] Enhance web app launcher to support Flatpak browsers --- bin/omarchy-launch-webapp | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/bin/omarchy-launch-webapp b/bin/omarchy-launch-webapp index 71606efa8c..20c17995a3 100755 --- a/bin/omarchy-launch-webapp +++ b/bin/omarchy-launch-webapp @@ -1,12 +1,35 @@ #!/bin/bash -# Launch the passed in URL as a web app in the default browser (or chromium if the default doesn't support --app). +url="$1" +shift browser=$(xdg-settings get default-web-browser) -case $browser in -google-chrome* | brave* | microsoft-edge* | opera* | vivaldi* | helium*) ;; -*) browser="chromium.desktop" ;; +case "$browser" in + 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}" +browser_bin=$(sed -n 's/^Exec=\([^ ]*\).*/\1/p' \ + {~/.local,~/.nix-profile,/usr}/share/applications/"$browser" 2>/dev/null | head -1) + +app_id="${browser%.desktop}" + +# Detect if Flatpak version exists +if command -v flatpak &>/dev/null && flatpak info "$app_id" &>/dev/null; then + browser_cmd="flatpak run $app_id" +else + browser_cmd="$browser_bin" +fi + +# Detect --app support +case "$browser" in + *chrome*|*chromium*|*brave*|*edge*|*opera*|*vivaldi*) supports_app=true ;; + *) supports_app=false ;; +esac + +if $supports_app; then + exec setsid uwsm-app -- $browser_cmd --app="$url" "$@" +else + exec setsid uwsm-app -- $browser_cmd "$url" "$@" +fi