22 lines
		
	
	
		
			560 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			560 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
# Get available windows
 | 
						|
windows=$(swaymsg -t get_tree | jq -r 'recurse(.nodes[]?)|recurse(.floating_nodes[]?)|select(.type=="con"),select(.type=="floating_con")|(.id|tostring)+" "+.app_id+": "+.name')
 | 
						|
 | 
						|
case "$1" in
 | 
						|
  movehere)
 | 
						|
    cmd="move workspace current"
 | 
						|
    prompt="move window here"
 | 
						|
    ;;
 | 
						|
  *)
 | 
						|
    cmd="focus"
 | 
						|
    prompt="go to window"
 | 
						|
    ;;
 | 
						|
esac
 | 
						|
 | 
						|
# Select window with rofi
 | 
						|
selected=$(echo "$windows" | wofi --show dmenu -i -p "$prompt" | awk '{print $1}')
 | 
						|
 | 
						|
# Tell sway to frobnicate said window
 | 
						|
swaymsg "[con_id=$selected]" $cmd
 |