waybar: add mouse baterry indicator
This commit is contained in:
		
							parent
							
								
									910670ba0b
								
							
						
					
					
						commit
						b8cd22e425
					
				
					 7 changed files with 96 additions and 24 deletions
				
			
		| 
						 | 
				
			
			@ -10,29 +10,20 @@ if test -z "$CONTROLLER"; then
 | 
			
		|||
fi
 | 
			
		||||
 | 
			
		||||
CAPACITY=$(cat "$CONTROLLER/capacity")
 | 
			
		||||
STATUS=$(cat "$CONTROLLER/status")
 | 
			
		||||
 | 
			
		||||
echo -n ' '
 | 
			
		||||
 | 
			
		||||
if test "$CAPACITY" -ge 90; then
 | 
			
		||||
    echo ''
 | 
			
		||||
elif test "$CAPACITY" -ge 90; then
 | 
			
		||||
    echo ''
 | 
			
		||||
elif test "$CAPACITY" -ge 80; then
 | 
			
		||||
    echo ''
 | 
			
		||||
elif test "$CAPACITY" -ge 70; then
 | 
			
		||||
    echo ''
 | 
			
		||||
elif test "$CAPACITY" -ge 60; then
 | 
			
		||||
    echo ''
 | 
			
		||||
elif test "$CAPACITY" -ge 50; then
 | 
			
		||||
    echo ''
 | 
			
		||||
elif test "$CAPACITY" -ge 40; then
 | 
			
		||||
    echo ''
 | 
			
		||||
elif test "$CAPACITY" -ge 30; then
 | 
			
		||||
    echo ''
 | 
			
		||||
elif test "$CAPACITY" -ge 20; then
 | 
			
		||||
    echo ''
 | 
			
		||||
elif test "$CAPACITY" -ge 10; then
 | 
			
		||||
    echo ''
 | 
			
		||||
if test "$STATUS" = "Charging"; then
 | 
			
		||||
    echo -n ""
 | 
			
		||||
else
 | 
			
		||||
    echo ''
 | 
			
		||||
    print-battery-icon "$CAPACITY"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Add terminating newline
 | 
			
		||||
echo
 | 
			
		||||
 | 
			
		||||
# Tooltip
 | 
			
		||||
echo -n ''
 | 
			
		||||
print-battery-icon "$CAPACITY"
 | 
			
		||||
