diff options
Diffstat (limited to 'dot-config/polybar/polybar.sh')
| -rwxr-xr-x | dot-config/polybar/polybar.sh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/dot-config/polybar/polybar.sh b/dot-config/polybar/polybar.sh new file mode 100755 index 00000000..48e258a5 --- /dev/null +++ b/dot-config/polybar/polybar.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +## Files and Directories +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +#DIR="$HOME/.config/polybar" +SFILE="$DIR/system.ini" +RFILE="$DIR/.system" +STYLE="default" + +## Get system variable values for various modules +get_values() { + CARD=$(light -L | grep 'backlight' | head -n1 | cut -d'/' -f3) + BATTERY=$(upower -i `upower -e | grep 'BAT'` | grep 'native-path' | cut -d':' -f2 | tr -d '[:blank:]') + ADAPTER=$(upower -i `upower -e | grep 'AC'` | grep 'native-path' | cut -d':' -f2 | tr -d '[:blank:]') + INTERFACE=$(ip link | awk '/state UP/ {print $2}' | tr -d :) +} + +## Write values to `system.ini` file +set_values() { + if [[ "$ADAPTER" ]]; then + sed -i -e "s/sys_adapter = .*/sys_adapter = $ADAPTER/g" ${SFILE} + fi + if [[ "$BATTERY" ]]; then + sed -i -e "s/sys_battery = .*/sys_battery = $BATTERY/g" ${SFILE} + fi + if [[ "$CARD" ]]; then + sed -i -e "s/sys_graphics_card = .*/sys_graphics_card = $CARD/g" ${SFILE} + fi + if [[ "$INTERFACE" ]]; then + sed -i -e "s/sys_network_interface = .*/sys_network_interface = $INTERFACE/g" ${SFILE} + fi +} + +## Launch Polybar with selected style +launch_bar() { + bash "$HOME"/.config/polybar/launch.sh +} + +# Execute functions +if [[ ! -f "$RFILE" ]]; then + get_values + set_values + touch ${RFILE} +fi +launch_bar |
