#!/bin/bash # ABOUTME: Waybar-Modul für Logitech HID++ Geräte-Batterien. # ABOUTME: Findet den richtigen hidpp_battery_* Eintrag dynamisch per MODEL_NAME. MODEL="G515 LS TKL" ICON="󰌌" # hidpp_battery_* mit passendem MODEL_NAME finden 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 || echo 0) status=$(cat "$dev/status" 2>/dev/null || echo "Unknown") # Eingabe-Validierung gegen JSON-Injection [[ "$capacity" =~ ^[0-9]+$ ]] || capacity=0 [[ "$status" =~ ^[A-Za-z\ ]+$ ]] || status="Unknown" class="normal" if [[ "$status" == "Charging" ]]; then class="charging" elif (( capacity <= 15 )); then class="critical" elif (( capacity <= 30 )); then class="warning" fi echo "{\"text\":\"${capacity}% ${ICON}\",\"tooltip\":\"${MODEL}: ${capacity}% — ${status}\",\"class\":\"${class}\",\"percentage\":${capacity}}" exit 0 fi done # Gerät nicht gefunden — nichts ausgeben, Waybar versteckt das Modul exit 0