diff options
Diffstat (limited to 'yoga/bin/toggle-dp')
-rwxr-xr-x | yoga/bin/toggle-dp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/yoga/bin/toggle-dp b/yoga/bin/toggle-dp new file mode 100755 index 0000000..9d80383 --- /dev/null +++ b/yoga/bin/toggle-dp @@ -0,0 +1,32 @@ +#!/bin/bash +set -ex + +EXTERNAL="$(xrandr | grep 'DisplayPort.* connected' | cut -d' ' -f1)" + +map_wacom () { + xsetwacom set 'Wacom Intuos S Pen stylus' MapToOutput $1 2>/dev/null || true +} + +if [ -z "$EXTERNAL" ]; then + # No external display; only use laptop screen + xrandr --output eDP --primary --auto --output $EXTERNAL --off + map_wacom eDP +else + # External display; check if it is currently used + set +e + xrandr --listactivemonitors | grep $EXTERNAL >/dev/null + RESULT=$? + set -e + if [ $RESULT -eq 0 ]; then + # External display in use; disable + xrandr --output eDP --primary --auto --output $EXTERNAL --off + map_wacom eDP + else + # External display not in use; enable + xrandr --output eDP --auto --below $EXTERNAL --primary --output $EXTERNAL --auto + map_wacom $EXTERNAL + fi +fi + +# Reset background +setbg |