aboutsummaryrefslogtreecommitdiff
path: root/X/xsession.d/browser.sh
blob: 024075d63866e227605808b4e813ff921cc99b3d (plain) (blame)
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
# Choose a GUI browser with some rough heuristics

# If LibreWolf or failing that Firefox is available, start by assuming that
if command -v librewolf >/dev/null 2>&1 ; then
    BROWSER=librewolf
elif command -v firefox >/dev/null 2>&1 ; then
    BROWSER=firefox
fi

# Consider a switch to Dillo...
if (
    # No output, please
    exec >/dev/null 2>&1
    # Don't switch if it's not there
    command -v dillo || exit 1
    # Do switch if neither LibreWolf nor Firefox are there
    command -v librewolf || command -v firefox || exit 0
    # Do switch if procfs says we have less than 2GB of RAM
    awk '$1=="MemTotal:"&&$2<2^20{m++}END{exit!m}' < /proc/meminfo
) ; then
    BROWSER=dillo
fi

# Export our choice of browser, if it isn't empty
[ -n "$BROWSER" ] || return
export BROWSER