-
Notifications
You must be signed in to change notification settings - Fork 0
/
winmess-lib.sh
52 lines (43 loc) · 1.46 KB
/
winmess-lib.sh
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
# 2021-08-27 WinMess Inspired by WinGrid-antiX
# Utility functions.
# Display error message.
error() {
YADBOX="--title=WinMess --image=error --button=OK:1 --buttons-layout=center --center --borders=10"
[ ! -z "$DISPLAY" ] && yad $YADBOX --text="$1"
}
# Show usage if requested. PROG* vars must be defined.
init_help() {
# When requested show information about script.
if [ "$1" = '-h' ] || [ "$1" = '--help' ]
then
PROGNAME=$PROGNAME PROGVERSION=$PROGVERSION $PROGDIR/winmess-usage
exit 0
fi
}
# Initialize screen resolutions.
init_res() {
# Guard against missing individual settings.
[ -z "$WINHEIGHT_LESS" ] && WINHEIGHT_LESS=0
[ -z "$WINHEIGHT_MORE" ] && WINHEIGHT_MORE=0
[ -z "$GAPTOP" ] && GAPTOP=0
[ -z "$GAPLEFT" ] && GAPLEFT=0
# Construct Parameters
# --------------------
# Capture screen resolution value.
SCREENRES=$(xdpyinfo | awk '/dimensions:/ { sub("x", " "); print $2" "$3 }')
# Extract screen resolution into height and width components.
SCREENWIDTH=${SCREENRES% *}
SCREENHEIGHT=${SCREENRES#* }
# Calculate 50% of the screen width and height values.
SCREENHALFWIDTH=$(($SCREENWIDTH/2))
SCREENHALFHEIGHT=$(($SCREENHEIGHT/2))
# Reference used by window manager when positioning the window (always
# zero).
GRAVITY=0
}
# Extract field value.
field() {
local TAIL=${2#*$1:}
local SQSP="$(IFS=$' \t\n' echo $TAIL)"
echo ${SQSP%% *}
}