34 lines
780 B
Bash
34 lines
780 B
Bash
#!/bin/bash
|
|
|
|
trap '[[ -n "$reload" ]] && herbstclient reload' EXIT
|
|
|
|
for mon in $(xrandr | grep -E 'disconnected [[:digit:]]{3,4}' | awk '{ print $1}')
|
|
do
|
|
xrandr --output "$mon" --off
|
|
reload=yes
|
|
done
|
|
|
|
primary=$(xrandr -q | awk '/primary/ { print $1 }')
|
|
monitors=$(xrandr -q | grep -v "$primary" | grep ' connected' | awk '{print $1}')
|
|
|
|
[[ -z "$monitors" ]] && exit
|
|
|
|
monitor="$(echo "$monitors" | rofi -dmenu -p "Choose a monitor")"
|
|
|
|
[[ -z "$monitor" ]] && exit
|
|
|
|
direction="$(echo -e 'left\nright\nabove\nbelow\noff' | rofi -dmenu -p "Where you want it")"
|
|
|
|
[[ -z "$direction" ]] && exit
|
|
|
|
declare -a action
|
|
if [[ "$direction" = off ]]
|
|
then
|
|
action=(--off)
|
|
else
|
|
action=("--${direction}-of" "$primary" --auto)
|
|
fi
|
|
|
|
xrandr --output "$monitor" "${action[@]}"
|
|
reload=yes
|
|
|