Initial commit of themes and script to move the CPU monitor around
6
config
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#threshold 30
|
||||||
|
incremental
|
||||||
|
#noNice
|
||||||
|
nice 5
|
||||||
|
delay 1000
|
||||||
|
#dir maid
|
8
jessie/descr
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
7
|
||||||
|
jessie_0.png
|
||||||
|
jessie_1.png
|
||||||
|
jessie_2.png
|
||||||
|
jessie_3.png
|
||||||
|
jessie_4.png
|
||||||
|
jessie_5.png
|
||||||
|
jessie_6.png
|
BIN
jessie/jessie_0.png
Normal file
After Width: | Height: | Size: 73 KiB |
BIN
jessie/jessie_1.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
jessie/jessie_2.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
jessie/jessie_3.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
jessie/jessie_4.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
jessie/jessie_5.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
jessie/jessie_6.png
Normal file
After Width: | Height: | Size: 74 KiB |
14
maid/descr
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
13
|
||||||
|
maid_00.png
|
||||||
|
maid_01.png
|
||||||
|
maid_02.png
|
||||||
|
maid_03.png
|
||||||
|
maid_04.png
|
||||||
|
maid_05.png
|
||||||
|
maid_06.png
|
||||||
|
maid_07.png
|
||||||
|
maid_08.png
|
||||||
|
maid_09.png
|
||||||
|
maid_10.png
|
||||||
|
maid_11.png
|
||||||
|
maid_12.png
|
BIN
maid/maid_00.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
maid/maid_01.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
maid/maid_02.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
maid/maid_03.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
maid/maid_04.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
maid/maid_05.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
maid/maid_06.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
maid/maid_07.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
maid/maid_08.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
maid/maid_09.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
maid/maid_10.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
maid/maid_11.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
maid/maid_12.png
Normal file
After Width: | Height: | Size: 33 KiB |
138
move.sh
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#### Configuration/Defaults ####
|
||||||
|
|
||||||
|
# Theme directory name
|
||||||
|
theme=${1:-default} # Will default hot-babe theme, if it can be found
|
||||||
|
|
||||||
|
# Margins set in integer percentage points
|
||||||
|
XmarginPct=${2:-2} # Default 2% of screen width
|
||||||
|
YmarginPct=${3:-0} # Default no vertical margin
|
||||||
|
|
||||||
|
# Alignment; left/right and top/bottom
|
||||||
|
Xalign=${4:-right} # Default right-edge
|
||||||
|
Yalign=${5:-bottom} # Default bottom-edge
|
||||||
|
|
||||||
|
|
||||||
|
#### Do not modify beyond this line ####
|
||||||
|
usage() {
|
||||||
|
echo '${0} - Position hot-babe on screen.'
|
||||||
|
echo 'Usage:'
|
||||||
|
echo " ${0} <theme> [<X margin> <Y margin> <X alignment> <Y alignment>]"
|
||||||
|
echo ' where'
|
||||||
|
echo ' <theme> is the name of a theme directory in ~/.hot-babe or "default",'
|
||||||
|
echo ' <X/Y margin> is given in percentage of screensize (integer only), and'
|
||||||
|
echo ' <X/Y alignment> is given as left/right and top/bottom, respectively.'
|
||||||
|
echo
|
||||||
|
echo 'Note that this script will only make a limited effort at locating the'
|
||||||
|
echo 'files for the default theme; locate it and copy to your ~/.hot-babe if'
|
||||||
|
echo 'this fails.'
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "${2}" ] ; then
|
||||||
|
if [ -z "${5}" ] ; then
|
||||||
|
echo "If any positional options are given, all must be given."
|
||||||
|
echo
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Determine where the themes are (typically where this script is run from, or
|
||||||
|
# the default theme directory), and the first file in the animation
|
||||||
|
if [ "${theme}" = 'default' ] ; then
|
||||||
|
case $(uname) in
|
||||||
|
FreeBSD)
|
||||||
|
first="$(pkg info -l hot-babe|grep '\.png$'|head -1)"
|
||||||
|
;;
|
||||||
|
NetBSD|OpenBSD)
|
||||||
|
first="$(pkg_info -L hot-babe|grep '\.png$'|head -1)"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Platform $(uname) not supported."
|
||||||
|
usage
|
||||||
|
esac
|
||||||
|
dir="$(dirname "$first")"
|
||||||
|
else
|
||||||
|
dir="$(dirname $(realpath $0))/${theme}"
|
||||||
|
first="${dir}/$(head -2 "${dir}/descr" | tail -1)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [ -f "${dir}/descr" ] ; then
|
||||||
|
echo "Could not locate theme config in ${dir}! Bailing.."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract screen dimensions from xprop
|
||||||
|
IFS=' ' set -- $(xprop -root _NET_DESKTOP_GEOMETRY|tr -d ,|cut -f 3,4 -d ' ')
|
||||||
|
scrwidth=$1
|
||||||
|
scrheigth=$2
|
||||||
|
unset IFS
|
||||||
|
|
||||||
|
if ! [ "$scrwidth" -gt 0 ] || ! [ "$scrheigth" -gt 0 ] ; then
|
||||||
|
echo "Could not determine screen dimensions. Does 'xprop' work at all?"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Calculate margins
|
||||||
|
marginX=$((scrwidth*XmarginPct/100))
|
||||||
|
marginY=$((scrheigth*YmarginPct/100))
|
||||||
|
|
||||||
|
if ! [ "$marginX" -ge 0 ] || ! [ "$marginY" -ge 0 ] ; then
|
||||||
|
echo "Could not calculate margins."
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get dimensions of first image in the animation
|
||||||
|
IFS=' ' set -- $(file "${first}"|grep -Eo '[0-9]{1,4} x [0-9]{1,4}'|cut -f 1,3 -d ' ')
|
||||||
|
imgwidth=$1
|
||||||
|
imgheigth=$2
|
||||||
|
unset IFS
|
||||||
|
|
||||||
|
if ! [ "$imgwidth" -gt 0 ] || ! [ "$imgheigth" -gt 0 ] ; then
|
||||||
|
echo "Could not determine image dimensions. Check that the 'file' command gives sane output."
|
||||||
|
echo "Its output must contain image dimensions matching the regex '[0-9]{1,4} x [0-9]{1,4}'."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $Xalign in
|
||||||
|
right)
|
||||||
|
posX=$(((scrwidth-marginX)-imgwidth))
|
||||||
|
;;
|
||||||
|
left)
|
||||||
|
posX=$marginX
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Xalign not correctly specified ('right' or 'left')"
|
||||||
|
usage
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $Yalign in
|
||||||
|
top)
|
||||||
|
posY=$marginY
|
||||||
|
;;
|
||||||
|
bottom)
|
||||||
|
posY=$(((scrheigth-marginY)-imgheigth))
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Yalign not correctly specified ('top' or 'bottom')"
|
||||||
|
usage
|
||||||
|
esac
|
||||||
|
|
||||||
|
wait=0
|
||||||
|
while [ $wait -lt 10 ] ; do
|
||||||
|
if [ $(xdotool search --name hot-babe | wc -l) -gt 0 ] ; then
|
||||||
|
echo "The Hot Babe is here, relocating.."
|
||||||
|
sleep 0.5
|
||||||
|
xdotool search --name hot-babe windowmove %2 $posX $posY windowstate --add BELOW %2
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
wait=$((wait+2))
|
||||||
|
if [ $wait -ge 10 ] ; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo 'Waited too long for the Hot Babe. Bailing out!'
|