#!/bin/bash # omarchy:summary=Set the default browser for Omarchy and XDG handlers # omarchy:args=[chromium|chrome|brave|brave-origin|edge|firefox|zen] # omarchy:examples=omarchy default browser firefox | omarchy default browser brave if (($# == 0)); then case "$(xdg-settings get default-web-browser)" in chromium.desktop) echo "chromium" ;; google-chrome.desktop) echo "chrome" ;; brave-browser.desktop) echo "brave" ;; brave-origin-beta.desktop) echo "brave-origin" ;; microsoft-edge.desktop) echo "edge" ;; firefox.desktop) echo "firefox" ;; zen.desktop) echo "zen" ;; *) xdg-settings get default-web-browser ;; esac exit 0 fi case "$1" in chromium) desktop_id="chromium.desktop"; name="Chromium"; glyph= ;; chrome) desktop_id="google-chrome.desktop"; name="Chrome"; glyph=󰊯 ;; brave) desktop_id="brave-browser.desktop"; name="Brave"; glyph=󰖟 ;; brave-origin) desktop_id="brave-origin-beta.desktop"; name="Brave Origin"; glyph=󰖟 ;; edge) desktop_id="microsoft-edge.desktop"; name="Edge"; glyph=󰇩 ;; firefox) desktop_id="firefox.desktop"; name="Firefox"; glyph=󰈹 ;; zen) desktop_id="zen.desktop"; name="Zen"; glyph=󰖟 ;; *) echo "Usage: omarchy-default-browser " exit 1 ;; esac xdg-settings set default-web-browser "$desktop_id" xdg-mime default "$desktop_id" x-scheme-handler/http xdg-mime default "$desktop_id" x-scheme-handler/https xdg-mime default "$desktop_id" text/html omarchy-notification-send -g $glyph "$name is now the default browser"