summaryrefslogtreecommitdiff
path: root/dot-config/polybar/polybar.sh
diff options
context:
space:
mode:
Diffstat (limited to 'dot-config/polybar/polybar.sh')
-rwxr-xr-xdot-config/polybar/polybar.sh45
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