-
Notifications
You must be signed in to change notification settings - Fork 0
/
monitor.sh
executable file
·127 lines (105 loc) · 3.31 KB
/
monitor.sh
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#!/usr/bin/bash
set -euf -o pipefail
s hasdisplay || exit 0
# check arg count
if [ ${#} -eq 0 ]; then
s help ${0}
exit 1
fi
# switch trough arg and set output configs
if s device pc; then
xrandr --output DP-2 --primary
case "${1}" in
single)
nvidia-settings --assign CurrentMetaMode="DP-2: 3840x2160_120 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
;;
dual | default)
nvidia-settings --assign CurrentMetaMode="DP-2: 3840x2160_120 +3840+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DP-0: 3840x2160_60 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On, AllowGSYNCCompatible=On}"
;;
triple)
nvidia-settings --assign CurrentMetaMode="DP-2: 3840x2160_120 +3840+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DP-0: 3840x2160_60 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On, AllowGSYNCCompatible=On}"
;;
*)
exit 1
;;
esac
elif s device felix-xps; then
# everything off by default
eDP1="--off"
DP1="--off"
DP2="--off"
HDMI1="--off"
HDMI2="--off"
VIRTUAL1="--off"
case "${1}" in
internal | default)
eDP1="--auto --primary --mode 3840x2160 --pos 0x0 --scale 1x1"
;;
external)
HDMI1="--auto --primary --mode 1920x1080 --pos 0x0 --scale 1x1"
;;
work)
HDMI1="--auto --mode 3840x2160 --rate 60 --pos 0x0 --scale 1x1"
DP2="--auto --primary --mode 3840x2160 --rate 60 --pos 3840x0 --scale 1x1"
eDP1="--auto --mode 3840x2160 --rate 60 --pos 7680x0 --scale 0.5x0.5"
;;
workold)
eDP1="--auto --primary --mode 3840x2160 --rate 60 --pos 0x0 --scale 1x1"
HDMI1="--auto --mode 1920x1080 --rate 60 --pos 3840x0 --scale 2x2"
;;
kitchen)
HDMI1="--auto --mode 1920x1080 --pos 3840x0 --scale 2x2"
eDP1="--auto --mode 3840x2160 --pos 0x0 --scale 1x1"
;;
kitchen-mirror)
HDMI1="--auto --mode 1920x1080 --pos 0x0 --scale 2x2"
eDP1="--auto --mode 3840x2160 --pos 0x0 --scale 1x1"
;;
TV)
HDMI1='--auto --rate 60 --primary --mode 3840x2160 --pos 0x0 --scale 1x1'
# eDP1='--auto --rate 60 --mode 3840x2160 --pos 0x0 --scale 1x1'
;;
TV2)
HDMI1='--auto --rate 60 --primary --mode 1920x1080 --pos 0x0 --panning 1920x1080 --scale 1x1'
;;
TV3)
HDMI1='--auto --rate 30 --primary --mode 1920x1080 --pos 0x0 --scale 2x2 --panning 3840x2160'
;;
TV4)
HDMI1='--auto --rate 25 --primary --mode 1920x1080 --pos 0x0 --scale 2x2 --panning 3840x2160'
;;
TV5)
HDMI1='--auto --rate 50 --primary --mode 1920x1080 --pos 0x0 --scale 2x2 --panning 3840x2160'
;;
TV6)
HDMI1='--auto --rate 50 --primary --mode 1920x1080 --pos 0x0 --scale 2x2 --panning 3840x2160'
;;
*)
${0}
exit 1
;;
esac
# enable Nvidia PRIME
xrandr --setprovideroutputsource modesetting NVIDIA-0
# apply xrandr config
xrandr --setprovideroutputsource modesetting NVIDIA-0 --auto \
--output eDP-1-1 ${eDP1} \
--output DP-1-1 ${DP1} \
--output DP-1-2 ${DP2} \
--output HDMI-1-1 ${HDMI1} \
--output HDMI-1-2 ${HDMI2}
else
exit 0
fi
# # wait for short
sleep .1
# set color profile
echo 'set color...'
#s color &>/dev/null || true
# set wallpaper
#feh --bg-scale ~/img/grey.png
#hsetroot -solid "#000000" || xsetroot -solid "#000000"
sleep .1
# set wallpaper
#echo 'restart i3...'
#i3-msg -- restart