Added files
This commit is contained in:
140
dwm_status
Executable file
140
dwm_status
Executable file
@ -0,0 +1,140 @@
|
||||
#!/bin/bash
|
||||
function get_bytes {
|
||||
interface=$(ip route get 8.8.8.8 2>/dev/null| awk '{print $5}')
|
||||
line=$(grep $interface /proc/net/dev | cut -d ':' -f 2 | awk '{print "received_bytes="$1, "transmitted_bytes="$9}')
|
||||
eval $line
|
||||
now=$(date +%s%N)
|
||||
}
|
||||
|
||||
# Function which calculates the speed using actual and old byte number.
|
||||
# Speed is shown in KByte per second when greater or equal than 1 KByte per second.
|
||||
# This function should be called each second.
|
||||
|
||||
function get_velocity {
|
||||
value=$1
|
||||
old_value=$2
|
||||
now=$3
|
||||
}
|
||||
|
||||
print_volume() {
|
||||
[ "$(pulsemixer --get-mute)" = "1" ] && printf "" && exit
|
||||
vol=$(pulsemixer --get-volume | awk '{print $1}')
|
||||
printf "%s%%\\n" " $vol"
|
||||
}
|
||||
|
||||
print_wifi()
|
||||
{
|
||||
# ESSID="`iw dev wlan0 link | grep SSID| sed -r 's/SSID://' | sed -e 's/^[ \t]*//'`"
|
||||
# if test -z "$ESSID"
|
||||
# then
|
||||
# echo -e ""
|
||||
# else
|
||||
# echo -e " $ESSID"
|
||||
# fi
|
||||
|
||||
[ "$(cat /sys/class/net/w*/operstate)" = 'down' ] && wifiicon="📡"
|
||||
|
||||
[ ! -n "${wifiicon+var}" ] && wifiicon=$(grep "^\s*w" /proc/net/wireless | awk '{ print "", int($3 * 100 / 70) "%" }')
|
||||
|
||||
printf "%s %s" "$wifiicon" "$(cat /sys/class/net/e*/operstate | sed "s/down//;s/up//")"
|
||||
|
||||
}
|
||||
|
||||
print_temp(){
|
||||
echo -e " $(sensors | awk '/Core 0/ {print $3}') +$(nvidia-smi -q -d temperature | grep -i "GPU Current" |sed -r 's/GPU Current Temp ://'| sed -r 's/ C//' |sed -e 's/^[ \t]*//').0°C"
|
||||
}
|
||||
|
||||
print_date(){
|
||||
echo -e " $(date +"%m-%e %H:%M")"
|
||||
}
|
||||
|
||||
print_mail(){
|
||||
RESULT=$(echo "$(du -a ~/.mailbox/*/inbox/new/* 2>/dev/null | sed -n '$=')$(cat /tmp/imapsyncicon_$USER 2>/dev/null)")
|
||||
if [ -z $RESULT ]; then
|
||||
echo "0"
|
||||
else
|
||||
echo "$(du -a ~/.mailbox/*/inbox/new/* 2>/dev/null | sed -n '$=')$(cat /tmp/imapsyncicon_$USER 2>/dev/null)"
|
||||
fi
|
||||
}
|
||||
|
||||
batLevel() {
|
||||
# Find the battery level
|
||||
hash acpi || return 0
|
||||
onl="$(acpi -V | grep "on-line")"
|
||||
charge="$(cat /sys/class/power_supply/BAT*/capacity)"
|
||||
|
||||
# Determine battery glyph by percentage range
|
||||
if [[ -z $onl && ${charge} -gt 80 ]]; then
|
||||
echo -e " ${charge}%"
|
||||
elif [[ -z $onl && ${charge} -le 80 && ${charge} -gt 60 ]]; then
|
||||
echo -e " ${charge}%"
|
||||
elif [[ -z $onl && ${charge} -le 60 && ${charge} -gt 40 ]]; then
|
||||
echo -e " ${charge}%"
|
||||
elif [[ -z $onl && ${charge} -le 40 && ${charge} -gt 20 ]]; then
|
||||
echo -e " ${charge}%"
|
||||
elif [[ -z $onl && ${charge} -le 20 ]]; then
|
||||
echo -e " ${charge}%"
|
||||
# If charging, use animated glyph
|
||||
else
|
||||
echo -e ""
|
||||
fi
|
||||
}
|
||||
|
||||
usageData() {
|
||||
# Calculate CPU percentage
|
||||
read cpu a b c pi rest < /proc/stat
|
||||
pt=$((a+b+c+pi))
|
||||
sleep 0.1
|
||||
read cpu a b c i rest < /proc/stat
|
||||
t=$((a+b+c+i))
|
||||
cpuUse=$((100*( (t-pt) - (i-pi) ) / (t-pt) ))
|
||||
|
||||
# Find RAM use
|
||||
# As "A/B"
|
||||
ramUseA=$(free -m -h | grep Mem | awk '{print $3"/"$2}')
|
||||
# As percentage
|
||||
ramPer=$(free -m | grep Mem | awk '{print 100*($3/$2)}')
|
||||
ramUseB="${ramPer%.*}"
|
||||
|
||||
echo -e " $cpuUse% $ramUseB%"
|
||||
}
|
||||
|
||||
echo AUTOSTART
|
||||
feh --bg-fill $HOME/.wall.jpg &
|
||||
xset s off -dpms&
|
||||
xset b off&
|
||||
xset s off&
|
||||
xset -dpms&
|
||||
redshift -l 52.2327:18.3036 -t 6500:3200&
|
||||
nm-applet --sm-disable&
|
||||
/usr/local/bin/st -e "tmux-my"&
|
||||
"/mnt/mega/Systems/Gentoo/apps/KeePass.AppImage"&
|
||||
megasync&
|
||||
dunst -config&
|
||||
/usr/bin/ibus-daemon -d&
|
||||
sh /home/yorune/.xsessionrc&
|
||||
keepassxc&
|
||||
transmission-daemon&
|
||||
teamviewer&
|
||||
|
||||
while true
|
||||
do
|
||||
|
||||
# Get new transmitted, received byte number values and current time
|
||||
get_bytes
|
||||
|
||||
# Calculates speeds
|
||||
vel_recv=$(get_velocity $received_bytes $old_received_bytes $now)
|
||||
vel_trans=$(get_velocity $transmitted_bytes $old_transmitted_bytes $now)
|
||||
|
||||
xsetroot -name "$(print_temp) | $(usageData) | $(sh /home/yorune/dwm/weather.sh) | $(print_wifi) | $(batLevel) | $(print_volume) | $(print_date)"
|
||||
|
||||
# Update old values to perform new calculations
|
||||
old_received_bytes=$received_bytes
|
||||
old_transmitted_bytes=$transmitted_bytes
|
||||
old_time=$now
|
||||
|
||||
sleep 2
|
||||
|
||||
done
|
||||
|
Reference in New Issue
Block a user