122 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 | 
						|
}
 | 
						|
 | 
						|
print_mem(){
 | 
						|
	memfree=$(($(grep -m1 'MemAvailable:' /proc/meminfo | awk '{print $2}') / 1024))
 | 
						|
	echo -e "$memfree"
 | 
						|
}
 | 
						|
 | 
						|
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_bat(){
 | 
						|
	hash acpi || return 0
 | 
						|
	onl="$(grep "on-line" <(acpi -V))"
 | 
						|
	charge="$(awk '{ sum += $1 } END { print sum }' /sys/class/power_supply/BAT*/capacity)"
 | 
						|
	if test -z "$onl"
 | 
						|
	then
 | 
						|
		# suspend when we close the lid
 | 
						|
		#systemctl --user stop inhibit-lid-sleep-on-battery.service
 | 
						|
		if [ "$charge" -ge 75 ]; then
 | 
						|
			echo -e " ${charge}%"
 | 
						|
		elif [ "$charge" -ge 50 ]; then
 | 
						|
			echo -e " ${charge}%"
 | 
						|
		elif [ "$charge" -ge 25 ]; then
 | 
						|
			echo -e " ${charge}%"
 | 
						|
		else
 | 
						|
			echo -e " !${charge}%"
 | 
						|
		fi
 | 
						|
	else
 | 
						|
		# On mains! no need to suspend
 | 
						|
		#systemctl --user start inhibit-lid-sleep-on-battery.service
 | 
						|
		echo -e " ${charge}%"
 | 
						|
	fi
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
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
 | 
						|
}
 | 
						|
 | 
						|
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)  $(sh /home/yorune/dwm/weather.sh) $(print_wifi) $(print_bat) $(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 1
 | 
						|
 | 
						|
done
 | 
						|
 |