2018-11-20 15:06:09 +00:00
|
|
|
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
|
|
|
|
# Based on https://github.com/vincentbernat/awesome-configuration/blob/master/bin/xsettingsd-setup
|
|
|
|
|
|
|
|
dpi=$1
|
|
|
|
|
|
|
|
if [ -z "$1" ]; then
|
|
|
|
>&2 printf "Usage\n\t%s: <dpi>" "$(basename "$0")"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/xsettingsd"
|
2018-11-20 15:39:26 +00:00
|
|
|
mkdir -p "$CONF_DIR"
|
2018-11-20 15:06:09 +00:00
|
|
|
|
|
|
|
# Build xsettingsd.local
|
|
|
|
{
|
|
|
|
cat $CONF_DIR/xsettingsd.conf 2>/dev/null || true
|
|
|
|
echo Xft/DPI $(( $dpi*1024 ))
|
|
|
|
echo Gdk/WindowScalingFactor $(( $dpi/96 ))
|
|
|
|
echo Gdk/UnscaledDPI $(( $dpi*1024/($dpi/96) ))
|
|
|
|
} > $CONF_DIR/xsettingsd.local
|
|
|
|
|
|
|
|
pid=$(xprop -name xsettingsd _NET_WM_PID 2> /dev/null | awk '{print $NF}')
|
|
|
|
if [ -z "$pid" ]; then
|
|
|
|
xsettingsd -c $CONF_DIR/xsettingsd.local &
|
|
|
|
else
|
|
|
|
kill -HUP $pid
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo Xft.dpi: $dpi | xrdb -merge
|