#!/usr/bin/bash # ABOUTME: Waybar-Modul das den Batteriestatus eines HID++ Geräts als JSON ausgibt. # ABOUTME: Findet den richtigen hidpp_battery_* Eintrag dynamisch per MODEL_NAME (Argument). if [ -z "$1" ]; then echo "Usage: moonarch-waybar-hidpp " >&2 exit 1 fi MODEL="$1" for dev in /sys/class/power_supply/hidpp_battery_*; do [ -d "$dev" ] || continue name=$(cat "$dev/model_name" 2>/dev/null) if [ "$name" = "$MODEL" ]; then capacity=$(cat "$dev/capacity" 2>/dev/null) status=$(cat "$dev/status" 2>/dev/null) if [ -z "$capacity" ]; then exit 0 fi class="normal" if [ "$capacity" -le 20 ]; then class="critical" elif [ "$capacity" -le 35 ]; then class="warning" fi if [ "$status" = "Charging" ]; then text="${capacity}% 󰌌" else text="${capacity}% 󰌌" fi tooltip="${name}: ${capacity}% (${status})" jq --compact-output -n \ --arg text "$text" \ --arg tooltip "$tooltip" \ --arg class "$class" \ --argjson percentage "$capacity" \ '{text: $text, tooltip: $tooltip, class: $class, percentage: $percentage}' exit 0 fi done # Gerät nicht gefunden — keine Ausgabe, Waybar versteckt das Modul