diff options
Diffstat (limited to 'dotfiles/common/.profile.d/browser.sh')
| -rw-r--r-- | dotfiles/common/.profile.d/browser.sh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/dotfiles/common/.profile.d/browser.sh b/dotfiles/common/.profile.d/browser.sh new file mode 100644 index 0000000..e2b3b69 --- /dev/null +++ b/dotfiles/common/.profile.d/browser.sh @@ -0,0 +1,36 @@ +# browser.sh +# Craig Jennings <c@cjennings.net> +# Browser wrapper functions for Wayland sessions + +# Open URL(s) in Chrome, handling Wayland display detection +# Usage: open-chrome "https://example.com" "https://another.com" +open-chrome() { + local wayland_socket + wayland_socket=$(ls /run/user/$(id -u)/wayland-* 2>/dev/null | head -1 | xargs -r basename) + + WAYLAND_DISPLAY="${WAYLAND_DISPLAY:-$wayland_socket}" \ + XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}" \ + /opt/google/chrome/chrome "$@" &>/dev/null & +} + +# Open URL(s) in Firefox, handling Wayland display detection +# Usage: open-firefox "https://example.com" +open-firefox() { + local wayland_socket + wayland_socket=$(ls /run/user/$(id -u)/wayland-* 2>/dev/null | head -1 | xargs -r basename) + + WAYLAND_DISPLAY="${WAYLAND_DISPLAY:-$wayland_socket}" \ + XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}" \ + /usr/bin/firefox "$@" &>/dev/null & +} + +# Generic URL opener using xdg-open +# Usage: open-url "https://example.com" +open-url() { + local wayland_socket + wayland_socket=$(ls /run/user/$(id -u)/wayland-* 2>/dev/null | head -1 | xargs -r basename) + + WAYLAND_DISPLAY="${WAYLAND_DISPLAY:-$wayland_socket}" \ + XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}" \ + xdg-open "$@" &>/dev/null & +} |
