57 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # One of the following: xrandr, xbacklight, kernel
 | |
| METHOD="xbacklight"
 | |
| 
 | |
| # Left click
 | |
| if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then
 | |
|   xbacklight -inc 10
 | |
| # Right click
 | |
| elif [[ "${BLOCK_BUTTON}" -eq 3 ]]; then
 | |
|   xbacklight -dec 10
 | |
| fi
 | |
| 
 | |
| URGENT_VALUE=10
 | |
| 
 | |
| if [[ "${METHOD}" = "xrandr" ]]; then
 | |
|   device="${BLOCK_INSTANCE:-primary}"
 | |
|   xrandrOutput=$(xrandr --verbose)
 | |
| 
 | |
|   if [[ "${device}" = "primary" ]]; then
 | |
|     device=$(echo "${xrandrOutput}" | grep 'primary' | head -n 1 | awk -F ' ' '{print $1}')
 | |
|   fi
 | |
| 
 | |
|   curBrightness=$(echo "${xrandrOutput}" | grep "${device}" -A 5 | grep -i "Brightness" | awk -F ':' '{print $2}')
 | |
| elif [[ "${METHOD}" = "kernel" ]]; then
 | |
|   device="${BLOCK_INSTANCE:-intel_backlight}"
 | |
|   maxBrightness=$(cat /sys/class/backlight/${device}/max_brightness)
 | |
|   curBrightness=$(cat /sys/class/backlight/${device}/brightness)
 | |
| elif [[ "${METHOD}" = "xbacklight" ]]; then
 | |
|   curBrightness=$(xbacklight -get)
 | |
| fi
 | |
| 
 | |
| if [[ "${curBrightness}" -le 0 ]]; then
 | |
|   exit
 | |
| fi
 | |
| 
 | |
| if [[ "${METHOD}" = "xrandr" ]]; then
 | |
|   percent=$(echo "scale=0;${curBrightness} * 100" | bc -l)
 | |
| elif [[ "${METHOD}" = "kernel" ]]; then
 | |
|   percent=$(echo "scale=0;${curBrightness} / ${maxBrightness} * 100" | bc -l)
 | |
| elif [[ "${METHOD}" = "xbacklight" ]]; then
 | |
|   percent=$(echo "scale=0;${curBrightness}" | bc -l)
 | |
| fi
 | |
| 
 | |
| percent=${percent%.*}
 | |
| 
 | |
| if [[ "${percent}" -le 0 ]]; then
 | |
|   exit
 | |
| fi
 | |
| 
 | |
| echo "${label} ${percent}%"
 | |
| echo "${label} ${percent}%"
 | |
| echo ""
 | |
| 
 | |
| if [[ "${percent}" -le "${URGENT_VALUE}" ]]; then
 | |
|   exit 33
 | |
| fi
 |