Upgrade system menu features
This commit is contained in:
		
							
								
								
									
										28
									
								
								system-menu/select-sound-output.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										28
									
								
								system-menu/select-sound-output.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,28 @@ | ||||
| #!/usr/bin/env zsh | ||||
| local info="$(pactl list sinks)" | ||||
| local default_name="$(pactl info | grep -Po '(?<=Default Sink: ).+')" | ||||
| local ids=(${(@f)"$(echo "${info}" | grep -Po '(?<=Sink #).+')"}) | ||||
| local names=(${(@f)"$(echo "${info}" | grep -Po '(?<=Name: ).+')"}) | ||||
| local descs=(${(@f)"$(echo "${info}" | grep -Po '(?<=Description: ).+')"}) | ||||
| local default_id="" | ||||
| local query_string="" | ||||
| for ((i = 1; i <= "${#ids}"; ++i)); do | ||||
|     if [[ "${names[${i}]}" == "${default_name}" ]]; then | ||||
|         default_id="${ids[${i}]}" | ||||
|     fi | ||||
|     query_string+="${ids[${i}]}: ${descs[${i}]} (${names[${i}]})\n" | ||||
| done | ||||
| [[ -v WAYLAND_DISPLAY ]] \ | ||||
|     && prompt_cmd=("fuzzel" "-dp" "${default_id}> ") \ | ||||
|     || prompt_cmd=("dmenu" "-p" "${default_id}:") | ||||
| local choice | ||||
| choice="$(echo "${query_string%"\n"}" | ${prompt_cmd})" | ||||
| if (( "${?}" != 0 )); then | ||||
|     exit | ||||
| fi | ||||
| local selected_id="$(echo "${choice}" | grep -Eo '^[0-9]+')" | ||||
| pactl set-default-sink "${selected_id}" | ||||
| local selected_name="$(echo "${choice}" \ | ||||
|     | cut -c "$(("${#selected_id}" + 3))-" \ | ||||
|     | grep -Po '^.+(?= \()')" | ||||
| notify-send 'Output Device' "${selected_name} (${selected_id})" | ||||
							
								
								
									
										20
									
								
								system-menu/system-menu.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										20
									
								
								system-menu/system-menu.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,20 @@ | ||||
| #!/usr/bin/env zsh | ||||
|  | ||||
| local scripts_dir="$(dirname "$(realpath "${0}")")" | ||||
| choice="$(fuzzel --index -d <<'EOF' | ||||
| Select system sound output | ||||
| Power settings (restart and shutdown) | ||||
| EOF | ||||
| )" | ||||
|  | ||||
| (( ${?} != 0 )) && exit | ||||
|  | ||||
| echo $choice | ||||
| case "${choice}" in | ||||
|     0) | ||||
|         "${scripts_dir}/select-sound-output.sh" | ||||
|         ;; | ||||
|     1) | ||||
|         "${scripts_dir}/system-power-menu.sh" | ||||
|         ;; | ||||
| esac | ||||
							
								
								
									
										17
									
								
								system-menu/system-power-menu.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										17
									
								
								system-menu/system-power-menu.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,17 @@ | ||||
| #!/usr/bin/env zsh | ||||
|  | ||||
| choice="$(fuzzel --index -d <<'EOF' | ||||
| Shutdown | ||||
| Restart | ||||
| EOF | ||||
| )" | ||||
|  | ||||
| (( ${?} != 0 )) && exit | ||||
| case "${choice}" in | ||||
|     0) | ||||
|         poweroff | ||||
|         ;; | ||||
|     1) | ||||
|         restart | ||||
|         ;; | ||||
| esac | ||||
		Reference in New Issue
	
	Block a user