# The Sway configuration file in ~/.config/sway/config calls this script. # You should see changes to the status bar after saving this script. # If not, do "killall swaybar" and $mod+Shift+c to reload the configuration. # The abbreviated weekday (e.g., "Sat"), followed by the ISO-formatted date # like 2018-10-06 and the time (e.g., 14:01). Check `man date` on how to format # time and date. date_formatted=$(date "+%a %F %I:%M") date_prague=$(TZ=Europe/Prague date "+%a %F %I:%M") date_london=$(TZ=Europe/London date "+%a %F %I:%M") # "upower --enumerate | grep 'BAT'" gets the battery name (e.g., # "/org/freedesktop/UPower/devices/battery_BAT0") from all power devices. # "upower --show-info" prints battery information from which we get # the state (such as "charging" or "fully-charged") and the battery's # charge percentage. With awk, we cut away the column containing # identifiers. i3 and sway convert the newline between battery state and # the charge percentage automatically to a space, producing a result like # "charging 59%" or "fully-charged 100%". battery_info=$(upower --show-info $(upower --enumerate |\ grep 'BAT') |\ egrep "state|percentage" |\ awk '{print $2}') # Network ip_addr=$(ip route get 1.1.1.1 | head -1 | cut -d' ' -f7) network=$(ip route get 1.1.1.1 | grep -Po '(?<=dev\s)\w+' | cut -f1 -d ' ') # interface_easyname grabs the "old" interface name before systemd renamed it #interface_easyname=$(dmesg | grep $network | grep renamed | awk 'NF>1{print $NF}') #ping=$(ping -c 1 www.google.es | tail -1| awk '{print $4}' | cut -d '/' -f 2 | cut -d '.' -f 1) # CPU temp cpu_temp=$(sensors | grep -oP 'CPU.*?\+\K[0-9.]+') # Additional emojis and characters for the status bar: echo $network $ip_addr \| CPU: $cpu_temp \| $battery_info \| LON: $date_london \| PRG: $date_prague \| $date_formatted