dotfiles

custom linux config files managed with gnu stow

dotfiles

tmux/code/sys/status


#!/bin/sh

#FULL=♡
#EMPTY=♥
FULL=▓
EMPTY=░
EOL=▒ 
SIZE=7
C0="#000000"
C1="#222222"
C2="#1C596E"
C3="#B3291C"
C4="#3A3A3A"
C5="#efefef"
C6="#878787"

draw()
{
	perc=
	SIZE=
	inc=$(( perc * SIZE / 100 ))
	out=
	thiscolor=
	for v in `seq 0 $(( SIZE - 1 ))`; do
		test "$v" -le "$inc"   \
		&& out="${out}#[fg=$C0]${FULL}" \
		|| out="${out}#[fg=$C1]${EMPTY}"
	done
	echo $out
}
temp()
{
	t=$(sensors | awk '/Core\ 0/ {gsub(/\+/,"",); gsub(/\..+/,"",)    ; print }')
	tc=$C0
	case 1 in
		$((t <= 50)))
			tc=$C2
			;;
		$((t >= 75)))
			tc=$C3
			;;
	esac
	echo "#[fg=$tc]$t°c"
}
bat()
{
	BATPATH=/sys/class/power_supply/BAT1
        STATUS=$BATPATH/status
	BAT_FULL=$BATPATH/charge_full
	BAT_NOW=$BATPATH/charge_now
	bf=$(cat $BAT_FULL)
	bn=$(cat $BAT_NOW)
	stat=$(cat $STATUS)
	case $stat in
		Full)
			st="="
			;;
		Discharging)
			st="-"
			;;
		Charging)
			st="+"
			;;
	esac
	echo "#[fg=$C0]"$st$(( 100 * $bn / $bf ))"%"
}
cpu()
{
	CPU_USE=$(grep 'cpu ' /proc/stat | awk '{usage=(+)*100/(++)} END {print usage}')
	printf "%.0f" $CPU_USE
}
ram()
{
	free | awk '/Mem:/ {print int(/ * 100.0)}'
}
clock()
{
	mtime=$(date +'%H:%M')
	myear=$(date +'%Y-%m-')
	mday=$(date +'%d')
	echo "#[fg=$C5]#[bg=$C4] $mtime #[fg=$C6]$myear#[fg=$C5]$mday #[fg=$C6]$EOL"
}

CPU_INFO=`cpu`
RAM_INFO=`ram`
echo -e `bat` `draw $RAM_INFO 4` `temp` `draw $CPU_INFO 7``clock`

Download

raw zip tar