42 lines
		
	
	
	
		
			830 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			830 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| _ts_control_get_entity() {
 | |
| 	entity=$(_ts_control_single_or_dmenu "$(teamspeak-query-lib "$1s")" "$2")
 | |
| 	if [ -z "$entity" ]; then
 | |
| 		exit 1
 | |
| 	fi
 | |
| 	echo "$entity"
 | |
| }
 | |
| 
 | |
| _ts_control_get_message() {
 | |
| 	if [ -n "$1" ];
 | |
| 	then
 | |
| 		message="$1"
 | |
| 	else
 | |
| 		message=$(printf "\n" | $DMENU -p "message" || true)
 | |
| 	fi
 | |
| 
 | |
| 	echo "$message"
 | |
| }
 | |
| 
 | |
| _ts_control_move_self() {
 | |
| 	channel=$(_ts_control_get_entity channel "$1" "$2")
 | |
| 	teamspeak-query-lib move --strict-channel "$channel"
 | |
| }
 | |
| 
 | |
| _ts_control_fetch() {
 | |
| 	target=$(_ts_control_get_entity "$1" "$2")
 | |
| 	teamspeak-query-lib fetch "--strict-$1" "--$1" "$target"
 | |
| }
 | |
| 
 | |
| _ts_control_single_or_dmenu() {
 | |
| 	filter="$2"
 | |
| 	if [ "$filter" == "^$" ]; then
 | |
| 		filter=""
 | |
| 	fi
 | |
| 	options=$(echo "$1" | grep "$filter")
 | |
| 	count=$(echo "$options" | wc -l)
 | |
| 	if [ "$count" -eq 1 ]; then
 | |
| 		echo "$options"
 | |
| 	else
 | |
| 		echo "$1" | $DMENU || true
 | |
| 	fi
 | |
| }
 |