Skip to content

Instantly share code, notes, and snippets.

@maciekmm
Created April 12, 2019 20:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maciekmm/5b6c0e3955c36f8efc752b5e5bc52ee5 to your computer and use it in GitHub Desktop.
Save maciekmm/5b6c0e3955c36f8efc752b5e5bc52ee5 to your computer and use it in GitHub Desktop.
/etc/X11/xinit/xinitrc.d/10-monitors.sh
#!/bin/sh
#TODO: fetch and calculate DPI from EDID data
internal=eDP1
internal_dpi=128
external=HDMI1
external_dpi=92
export SCALING_FACTOR=1
if xrandr | grep "$external disconnected"; then
xrandr --output "$external" --off --output "$internal" --auto --dpi $internal_dpi
dpi=$internal_dpi
#export SCALING_FACTOR=$(bc <<< "scale = 2; $internal_dpi/$external_dpi")
export SCALING_FACTOR=1.2
else
xrandr --output "$internal" --auto --mode 1600x900 --output "$external" --auto --right-of eDP1 --dpi $external_dpi
#xrandr --output "$internal" --auto --output "$external" --auto --same-as eDP1 --dpi $external_dpi
dpi=$external_dpi
export SCALING_FACTOR=1
fi
echo "Xft.dpi: $dpi" > /tmp/.xresourcesdpi
xrdb -override /tmp/.xresourcesdpi
if [ -d $HOME/.config/xinit ] ; then
for f in $HOME/.config/xinit/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment