#!/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 ] && ( $DOTWRYN/bin/play-sound $SFX ) & return 0 } NOTIFY() { notify-send 'xrandr screenlayout' $@ }