44 lines
1.1 KiB
Bash
Executable File
44 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function primary() {
|
|
xrandr | grep primary | awk '{print $1}'
|
|
}
|
|
|
|
displays=$(xrandr --listactivemonitors | grep -v Monitors | awk '{print $NF}')
|
|
case "$1" in
|
|
"auto")
|
|
echo "$displays" | while read display; do
|
|
xrandr --output $display --auto
|
|
done
|
|
;;
|
|
"connected")
|
|
echo "$displays"
|
|
;;
|
|
"lemonbar")
|
|
echo "DISP ${displays[@]}" | sed "s/ /:/g"
|
|
;;
|
|
*)
|
|
# -F Fix strings, -x exactly, -q quiet
|
|
if echo "$displays" | grep -Fqx "$1"; then
|
|
case "$2" in
|
|
"off")
|
|
action="--off"
|
|
;;
|
|
"mirror")
|
|
action="--same-as $(primary)"
|
|
;;
|
|
"left")
|
|
action="--left-of $(primary) --auto"
|
|
;;
|
|
"right")
|
|
action="--right-of $(primary) --auto"
|
|
;;
|
|
*)
|
|
exit 1
|
|
;;
|
|
esac
|
|
xrandr --output $1 $action
|
|
fi
|
|
esac
|
|
|