Created
November 13, 2018 23:14
-
-
Save flexiondotorg/088ea2306853cf8cb389a5e2f3232e4b to your computer and use it in GitHub Desktop.
xrandr script for ThinkPad P1/X1 Extreme and 2 externals monitors connected to ThinkPad Thunderbolt 3 Dock
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
SCREENS=$(xrandr --query | grep connected | grep -v disconnected | cut -d' ' -f1) | |
INTERNAL=$(echo ${SCREENS} | grep eDP-1-1) | |
RET=$? | |
if [ ${RET} -eq 0 ]; then | |
echo "Internal panel detected." | |
xrandr --output eDP-1-1 --auto | |
exit | |
fi | |
TRIPLEHEAD=$(echo ${SCREENS} | grep DP-2 | grep DP-1.2 | grep DP-1.3) | |
RET=$? | |
# Force to single screen if "single" was passed. | |
if [ "${1}" == "single" ]; then | |
RET=1 | |
fi | |
if [ ${RET} -eq 0 ]; then | |
gsettings set org.mate.interface window-scaling-factor 1 | |
gsettings set org.mate.interface window-scaling-factor-qt-sync true | |
gsettings set org.gnome.desktop.interface scaling-factor 1 | |
sleep 1 | |
gsettings set x.dm.slick-greeter enable-hidpi 'off' | |
xrandr --output DP-1.2 --mode 2560x1440 --primary \ | |
--output DP-1.3 --mode 2560x1440 \ | |
--output DP-2 --mode 3840x2160 --pos 1600x1440 | |
xrandr --output DP-2 --scale 0.5x0.5 | |
mate-tweak --layout Triplehead-tweak | |
else | |
gsettings set org.mate.interface window-scaling-factor 2 | |
gsettings set org.gnome.desktop.interface scaling-factor 2 | |
gsettings set org.mate.interface window-scaling-factor-qt-sync true | |
sleep 1 | |
gsettings set org.mate.interface window-scaling-factor 0 | |
gsettings set org.gnome.desktop.interface scaling-factor 0 | |
gsettings set x.dm.slick-greeter enable-hidpi 'auto' | |
xrandr --output DP-1.2 --off \ | |
--output DP-1.3 --off \ | |
--output DP-2 --mode 3840x2160 --primary | |
mate-tweak --layout P1-tweak | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment