summaryrefslogtreecommitdiff
path: root/.local/bin/desktop/setdp
blob: 48c6a7adc9b83f2ca1b20b386f1651c16d163834 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/sh

displays="$(xrandr | grep "^\S* connected" | cut -d\  -f1)"
display_count="$(echo "$displays" | wc -l)"

[ "$display_count" -gt 2 ] &&
	{ echo "Too many displays to configure" >&2; exit 1; }

set --


if [ "$display_count" = 2 ]; then

	for display in $displays; do
		case "$display" in
			eDP*) export PRIMARY="$display"; set -- "$@" --output "$display" --mode 1920x1080 --primary --pos 0x270 ;;
			HDMI*) set -- "$@" --output "$display" --mode 1920x1080 --pos 1920x0 --scale "1.25x1.25" ;;
		esac
	done

else

	for display in $displays; do
		case "$display" in
			eDP*) set -- "$@" --output "$display" --primary --mode 1920x1080 --scale "1.1x1.1" ;;
			HDMI*) set -- "$@" --output "$display" --mode 1366x768 --scale "1.25x1.25" ;;
			LVDS*) set -- "$@" --output "$display" --primary ;;
			DP*) set -- "$@" --output "$display" --primary --scale "1.1x1.1" ;;
		esac
	done

fi


eval "xrandr --auto $*"