Fixed volume and message
This commit is contained in:
		
							parent
							
								
									0085b86afb
								
							
						
					
					
						commit
						4a323b1c21
					
				
					 1 changed files with 29 additions and 15 deletions
				
			
		|  | @ -2,6 +2,15 @@ | |||
| # Show system status in notification, or your own message | ||||
| # Syntaxis: notify [-vb] [<title> <message>] | ||||
| 
 | ||||
| # Requirements:  | ||||
| # - brightnessctl | ||||
| # - pulsemixer | ||||
| 
 | ||||
| panic () { | ||||
|     >&2 echo "Syntaxis: notify [-vb] [<title> [<message>]]" | ||||
|     exit 1 | ||||
| } | ||||
| 
 | ||||
| # Get options | ||||
| while getopts ":bv" options; do | ||||
| 	case "${options}" in  | ||||
|  | @ -9,18 +18,24 @@ while getopts ":bv" options; do | |||
| 			value=$( brightnessctl | grep -o "[0-9]*%" ) | ||||
| 			title="Brightness: ${value}" | ||||
|             timeout=2000 | ||||
|             class='top-center' | ||||
| 			;; | ||||
| 		v) | ||||
| 			value=$(pactl get-sink-volume @DEFAULT_SINK@ | cut -d '/' -f2 | grep -o '[0-9]*%') | ||||
|             status=$(amixer get Master | grep "^  Front Left" | cut -d ' ' -f 8) | ||||
|             if [[ $status != "[on]" ]] ; then  | ||||
|                 value="Disabled" | ||||
|             # Get volume | ||||
|             value="$( pulsemixer --get-volume | cut -f1 -d' ' )%" | ||||
| 
 | ||||
|             # If audio disabled | ||||
|             if [ ! "$( pulsemixer --get-mute )" -eq 0 ] ; then  | ||||
|                 width=0 | ||||
|                 value="${value} (Disabled)" | ||||
|             fi | ||||
| 
 | ||||
| 			title="Volume: ${value:-'0%'}" | ||||
|             timeout=2000 | ||||
|             class='top-center' | ||||
| 			;; | ||||
| 		*)	 | ||||
| 			title="Unknown option" | ||||
|             panic | ||||
| 			;; | ||||
| 	esac | ||||
| done | ||||
|  | @ -28,25 +43,24 @@ done | |||
| shift $((OPTIND - 1)) | ||||
| 
 | ||||
| # Check arguments | ||||
| if [[ $# -gt 2 ]] ; then  | ||||
|     >&2 echo "Syntaxis: notify [-vb] [<title> [<message>]]" | ||||
|     exit 1 | ||||
| elif [[ $# -eq 2 ]] ; then | ||||
| if [ $# -gt 2 ] ; then  | ||||
|     panic | ||||
| elif [ $# -eq 2 ] ; then | ||||
|     title=$1 | ||||
|     message=$2 | ||||
| elif [[ $# -eq 1 ]] ; then  | ||||
| elif [ $# -eq 1 ] ; then  | ||||
|     title=$1 | ||||
| fi | ||||
| 
 | ||||
| # Calculate length of coloured bar. | ||||
| if [[ "${value}" =~ ^[0-9]+%$ ]] ; then  | ||||
| if [[ "${value}" =~ ^[0-9]+%$ && "${width:--1}" -ne 0 ]] ; then  | ||||
|     width=$(grep -o "[0-9]*" <<< "${value}") | ||||
| fi | ||||
| 
 | ||||
| # Send message | ||||
| notify-send "${title}" "${message}" \ | ||||
|     -t "${timeout:=5000}" \ | ||||
|     -c byMe \ | ||||
|     -c "${class:=''}" \ | ||||
|  	-h int:value:"${width:=0}" \ | ||||
| 	-h string:x-canonical-private-synchronous:byMe # Replace if not yet gone | ||||
| 	-h string:x-canonical-private-synchronous:byMe # Replace if previous still exists | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue