You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							85 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							85 lines
						
					
					
						
							1.6 KiB
						
					
					
				| #!/bin/sh | |
|  | |
| # Control the display brightness | |
| # Depends: brightnessctl | |
|  | |
| help() { | |
| 	B=$(tput bold) | |
| 	U=$(tput smul) | |
| 	N=$(tput sgr0) | |
|  | |
| 	cat << EOF | |
| ${B}NAME${N} | |
| 	brictl - control the display brightness | |
|  | |
| ${B}SYNOPSIS${N} | |
| 	${B}brictl${N} [${U}OPTION${N}] [${U}COMMAND${N}] [<${U}ARG${N}>] | |
|  | |
| ${B}DESCRIPTION${N} | |
| 	${B}brictl${N} uses brightnessctl to change the brightness of the system. | |
|  | |
| 	Commands can be truncated, i.e. "${B}brictl s${N}" for "${B}brictl set${N}" | |
| 	Arguments need to be of numeric value. | |
|  | |
| ${B}OPTIONS${N} | |
| 	${B}-h${N}	Display usage message and exit. | |
|  | |
| ${B}COMMANDS${N} | |
| 	${B}i${N} <${U}AMOUNT${N}>, ${B}inc${N} <${U}AMOUNT${N}> | |
| 		Increase brightness by ${U}AMOUNT${N}, default of 5. | |
|  | |
| 	${B}d${N} <${U}AMOUNT${N}>, ${B}dec${N} <${U}AMOUNT${N}> | |
| 		Decrease brightness by ${U}AMOUNT${N}, default of 5. | |
|  | |
| 	${B}s${N} <${U}LEVEL${N}>, ${B}set${N} <${U}LEVEL${N}> | |
| 		Set brightness to ${U}LEVEL${N}, default of 30. | |
|  | |
| 	${B}g${N}, ${B}get${N} | |
| 		Get brightness level. | |
| EOF | |
| } | |
|  | |
| # Exit if no option is provided | |
| [ "$#" -eq 0 ] && help && exit 1 | |
|  | |
| SCRIPT="$(basename "$0")" | |
|  | |
| # Option handling | |
| while getopts ':h?' opt; do | |
| 	case $opt in | |
| 		h) | |
| 			help | |
| 			exit 0 | |
| 			;; | |
| 		\?) | |
| 			echo "$SCRIPT: invalid option '$OPTARG'" | |
| 			echo "Try '$SCRIPT -h' for more information." | |
| 			exit 1 | |
| 			;; | |
| 	esac | |
| done | |
|  | |
| # Command handling | |
| shift $((OPTIND - 1)) | |
| case "$1" in | |
| 	i*) | |
| 		NUM=${2:-5} | |
| 		brightnessctl -q s +"$NUM"% | |
| 		;; | |
| 	d*) | |
| 		NUM=${2:-5} | |
| 		brightnessctl -q s "$NUM"%- | |
| 		;; | |
| 	s*) | |
| 		NUM=${2:-30} | |
| 		brightnessctl -q s "$NUM"% | |
| 		;; | |
| 	g*) | |
| 		brightnessctl | awk '/%/ {print substr($4, 2, length($4) - 3)}' | |
| 		;; | |
| 	*) | |
| 		echo "$SCRIPT: invalid command '$1'" | |
| 		echo "Try '$SCRIPT -h' for more information." | |
| 		exit 1 | |
| 		;; | |
| esac
 | |
| 
 |