Files
dotfiles/.config/autorandr/postswitch

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