2013-05-19 17:43:14 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
2016-10-12 09:16:48 +02:00
|
|
|
usage () {
|
|
|
|
cat <<EOF>&2
|
2018-03-02 15:14:16 +01:00
|
|
|
Usage: ${0##*/} [OPTIONS]
|
2015-09-12 16:09:01 +02:00
|
|
|
|
2018-03-02 15:14:16 +01:00
|
|
|
This script will enable all HDMI videos, passing xrandr OPTIONS to each one of
|
|
|
|
them.
|
|
|
|
|
2018-05-18 12:44:48 +02:00
|
|
|
To do this automatically when the cable is plugged, add the following
|
|
|
|
udev rule (Linux only):
|
2015-09-12 16:09:01 +02:00
|
|
|
|
|
|
|
$ cat /etc/udev/rules.d/hdmi.rules
|
|
|
|
SUBSYSTEM=="drm", ACTION=="change", RUN+="/bin/sh $0"
|
|
|
|
EOF
|
|
|
|
}
|
|
|
|
|
2018-03-02 15:14:16 +01:00
|
|
|
XRANDR_OPTIONS="$@"
|
|
|
|
[ -z "$XRANDR_OPTIONS" ] && XRANDR_OPTIONS="--auto --noprimary"
|
2013-05-19 17:43:14 +02:00
|
|
|
|
2018-03-02 15:14:16 +01:00
|
|
|
XRANDR_BUF=$(xrandr)
|
|
|
|
PRIMARY=$(echo "$XRANDR_BUF" | awk '$1 !~ "HDMI" && $2 == "connected" {print $1; exit}')
|
|
|
|
HDMI_OUTPUTS=$(echo "$XRANDR_BUF" | awk '$1 ~ "HDMI" && $2 == "connected" {printf $1 " "}')
|
|
|
|
set -- $HDMI_OUTPUTS
|
2013-05-19 17:43:14 +02:00
|
|
|
|
2018-03-02 15:14:16 +01:00
|
|
|
if [ $# -eq 0 ]; then
|
|
|
|
echo xrandr --output $PRIMARY --auto --primary
|
|
|
|
xrandr --output $PRIMARY --auto --primary
|
2013-05-19 17:43:14 +02:00
|
|
|
else
|
2018-03-02 15:14:16 +01:00
|
|
|
for i; do
|
|
|
|
echo xrandr --output $i $XRANDR_OPTIONS
|
|
|
|
xrandr --output $i $XRANDR_OPTIONS
|
|
|
|
done
|
|
|
|
echo
|
|
|
|
echo "## Run this to turn off primary screen:"
|
|
|
|
echo "# xrandr --output $PRIMARY --off"
|
2013-05-19 17:43:14 +02:00
|
|
|
fi
|