Unset BROWSER for xdg-settings reads and don't abort removal on fallback failure
xdg-settings get also consults $BROWSER, so unset it for the getters too. A failed best-effort fallback default should not abort the browser removal. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
e5924ef7d1
commit
e61ff1ef4f
@@ -5,7 +5,7 @@
|
|||||||
# omarchy:examples=omarchy default browser firefox | omarchy default browser brave
|
# omarchy:examples=omarchy default browser firefox | omarchy default browser brave
|
||||||
|
|
||||||
if (($# == 0)); then
|
if (($# == 0)); then
|
||||||
case "$(xdg-settings get default-web-browser)" in
|
case "$(env -u BROWSER xdg-settings get default-web-browser)" in
|
||||||
chromium.desktop) echo "chromium" ;;
|
chromium.desktop) echo "chromium" ;;
|
||||||
google-chrome.desktop) echo "chrome" ;;
|
google-chrome.desktop) echo "chrome" ;;
|
||||||
brave-browser.desktop) echo "brave" ;;
|
brave-browser.desktop) echo "brave" ;;
|
||||||
@@ -13,7 +13,7 @@ if (($# == 0)); then
|
|||||||
microsoft-edge.desktop) echo "edge" ;;
|
microsoft-edge.desktop) echo "edge" ;;
|
||||||
firefox.desktop) echo "firefox" ;;
|
firefox.desktop) echo "firefox" ;;
|
||||||
zen.desktop) echo "zen" ;;
|
zen.desktop) echo "zen" ;;
|
||||||
*) xdg-settings get default-web-browser ;;
|
*) env -u BROWSER xdg-settings get default-web-browser ;;
|
||||||
esac
|
esac
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# omarchy:summary=Launch the default browser as determined by xdg-settings.
|
# omarchy:summary=Launch the default browser as determined by xdg-settings.
|
||||||
# omarchy:args=[url]
|
# omarchy:args=[url]
|
||||||
|
|
||||||
default_browser=$(xdg-settings get default-web-browser)
|
default_browser=$(env -u BROWSER xdg-settings get default-web-browser)
|
||||||
browser_exec=$(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$default_browser 2>/dev/null | head -1)
|
browser_exec=$(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$default_browser 2>/dev/null | head -1)
|
||||||
|
|
||||||
if $browser_exec --help 2>/dev/null | grep -q MOZ_LOG; then
|
if $browser_exec --help 2>/dev/null | grep -q MOZ_LOG; then
|
||||||
|
|||||||
@@ -7,14 +7,14 @@
|
|||||||
|
|
||||||
set_fallback_default_browser() {
|
set_fallback_default_browser() {
|
||||||
local current_browser
|
local current_browser
|
||||||
current_browser=$(xdg-settings get default-web-browser)
|
current_browser=$(env -u BROWSER xdg-settings get default-web-browser)
|
||||||
|
|
||||||
if [[ $current_browser != $1 ]]; then
|
if [[ $current_browser != $1 ]]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if omarchy-cmd-present chromium; then
|
if omarchy-cmd-present chromium; then
|
||||||
env -u BROWSER xdg-settings set default-web-browser chromium.desktop || exit 1
|
env -u BROWSER xdg-settings set default-web-browser chromium.desktop || true
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user