echo " $CAPACITY%"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -137,7 +137,9 @@
 | 
			
		|||
      libinput
 | 
			
		||||
      libratbag
 | 
			
		||||
    ];
 | 
			
		||||
    controller-battery = [ ];
 | 
			
		||||
    print-battery-icon = [ ];
 | 
			
		||||
    controller-battery = [ print-battery-icon ];
 | 
			
		||||
    mouse-battery = [ print-battery-icon ];
 | 
			
		||||
    _docker-block-external-connections = [
 | 
			
		||||
      iptables
 | 
			
		||||
      gawk
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										39
									
								
								scripts/mouse-battery
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										39
									
								
								scripts/mouse-battery
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
MODEL_NAME_FILE=$(rg --files-with-matches G502 /sys/class/power_supply/*/model_name | head -n1)
 | 
			
		||||
 | 
			
		||||
if test -z "$MODEL_NAME_FILE"; then
 | 
			
		||||
    echo
 | 
			
		||||
    exit 0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
MOUSE=$(dirname "$MODEL_NAME_FILE")
 | 
			
		||||
 | 
			
		||||
if test -z "$MOUSE"; then
 | 
			
		||||
    echo
 | 
			
		||||
    exit 0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
CAPACITY=$(cat "$MOUSE/capacity")
 | 
			
		||||
STATUS=$(cat "$MOUSE/status")
 | 
			
		||||
 | 
			
		||||
echo -n '🖱️'
 | 
			
		||||
 | 
			
		||||
if test "$STATUS" = "Charging"; then
 | 
			
		||||
    echo -n ""
 | 
			
		||||
else
 | 
			
		||||
    print-battery-icon "$CAPACITY"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "$CAPACITY" -lt 50; then
 | 
			
		||||
    echo -n "$CAPACITY%"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo
 | 
			
		||||
 | 
			
		||||
# Tooltip
 | 
			
		||||
echo -n '🖱️'
 | 
			
		||||
print-battery-icon "$CAPACITY"
 | 
			
		||||
echo " $CAPACITY%"
 | 
			
		||||
							
								
								
									
										33
									
								
								scripts/print-battery-icon
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								scripts/print-battery-icon
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
if test $# -ne 1; then
 | 
			
		||||
    echo "Usage $0" >&2
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
CAPACITY="$1"
 | 
			
		||||
 | 
			
		||||
if test "$CAPACITY" -ge 90; then
 | 
			
		||||
    echo -n ''
 | 
			
		||||
elif test "$CAPACITY" -ge 90; then
 | 
			
		||||
    echo -n ''
 | 
			
		||||
elif test "$CAPACITY" -ge 80; then
 | 
			
		||||
    echo -n ''
 | 
			
		||||
elif test "$CAPACITY" -ge 70; then
 | 
			
		||||
    echo -n ''
 | 
			
		||||
elif test "$CAPACITY" -ge 60; then
 | 
			
		||||
    echo -n ''
 | 
			
		||||
elif test "$CAPACITY" -ge 50; then
 | 
			
		||||
    echo -n ''
 | 
			
		||||
elif test "$CAPACITY" -ge 40; then
 | 
			
		||||
    echo -n ''
 | 
			
		||||
elif test "$CAPACITY" -ge 30; then
 | 
			
		||||
    echo -n ''
 | 
			
		||||
elif test "$CAPACITY" -ge 20; then
 | 
			
		||||
    echo -n ''
 | 
			
		||||
elif test "$CAPACITY" -ge 10; then
 | 
			
		||||
    echo -n ''
 | 
			
		||||
else
 | 
			
		||||
    echo -n ''
 | 
			
		||||
fi
 | 
			
		||||
| 
						 | 
				
			
			@ -49,6 +49,7 @@
 | 
			
		|||
  services.logind.extraConfig = ''
 | 
			
		||||
    HandlePowerKey=suspend
 | 
			
		||||
  '';
 | 
			
		||||
  services.upower.enable = true;
 | 
			
		||||
 | 
			
		||||
  # This value determines the NixOS release from which the default
 | 
			
		||||
  # settings for stateful data, like file locations and database versions
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,7 @@ in
 | 
			
		|||
            "custom/playerctl"
 | 
			
		||||
            "tray"
 | 
			
		||||
            "custom/controller-battery"
 | 
			
		||||
            "custom/mouse-battery"
 | 
			
		||||
            "custom/caffeine"
 | 
			
		||||
            "pulseaudio"
 | 
			
		||||
            (lib.optional (osConfig.services.vpn.enable or false) "custom/vpn")
 | 
			
		||||
| 
						 | 
				
			
			@ -164,7 +165,11 @@ in
 | 
			
		|||
            format = "{}";
 | 
			
		||||
            exec = lib.getExe pkgs.controller-battery;
 | 
			
		||||
            interval = 1;
 | 
			
		||||
            tooltip = false;
 | 
			
		||||
          };
 | 
			
		||||
          "custom/mouse-battery" = {
 | 
			
		||||
            format = "{}";
 | 
			
		||||
            exec = lib.getExe pkgs.mouse-battery;
 | 
			
		||||
            interval = 1;
 | 
			
		||||
          };
 | 
			
		||||
          "custom/caffeine" = {
 | 
			
		||||
            format = "{}";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,7 @@ window#waybar.solo {
 | 
			
		|||
#custom-mpd,
 | 
			
		||||
#custom-playerctl,
 | 
			
		||||
#custom-controller-battery,
 | 
			
		||||
#custom-mouse-battery,
 | 
			
		||||
#tray,
 | 
			
		||||
#clock,
 | 
			
		||||
#network,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue