repos / dotfiles

my dotfiles

dotfiles / bin
Eric Bower  ·  2025-10-24

estatus

 1#!/usr/bin/env fish
 2
 3function display_status
 4    # Date and Time
 5    set -l time_str (date "+%I:%M")
 6    set -l date_str (date "+%m-%d")
 7
 8    # Network
 9    set -l network_info "N/A"
10    set -l ssid (iwgetid -r) # pacman -S wireless_tools
11    if test $status -eq 0
12        set network_info "WiFi: $ssid"
13    else
14        set -l eth_device (ip route get 1.1.1.1 | awk '{print $5}')
15        if test -n "$eth_device"
16            set network_info "Eth: $eth_device"
17        end
18    end
19
20    # Battery
21    set -l battery_info "N/A"
22    set -l battery_paths (/bin/ls /sys/class/power_supply/ 2>/dev/null | /bin/grep '^BAT')
23    if test -n "$battery_paths"
24        set -l battery_path $battery_paths[1]
25        set -l capacity (cat "/sys/class/power_supply/$battery_path/capacity")
26        set battery_info "$capacity%"
27    end
28
29    # Volume
30    set -l volume_info "N/A"
31    set -l volume_output (wpctl get-volume @DEFAULT_AUDIO_SINK@ 2>/dev/null)
32    if test $status -eq 0
33        set -l volume_str (echo "$volume_output" | /usr/bin/awk '{print $2}')
34        set -l volume_percent (math -s0 "$volume_str * 100")
35        set volume_info "$volume_percent%"
36    end
37
38    # Brightness
39    set -l brightness_info "N/A"
40    set -l backlight_dirs (/bin/ls /sys/class/backlight/ 2>/dev/null)
41    if test -n "$backlight_dirs"
42        set -l backlight_dir $backlight_dirs[1]
43        set -l brightness (cat "/sys/class/backlight/$backlight_dir/brightness")
44        set -l max_brightness (cat "/sys/class/backlight/$backlight_dir/max_brightness")
45        if test $max_brightness -gt 0
46            set -l brightness_percent (math -s0 "$brightness * 100 / $max_brightness")
47            set brightness_info "$brightness_percent%"
48        end
49    end
50
51    notify-send "Status" "$date_str $time_str | $network_info | Bat: $battery_info | Vol: $volume_info | Bri: $brightness_info"
52end
53
54display_status