2014-09-17 10:39:22 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
2020-01-22 22:38:57 +01:00
|
|
|
DISPLAY=${DISPLAY%.0}
|
|
|
|
|
2020-01-29 04:59:12 +01:00
|
|
|
# For information
|
2020-01-29 11:16:05 +01:00
|
|
|
xrandr --current \
|
2020-01-29 04:59:12 +01:00
|
|
|
| sed -n 's/^\([^ ]\)* connected.* \([0-9]*\)x.* \([0-9]*\)mm x .*/\1 \2 \3/p' \
|
|
|
|
| while read output pixels mm; do
|
|
|
|
dpi=$(($pixels * 25.4 / $mm))
|
|
|
|
echo "$output: $dpi DPI"
|
|
|
|
done
|
|
|
|
|
2015-07-23 21:42:32 +02:00
|
|
|
# Don't try to guess DPI. For a laptop, we don't want the same DPI as
|
|
|
|
# for an external screen. Just hardcode stuff...
|
2020-01-29 04:44:46 +01:00
|
|
|
case $(hostname),$(autorandr --current) in
|
2020-01-16 21:31:23 +01:00
|
|
|
zoro,default) dpi=144 ;;
|
|
|
|
guybrush,default) dpi=144 ;;
|
2018-07-27 21:44:16 +02:00
|
|
|
neo,*) dpi=192 ;;
|
2020-01-16 21:31:23 +01:00
|
|
|
*,*) dpi=96 ;;
|
2015-07-23 21:42:32 +02:00
|
|
|
esac
|
2015-07-23 13:23:09 +02:00
|
|
|
|
2019-05-28 09:23:21 +02:00
|
|
|
change() {
|
|
|
|
# Build xsettingsd.local
|
|
|
|
{
|
|
|
|
cat ~/.config/awesome/xsettingsd
|
|
|
|
echo Xft/DPI $(( $1*1024 ))
|
2019-05-28 11:55:01 +02:00
|
|
|
echo Xft/RGBA \"$( [ $1 -gt 144 ] && echo none || echo rgb )\"
|
2019-05-28 09:23:21 +02:00
|
|
|
echo Gdk/WindowScalingFactor $(( $1/96 ))
|
|
|
|
echo Gdk/UnscaledDPI $(( $1*1024/($1/96) ))
|
|
|
|
} > ~/.xsettingsd
|
|
|
|
|
|
|
|
# Signal xsettingsd
|
2020-01-22 22:38:57 +01:00
|
|
|
systemctl --user reload xsettingsd@$(systemd-escape -- "$DISPLAY").service
|
2019-05-28 21:13:22 +02:00
|
|
|
|
|
|
|
# Also use xrdb for very old stuff (you know, LibreOffice)
|
|
|
|
echo Xft.dpi: $dpi | xrdb -merge
|
2019-05-28 09:23:21 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
change $dpi
|