terminal_available() {
terminal_info "$@" > /dev/null
}
+# Usage: <file> <name> <grep-string> <value>
+apply_optional_replacement() {
+ if test -n "$4"; then
+ echo "$1: using $2 $4"
+ generate "$1" '' simple_cpp \
+ "$3" -- "$4"
+ else
+ echo "$1: removing $2 display"
+ grep_i -v "$3" "$1"
+ fi
+}
# Check if `infocmp` is available.
if ! infocmp >/dev/null 2>&1; then
echo 'Warning: `infocmp` not available! 256color checks will fail.'
sed_i 's/attrcolor b ".I"/#attrcolor b ".I"/' screenrc
fi
# Display current battery charge on computers with a battery. Necessary lines
-# are marked as "(BATTERY)".
-if test ! -d /sys/class/power_supply/BAT0; then
- echo 'screenrc: removing battery display'
- grep_i -v '(BATTERY)' screenrc
+# are marked as "(BATTERY)". Also used for Tmux.
+battery=
+for x in /sys/class/power_supply/BAT*; do
+ test -d "$x" || continue
+ battery="$x"
+done
+apply_optional_replacement screenrc \
+ battery BATTERY "$battery"
+# Display current temperature. Necessary lines are marked as "(TEMPERATURE)".
+# Also used for Tmux.
+temperature=/sys/devices/platform/coretemp.0
+if ! test -d "$temperature"; then
+ temperature=
fi
+apply_optional_replacement screenrc \
+ temperature TEMPERATURE "$temperature"
+
if installed tmux; then
- generate tmux.conf .in perl ./bin/remove-continuation.pl
+ generate tmux.conf .in cat
+
+ apply_optional_replacement tmux.conf \
+ battery BATTERY "$battery"
+ apply_optional_replacement tmux.conf \
+ temperature TEMPERATURE "$temperature"
+
+ # Old Tmux versions can't handle that.
+ generate tmux.conf '' ./bin/remove-continuation.pl
# Add mappings to switch to windows 10-29 quickly. See tmux-window.pl for
# details.