56 lines
1.0 KiB
Bash
56 lines
1.0 KiB
Bash
#!/bin/zsh
|
|
source "${HOME}/.config/wryn/env.zsh"
|
|
NATIVE_MONITOR='eDP1'
|
|
|
|
GET_PRIMARY_MONITOR() {
|
|
xrandr \
|
|
| grep 'primary' \
|
|
| awk '{print $1;}' \
|
|
| head -n 1
|
|
}
|
|
|
|
PRIMARY_MONITOR=$(GET_PRIMARY_MONITOR)
|
|
|
|
GET_ALL_EXTERNAL_MONITORS() {
|
|
xrandr \
|
|
| grep ' connect' \
|
|
| awk '{print $1;}' \
|
|
| grep -v "${NATIVE_MONITOR}" \
|
|
2>/dev/null
|
|
}
|
|
GET_DEFAULT_EXTERNAL_MONITOR() {
|
|
GET_ALL_EXTERNAL_MONITORS | head -n 1
|
|
}
|
|
EXTERNAL_MONITOR=$(GET_DEFAULT_EXTERNAL_MONITOR)
|
|
|
|
DISCONNECT_OTHER() {
|
|
local SFX="$1"
|
|
|
|
local INACTIVE_MONITORS=$(\
|
|
xrandr --listmonitors \
|
|
| sed '1d' | awk '{print $NF;}' \
|
|
| grep -v "^$(GET_PRIMARY_MONITOR)$"
|
|
)
|
|
|
|
for ACTIVE_MONITOR in ${@:2}
|
|
do
|
|
INACTIVE_MONITORS=$(echo ${INACTIVE_MONITORS} | grep -v "^${ACTIVE_MONITOR}$")
|
|
done
|
|
|
|
local MONITOR
|
|
for MONITOR in ${INACTIVE_MONITORS}
|
|
do
|
|
xrandr --output ${MONITOR} --off
|
|
done
|
|
|
|
sleep 1
|
|
${DOTWRYN}/bin/set-background random
|
|
|
|
[ ${SFX} ] && ( scwrypts play sfx -- ${SFX} ) &
|
|
return 0
|
|
}
|
|
|
|
NOTIFY() {
|
|
notify-send 'xrandr screenlayout' $@
|
|
}
|