152 lines
4.6 KiB
Bash
Executable File
152 lines
4.6 KiB
Bash
Executable File
#!/bin/bash
|
|
testweather() {
|
|
[ "$(stat -c %y "/tmp/weatherreport" 2>/dev/null | cut -d' ' -f1)" != "$(date '+%Y-%m-%d')" ] && ping -q -c 1 1.1.1.1 >/dev/null && curl -s "wttr.in/$location" > "/tmp/weatherreport" && notify-send "🌞 Weather" "New weather forecast for today."
|
|
|
|
printf "%s" "$(sed '16q;d' "/tmp/weatherreport" | grep -wo "[0-9]*%" | sort -n | sed -e '$!d' | sed -e "s/^/☔ /g" | tr -d '\n')" && sed '13q;d' "/tmp/weatherreport" | grep -o "m\\(-\\)*[0-9]\\+" | sort -n -t 'm' -k 2n | sed -e 1b -e '$!d' | tr '\n|m' ' ' | awk '{print " ❄️",$1 "°","🌞",$2 "°"}'
|
|
}
|
|
|
|
|
|
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-%d %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%"
|
|
}
|
|
|
|
|
|
playerCmus(){
|
|
if info=$(cmus-remote -Q 2> /dev/null); then
|
|
status=$(echo "$info" | grep status | awk -F\ '{print $2}')
|
|
|
|
file=$(echo "$info" | grep file | awk -F\ '{print $2}')
|
|
|
|
if [ "$status" = "playing" ] || [ "$status" = "paused" ]; then
|
|
title=$(echo "$info" | grep title | awk -F\ '{$1=$2=""; print $0}' | sed 's|^[[:blank:]]*||g')
|
|
artist=$(echo "$info" | grep '[[:space:]]artist' | awk -F\ '{$1=$2=""; print $0}' | sed 's|^[[:blank:]]*||g')
|
|
position=$(echo "$info" | grep position | awk -F\ '{print $2}')
|
|
duration=$(echo "$info" | grep duration | awk -F\ '{print $2}')
|
|
|
|
pos_minutes=$(printf "%02d" $(("$position" / 60)))
|
|
pos_seconds=$(printf "%02d" $(("$position" % 60)))
|
|
|
|
dur_minutes=$(printf "%02d" $(("$duration" / 60)))
|
|
dur_seconds=$(printf "%02d" $(("$duration" % 60)))
|
|
|
|
stream=$(cmus-remote -Q | grep stream | sed -e 's/stream\>//g')
|
|
tag=$(cmus-remote -Q | grep "tag title" | sed -e 's/tag title\>//g')
|
|
echo ""
|
|
#echo " $pos_minutes:$pos_seconds / $dur_minutes:$dur_seconds"
|
|
elif [ "$status" = "paused" ]; then
|
|
echo ""
|
|
#echo " $pos_minutes:$pos_seconds / $dur_minutes:$dur_seconds"
|
|
else
|
|
echo ""
|
|
fi
|
|
else
|
|
echo ""
|
|
fi
|
|
}
|
|
|
|
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&
|
|
getforecast&
|
|
|
|
while true
|
|
do
|
|
xsetroot -name " $(playerCmus) | $(print_temp) | $(usageData) | $(testweather) | $(print_wifi) | $(batLevel) | $(print_volume) | $(print_date)"
|
|
sleep 2
|
|
|
|
done
|
|
|