39 lines
		
	
	
	
		
			885 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			885 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| modes="monitor-std
 | |
| monitor-single
 | |
| monitor-single-sec
 | |
| zellij"
 | |
| 
 | |
| portalo_mode_monitor () {
 | |
|     echo "Loading portalo monitor layout ${1:-std}"
 | |
|     yadm config --unset-all local.class monitor-*
 | |
| 
 | |
|     if [ -n "$1" ]; then
 | |
|         yadm config --add local.class "$1"
 | |
|     fi
 | |
| 
 | |
|     swaymsg reload
 | |
| }
 | |
| 
 | |
| portalo_mode_zellij () {
 | |
|     layout_dir="$HOME/.config/zellij/layouts"
 | |
|     layouts=$(\ls -1 "$layout_dir")
 | |
|     layout=$(echo "$layouts" | $DMENU -p "layout")
 | |
|     if [ -n "$layout" ]; then
 | |
|         $TERMINAL -e zellij --layout="$layout_dir/$layout"
 | |
|     fi
 | |
| }
 | |
| 
 | |
| if [ -z "$1" ]; then
 | |
|     mode=$(echo "$modes" | $DMENU -p "mode")
 | |
| else 
 | |
|     mode=$1
 | |
| fi
 | |
| 
 | |
| case $mode in
 | |
|     "monitor-std")  portalo_mode_monitor ;;
 | |
|     "monitor-"*)    portalo_mode_monitor "$mode" ;;
 | |
|     "zellij")       portalo_mode_zellij ;;
 | |
|     *)              echo "'$mode' is not a valid mode (single, std)" ;;
 | |
| esac
 |