115 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| function move_workspace_to_screen() {
 | |
|     workspace="${1}"
 | |
|     screen="${2}"
 | |
|     
 | |
|     i3-msg workspace "${workspace}"
 | |
|     i3-msg move workspace to output "${screen}"
 | |
| 
 | |
|     sed -i "/^workspace \"${workspace}\" output/ c \\workspace \"${workspace}\" output \"${screen}\"" ${HOME}/.config/i3/config
 | |
| }
 | |
| 
 | |
| function set_screens() {
 | |
|     
 | |
|     move_workspace_to_screen 1 "${1}"
 | |
|     move_workspace_to_screen 3 "${1}"
 | |
|     move_workspace_to_screen 4 "${1}"
 | |
|     move_workspace_to_screen 5 "${2}"
 | |
|     move_workspace_to_screen 6 "${2}"
 | |
|     move_workspace_to_screen 7 "${2}"
 | |
|     move_workspace_to_screen 8 "${2}"
 | |
|     move_workspace_to_screen 9 "${3}"
 | |
|     move_workspace_to_screen 10 "${3}"
 | |
|     move_workspace_to_screen 11 "${3}"
 | |
|     move_workspace_to_screen 12 "${3}"
 | |
|     
 | |
|     i3-msg reload
 | |
| 
 | |
|     i3-msg workspace 9
 | |
|     i3-msg workspace 5
 | |
|     i3-msg workspace 1
 | |
| 
 | |
|     bash ${HOME}/.config/polybar/launch.sh
 | |
| }
 | |
| 
 | |
| function set_screens_with_xppen() {
 | |
|     
 | |
|     move_workspace_to_screen 1 "${1}"
 | |
|     move_workspace_to_screen 3 "${1}"
 | |
|     move_workspace_to_screen 4 "${1}"
 | |
|     move_workspace_to_screen 5 "${2}"
 | |
|     move_workspace_to_screen 6 "${2}"
 | |
|     move_workspace_to_screen 7 "${2}"
 | |
|     move_workspace_to_screen 8 "${2}"
 | |
|     move_workspace_to_screen 9 "${2}"
 | |
|     move_workspace_to_screen 10 "${2}"
 | |
|     move_workspace_to_screen 11 "${2}"
 | |
|     move_workspace_to_screen 12 "${3}"
 | |
|     
 | |
|     i3-msg reload
 | |
| 
 | |
|     i3-msg workspace 12
 | |
|     i3-msg workspace 5
 | |
|     i3-msg workspace 1
 | |
| 
 | |
|     bash ${HOME}/.config/polybar/launch.sh
 | |
| }
 | |
| 
 | |
| function main() {
 | |
| 
 | |
|     case $(autorandr --detected) in
 | |
|         "home")
 | |
|             set_screens "eDP1" "DP2-1" "DP2-1"
 | |
|             pacmd set-card-profile 0 HiFi: Default
 | |
|             ;;
 | |
|         
 | |
|     	"home1")
 | |
|             set_screens "eDP1" "DP1-1" "DP1-1"
 | |
|             pacmd set-card-profile 0 HiFi: Default
 | |
| 	    ;;
 | |
| 
 | |
|         "home2")
 | |
|             set_screens "eDP1" "DP1-1" "DP1-1"
 | |
|             pacmd set-card-profile 0 HiFi: Default
 | |
|             ;;
 | |
| 
 | |
|         "work")
 | |
|             set_screens "eDP1" "DP1-1" "DP1-2"
 | |
|             pacmd set-card-profile 0 HiFi: Default
 | |
|             ;;
 | |
| 
 | |
|         "work2")
 | |
|             set_screens "eDP1" "DP2-1" "DP2-2"
 | |
|             pacmd set-card-profile 0 HiFi: Default
 | |
|             ;;
 | |
| 
 | |
|         "mobile")
 | |
|             set_screens "eDP1" "eDP1" "eDP1"
 | |
|             ;;
 | |
| 
 | |
|         "home+xppen")
 | |
|             set_screens_with_xppen "eDP1" "DP2-1" "DP2-3"
 | |
|             pacmd set-card-profile 0 HiFi: Default
 | |
|             ;;
 | |
| 
 | |
|         "home1+xppen")
 | |
|             set_screens_with_xppen "eDP1" "DP1-1" "DP1-3"
 | |
|             pacmd set-card-profile 0 HiFi: Default
 | |
|             ;;
 | |
| 
 | |
|         "home2+xppen")
 | |
|             set_screens_with_xppen "eDP1" "DP1-1" "DP1-3"
 | |
|             pacmd set-card-profile 0 HiFi: Default
 | |
|             ;;
 | |
|         
 | |
|         *)
 | |
|             notify-send -i display "Display profile" "CONFIGURATION NON RECONNUE"  
 | |
|             ;;
 | |
|     esac        
 | |
| 
 | |
|     notify-send -i display "Display profile" "Bacule vers $(autorandr --detected)"
 | |
| }
 | |
| 
 | |
| main
 |