diff options
| author | Akshay Nair <phenax5@gmail.com> | 2020-12-24 00:06:27 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2020-12-24 00:06:27 +0530 |
| commit | 865728068c965e066d0f8971c5b5ba26e12e7dce (patch) | |
| tree | c16195f0a04cf7d004fe5b396255734f4d60bb00 /scripts/menuitems.sh | |
| parent | 649ef5f225039e498358c3d056dfd7fcbc56f014 (diff) | |
| download | nixos-config-865728068c965e066d0f8971c5b5ba26e12e7dce.tar.gz nixos-config-865728068c965e066d0f8971c5b5ba26e12e7dce.zip | |
Adds scripts and links scripts and wallpapers
Diffstat (limited to '')
| -rwxr-xr-x | scripts/menuitems.sh | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/scripts/menuitems.sh b/scripts/menuitems.sh new file mode 100755 index 0000000..92e24d4 --- /dev/null +++ b/scripts/menuitems.sh @@ -0,0 +1,85 @@ +#!/usr/bin/env bash + +volume_component() { amixer get Master | awk -F'[][]' '/dB/ {print $C}' C="$1"; } +mic_component() { amixer get Capture | awk -F'[][]' '/dB/ {print $C}' C="$1" | head -n 1; } + +playerctl_icon() { + local playstate="$(~/scripts/music/player.sh get_play_state)"; + case "$playstate" in + Paused) echo "" ;; + Playing) echo "" ;; + Stopped) echo "" ;; + *) ;; + esac +} + +network_state() { + local state=$(nmcli dev show wlp5s0); + local ssid=$(echo -e "$state" | grep '^GENERAL.CONNECTION:' | sed 's/^GENERAL.CONNECTION:\s*//g'); + + [[ "$ssid" == "--" ]] && ssid=""; + + echo "$([[ -z "$ssid" ]] && echo "offline" || echo "online") ${ssid:0:12}..."; +} + +volume_icon() { volume_component 6 | sed 's/on//; s/off/🔇/'; } +mic_icon() { mic_component 6 | sed 's/on//; s/off/✖/'; } + +icon() { + case "$1" in + date) echo "" ;; + battery) echo "" ;; + music) playerctl_icon ;; + volume) echo -n "[$(mic_icon)] $(volume_icon)" ;; + brightness) echo "" ;; + network) network_state | sed 's/online//; s/idle//; s/offline/❌/' ;; + *) ;; + esac +} + +date_module() { + echo "$(icon date) $(date +"%A, %e %b - %I:%M %p")"; +} + +battery_module() { + local capacity=$(cat "/sys/class/power_supply/BAT0/capacity"); + echo "$(icon battery) $capacity%"; +} + +music_module() { + local label=$(~/scripts/music/player.sh get_label); + echo "$(icon music) $label"; +} + +brightness_module() { + echo "$(icon brightness) $(printf "%.0f%s" "$(xbacklight -get)" "%")" +} + +volume_module() { + echo "$(icon volume) $(volume_component 2)"; +} + +keymode_module() { + echo "$(~/scripts/shotkey.sh mode)"; +} + +network_module() { + echo "$(icon network)"; +} + + +get_module() { + case "$1" in + date) date_module ;; + battery) battery_module ;; + volume) volume_module ;; + music) music_module ;; + brightness) brightness_module ;; + keymode) keymode_module ;; + network) network_module ;; + esac; +} + +padding=" "; + +echo "$padding$(get_module $1)$padding"; |
