vincentbernat.i3wm-configur.../bin/xsettingsd-setup

36 lines
1.2 KiB
Text
Raw Normal View History

#!/bin/sh
# Don't try to guess DPI. For a laptop, we don't want the same DPI as
# for an external screen. Just hardcode stuff...
case $(hostname),$(xrandr --current | \
sed -n 's/\([^ ]*\) connected .*[0-9][0-9]*x[0-9][0-9]*+[0-9][0-9]*+[0-9][0-9]* .*/\1/p' | \
sort | tr '\n' ':') in
zoro,eDP1:) dpi=144 ;;
zoro,eDP-1:) dpi=144 ;;
zoro,eDP-1:HDMI-2:) dpi=144 ;;
zoro,eDP-1:DP-1:) dpi=144 ;;
neo,HDMI-1:HDMI-2:) dpi=96 ;;
neo,*) dpi=192 ;;
*) dpi=96 ;;
esac
# Build xsettingsd.local
cp ~/.config/awesome/xsettingsd ~/.config/awesome/xsettingsd.local
echo Xft/DPI $(( $dpi*1024 )) >> ~/.config/awesome/xsettingsd.local
if [ $(( $dpi/96 )) -ge 2 ]; then
echo Gdk/WindowScalingFactor $(( $dpi/96 )) >> ~/.config/awesome/xsettingsd.local
echo Gdk/UnscaledDPI $(( 96*1024 )) >> ~/.config/awesome/xsettingsd.local
fi
# Signal xsettingsd
pid=$(xprop -name xsettingsd _NET_WM_PID 2> /dev/null | awk '{print $NF}')
2014-09-17 18:02:03 +02:00
if [ x"$pid" = x ]; then
xsettingsd -c ~/.config/awesome/xsettingsd.local &
2014-09-17 18:02:03 +02:00
else
kill -HUP $pid
fi
# Also use xrdb for very old stuff (you know, LibreOffice)
echo Xft.dpi: $dpi | xrdb -merge