summaryrefslogtreecommitdiff
path: root/dotfiles/common/.profile.d/browser.sh
blob: e2b3b692e77ba1ecb0b45cbbadaa33cf9e3290e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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 &
}