-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathtermhelper-functions
executable file
·72 lines (67 loc) · 1.75 KB
/
termhelper-functions
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/sh
# POSIX-shell compatible functions for using
# from different parts of termhelper
# th means termhelper
black='\033[0;30m'
red='\033[0;31m'
green='\033[1;32m'
yellow='\033[1;33m'
brown='\033[0;33m'
blue='\033[0;34m'
light_blue='\033[1;34m'
magenta='\033[1;35m'
cyan='\033[0;36m'
white='\033[0;37m'
purple='\033[0;35m'
default='\033[0m'
_th_load_config(){
for i in \
/etc/termhelper.d/* \
/run/termhelper.d/* \
/etc/termhelper \
$HOME/.config/termhelper.d/* \
$HOME/.config/termhelper
do
test -e "$i" && . "$i"
done
}
_th_gettext(){
TEXTDOMAIN=termhelper \
TEXTDOMAINDIR=/usr/share/locale \
gettext -s "$@"
}
_th_logo(){
[ "$HEADER_LOGO" ] || HEADER_LOGO='logo:NAME:ID'
# HEADER_LOGO is a ':' separated list of values to find in /usr/share/termhelper/header_logo/
# "ID" is a special value, it will be replaced with $ID from /etc/os-release
echo $HEADER_LOGO |grep -Eq 'ID|NAME' && [ -f '/etc/os-release' ] && . /etc/os-release
for val in $(echo "$HEADER_LOGO" |sed 's/:/ /g') ; do
if [ $val == "ID" ] ; then
if [ -f "/usr/share/termhelper/header_logo/$ID" ] ; then
LOGO_="/usr/share/termhelper/header_logo/$ID"
break
fi
elif [ $val == "NAME" ] ; then
FNAME=$(echo $NAME |sed 's/ /_/g')
if [ -f "/usr/share/termhelper/header_logo/$FNAME" ] ; then
LOGO_="/usr/share/termhelper/header_logo/$FNAME"
break
fi
elif [ -f "$val" ] ; then
LOGO_="$val"
break
elif [ -f "/usr/share/termhelper/header_logo/$val" ] ; then
LOGO_="/usr/share/termhelper/header_logo/$val"
break
fi
done
if [ "$LOGO_" ] ; then
zcat "$LOGO_" 2>/dev/null || cat "$LOGO_"
else
echo "
__ __ _____ __ __ _____
| | | __| | | | | |
| | __| |__| |__| | |
|__|__|_____|_____|_____|_____|"
fi
}