Xmonad/Config archive/Nnoell's topstatusbar.sh
< Xmonad | Config archive
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
topstatusbar.sh
#!/bin/bash #Layout BAR_H=8 BIGBAR_W=60 SMABAR_W=30 WIDTH=1280 HEIGHT=16 X_POS=0 Y_POS=0 FONT="-*-montecarlo-medium-r-normal-*-11-*-*-*-*-*-*-*" #Colors CRIT="#d74b73" BAR_FG="#60a0c0" BAR_BG="#363636" DZEN_FG="#9d9d9d" DZEN_FG2="#5f656b" DZEN_BG="#050505" COLOR_ICON="#60a0c0" COLOR_SEP="#007b8c" #Initialized variables IFS='|' #internal field separator (conky) ICONPATH="/home/nnoell/.icons/subtlexbm" INTERVAL=1 CPUTemp=0 GPUTemp=0 CPULoad0=0 CPULoad1=0 NetUp=0 NetDown=0 printVolInfo() { perc=$(amixer get Master | grep "Mono:" | awk '{print $4}' | tr -d '[]%') mute=$(amixer get Master | grep "Mono:" | awk '{print $6}') if [[ $mute == "[off]" ]]; then echo -n "^fg($COLOR_ICON)^i($ICONPATH/volume_off.xbm)^fg()^fg($BAR_FG)^fg() off ^fg()$(echo $perc |gdbar -fg $CRIT -bg $BAR_BG -h $BAR_H -w $BIGBAR_W -s o -nonl)" else echo -n "^fg($COLOR_ICON)^i($ICONPATH/volume_on.xbm)^fg()^fg($BAR_FG)^fg() ${perc}% ^fg()$(echo $perc |gdbar -fg $BAR_FG -bg $BAR_BG -h $BAR_H -w $BIGBAR_W -s o -nonl)" fi return } printCPUInfo() { echo -n "^fg($COLOR_ICON)^i($ICONPATH/cpu.xbm) ^fg()${CPULoad0}% ^fg()"$(echo $CPULoad0 | gdbar -fg $BAR_FG -bg $BAR_BG -h $BAR_H -w $SMABAR_W -s o -nonl)" ^fg()${CPULoad1}% ^fg()$(echo $CPULoad1 | gdbar -fg $BAR_FG -bg $BAR_BG -h $BAR_H -w $SMABAR_W -s o -nonl) ${CPUFreq}GHz" return } printTempInfo() { CPUTemp=$(acpi --thermal | awk '{print substr($4,0,2)}') GPUTemp=$(nvidia-settings -q gpucoretemp |grep '):' | cut -d ' ' -f 6,6 | sed -e 's/.\{1\}$//') if [[ $((CPUTemp)) -gt 70 ]]; then CPUTemp="^fg($CRIT)"$CPUTemp"^fg()" fi if [[ $((GPUTemp)) -gt 70 ]]; then GPUTemp="^fg($CRIT)"$GPUTemp"^fg()" fi echo -n "^fg($COLOR_ICON)^i($ICONPATH/temp.xbm) ^fg($DZEN_FG2)cpu ^fg()${CPUTemp}c ^fg($DZEN_FG2)gpu ^fg()${GPUTemp}c" return } printMemInfo() { MemUsed=$(echo -n $MemUsed | tr -d 'i') echo -n "^fg($COLOR_ICON)^i($ICONPATH/memory.xbm) ^fg($BAR_FG)^fg()${MemUsed} $(echo $MemPerc | gdbar -fg $BAR_FG -bg $BAR_BG -h $BAR_H -w $SMABAR_W -s o -nonl)" return } printFileInfo() { NPKGS=$(pacman -Q | wc -l) NPROC=$(expr $(ps -A | wc -l) - 1) echo -n "^fg($COLOR_ICON)^i($ICONPATH/pc.xbm) ^fg($DZEN_FG2)proc ^fg()$NPROC ^fg($DZEN_FG2)pkgs ^fg()$NPKGS" return } printBattery() { BatPresent=$(acpi -b | wc -l) ACPresent=$(acpi -a | grep on-line | wc -l) if [[ $ACPresent == "1" ]]; then echo -n "^fg($COLOR_ICON)^i($ICONPATH/ac1.xbm)" else echo -n "^fg($COLOR_ICON)^i($ICONPATH/battery_vert3.xbm)" fi if [[ $BatPresent == "0" ]]; then echo -n " ^fg($DZEN_FG2)AC ^fg()on ^fg($DZEN_FG2)Bat ^fg()off" return else RPERC=$(acpi -b | awk '{print $4}' | tr -d "%,") # RSTATE=$(acpi -b | awk '{print $3}' | tr -d ",") if [[ $ACPresent == "1" ]]; then echo -n "^fg() $RPERC% $(echo $RPERC | gdbar -fg $BAR_FG -bg $BAR_BG -h $BAR_H -w $BIGBAR_W -ss 1 -sw 4 -nonl)" else echo -n "^fg() $RPERC% $(echo $RPERC | gdbar -fg $CRIT -bg $BAR_BG -h $BAR_H -w $BIGBAR_W -ss 1 -sw 4 -nonl)" fi fi return } printDiskInfo() { RFSP=$(df -h / | tail -1 | awk -F' ' '{ print $5 }' | tr -d '%') BFSP=$(df -h /boot | tail -1 | awk -F' ' '{ print $5 }' | tr -d '%') if [[ $((RFSP)) -gt 70 ]]; then RFSP="^fg($CRIT)"$RFSP"^fg()" fi if [[ $((BFSP)) -gt 70 ]]; then BFSP="^fg($CRIT)"$BFSP"^fg()" fi echo -n "^fg($COLOR_ICON)^i($ICONPATH/file1.xbm) ^fg($DZEN_FG2)root ^fg()${RFSP}% ^fg($DZEN_FG2)boot ^fg()${BFSP}%" } printKerInfo() { # uptime=$(cut -d'.' -f1 /proc/uptime) # secs=$((${uptime}%60)) # mins=$((${uptime}/60%60)) # hours=$((${uptime}/3600%24)) # days=$((${uptime}/86400)) # uptime="^fg()${mins}^fg(#444)m ^fg()${secs}^fg(#444)s" # if [ "${hours}" -ne "0" ]; then # uptime="^fg()${hours}^fg(#444)h ^fg()${uptime}" # fi # if [ "${days}" -ne "0" ]; then # uptime="^fg()${days}^fg(#444)d ^fg()${uptime}" # fi echo -n " ^fg()$(uname -r)^fg(#007b8c)/^fg(#5f656b)$(uname -m) ^fg(#a488d9)| ^fg()$Uptime" return } printDateInfo() { echo -n "^fg()$(date '+%Y^fg(#444).^fg()%m^fg(#444).^fg()%d^fg(#007b8c)/^fg(#5f656b)%a ^fg(#a488d9)| ^fg()%H^fg(#444):^fg()%M^fg(#444):^fg()%S')" return } printSpace() { echo -n " ^fg($COLOR_SEP)|^fg() " return } printArrow() { echo -n " ^fg(#a488d9)>^fg(#007b8c)>^fg(#444444)> " return } printBar() { while true; do read CPULoad0 CPULoad1 CPUFreq MemUsed MemPerc Uptime printKerInfo printSpace printCPUInfo printSpace printMemInfo printArrow echo -n "^pa(492)" printDiskInfo printSpace printFileInfo printSpace printTempInfo printSpace printBattery printSpace printVolInfo printArrow echo -n "^pa(1125)" printDateInfo echo done return } #Print all and pipe into dzen conky -c /home/nnoell/.conky/conkyrc -u $INTERVAL | printBar | dzen2 -x $X_POS -y $Y_POS -w $WIDTH -h $HEIGHT -fn $FONT -ta 'l' -bg $DZEN_BG -fg $DZEN_FG -p -e ''