2022-02-06 00:15:14 -07:00
|
|
|
#!/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)
|
|
|
|
|
2022-03-07 12:19:02 -07:00
|
|
|
GET_ALL_EXTERNAL_MONITORS() {
|
2022-02-06 00:15:14 -07:00
|
|
|
xrandr \
|
|
|
|
| grep ' connect' \
|
|
|
|
| awk '{print $1;}' \
|
|
|
|
| grep -v "$NATIVE_MONITOR" \
|
2022-03-07 12:19:02 -07:00
|
|
|
2>/dev/null
|
|
|
|
}
|
|
|
|
GET_DEFAULT_EXTERNAL_MONITOR() {
|
|
|
|
GET_ALL_EXTERNAL_MONITORS | head -n 1
|
2022-02-06 00:15:14 -07:00
|
|
|
}
|
|
|
|
EXTERNAL_MONITOR=$(GET_DEFAULT_EXTERNAL_MONITOR)
|
|
|
|
|
|
|
|
DISCONNECT_OTHER() {
|
|
|
|
local SFX="$1"
|
|
|
|
|
2022-03-07 12:19:02 -07:00
|
|
|
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
|
2022-02-06 00:15:14 -07:00
|
|
|
do
|
2022-03-07 12:19:02 -07:00
|
|
|
xrandr --output $MONITOR --off
|
2022-02-06 00:15:14 -07:00
|
|
|
done
|
|
|
|
|
2022-02-26 09:11:04 -07:00
|
|
|
sleep 1
|
2022-02-10 11:12:21 -07:00
|
|
|
$DOTWRYN/bin/set-background random
|
2022-02-06 00:15:14 -07:00
|
|
|
|
2022-08-22 16:40:57 -06:00
|
|
|
[ $SFX ] && ( $DOTWRYN/bin/play-sound $SFX ) &
|
2022-02-06 00:15:14 -07:00
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
NOTIFY() {
|
|
|
|
notify-send 'xrandr screenlayout' $@
|
|
|
|
}
|