#!/bin/bash
 
##############################################################################
# Script-Name : sysinfo4wp                                                   # 
# Description : Script zur Erstellung eines Bildschirmhintergrundes mit      # 
#               den wichtigsten Systemparametern                             # 
#                                                                            # 
# Last update : 2012-01-05                                                   # 
# Version     : 0.02                                                         # 
##############################################################################
 
##############################################################################
#                                H I S T O R Y                               # 
##############################################################################
# Version     : 0.01                                                         # 
# Description : initial release                                              #
# -------------------------------------------------------------------------- # 
# Version     : 0.02                                                         #
# Description : Bootzeitpunktberechnung berücksichtigt, Dank an fischi       #
##############################################################################

source /etc/lsb-release
source /etc/os-release

YRESO=$(xrandr -q 2> /dev/null | awk -F'current' -F',' 'NR==1 {gsub("( |current)","");print $2}' | cut -f 1 -d "x")
XRESO=$(echo "scale=5; 1080/1920*$YRESO" | bc | cut -d "." -f 1)
RESOLUTION=$YRESO"x"$XRESO
HPOSITION=200
VPOSITION=320
EPATH=$HOME/.wp
COLOR=blue
 
# Definition der Variablen
FILE=$1        # Bildschirmhintergrund in dem die Ausgabe eingebettet werden soll
WALLPAPER="$EPATH/hg.jpg"  # Name unseres neu erstellten Bildschirmhintergrundes
TMPFILE="$EPATH/sysinfgo_4_WP"
PRG=/usr/bin/convert
BGCOLOR=#eff4f8

# Variablen für die ermittelten Parameter
#HOST=$(hostname)
HOST=rpi$(sed "s/^.*macaddr=\([0-9A-F:]*\).*$/\1/" /proc/cmdline |tr -d ":")
KERNEL=`uname -r`
KERNELVERSION="Linux Version "$KERNEL
IPT=$(ifconfig | grep 'inet Adresse' | cut -d ':' -f 2 | cut -d ' ' -f 1)
IPADRESSET="IP Adresse: "$IPT
# ggf. weitere Netzwerkschnittstellen definieren
#IPU=$(/sbin/ifconfig ppp0 | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f 1)
#IPADRESSEU="IP Adresse (ppp0): "$IPU
#UPTIME=`uptime | grep '' /proc/uptime | awk '{ print $1 }'`
#UPTIME=`echo "$UPTIME" | sed 's/\(.*\)...$/\1/'`
#let BOOTDATE=`date +%s`-$UPTIME
#BOOTDATE="Bootzeitpunkt: "`date -d @$BOOTDATE "+%d.%m.%y - %H:%M Uhr"`
CPU_COUNT=`cat /proc/cpuinfo | grep -cA 0 processor`
CPU_MODEL=`cat /proc/cpuinfo | grep -m 1 model.name | sed 's/^model.name*.:*.//'`
CPU_SPEED=`cat /proc/cpuinfo | grep -m 1 cpu.MHz | sed 's/^cpu.MHz*.:*.//' | sed 's/^:*.//'`
CPU="$CPU_COUNT x $CPU_MODEL"
MEM=`grep MemTotal /proc/meminfo`

gsettings set org.mate.background secondary-color $BGCOLOR
gsettings set org.mate.background primary-color $BGCOLOR
gsettings set org.mate.background picture-options 'centered'

# Hintergrundbild erstellen 
$PRG -filter spline -resize $RESOLUTION -unsharp 0x1 $FILE $WALLPAPER
$PRG -gravity southwest -fill $COLOR -pointsize 35 -draw "text $HPOSITION,320 Systemübersicht" $WALLPAPER $WALLPAPER
$PRG -gravity southwest -fill $COLOR -pointsize 30 -draw "text $HPOSITION,270 '$HOST'" $WALLPAPER $WALLPAPER
$PRG -gravity southwest -fill $COLOR -pointsize 20 -draw "text $HPOSITION,230 '$CPU'" $WALLPAPER $WALLPAPER
$PRG -gravity southwest -fill $COLOR -pointsize 20 -draw "text $HPOSITION,200 '$MEM'" $WALLPAPER $WALLPAPER
$PRG -gravity southwest -fill $COLOR -pointsize 20 -draw "text $HPOSITION,160 '$NAME $VERSION'" $WALLPAPER $WALLPAPER
$PRG -gravity southwest -fill $COLOR -pointsize 20 -draw "text $HPOSITION,135 '$KERNELVERSION'" $WALLPAPER $WALLPAPER
# ggf. weiters Netzwerkinterface anzeigen lassen
#$PRG -gravity southwest -font /usr/share/fonts/bitstream-vera/VeraBd.ttf -fill $COLOR -pointsize 20 -draw "text 50,110 '$IPADRESSEU'" $WALLPAPER $WALLPAPER
$PRG -gravity southwest -fill $COLOR -pointsize 20 -draw "text $HPOSITION,85 '$IPADRESSET'" $WALLPAPER $WALLPAPER

#Bildschirmhintergrund in mate setzen
gsettings set org.mate.background picture-filename "$EPATH"/hg.jpg
