From 52b19c4d1d2aeca061f7d0f914675e36ec308288 Mon Sep 17 00:00:00 2001 From: Jens Sauer Date: Mon, 23 Nov 2020 21:55:37 +0100 Subject: [PATCH] Add dynamic DPI settings Adjust DPI settings based on display resolution. --- Xresources/.Xresources.d/hidpi | 7 +++++++ Xresources/.Xresources.d/lowdpi | 7 +++++++ Xresources/.Xresources.d/middpi | 7 +++++++ shell/.xsessionrc | 22 ++++++++++++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 Xresources/.Xresources.d/hidpi create mode 100644 Xresources/.Xresources.d/lowdpi create mode 100644 Xresources/.Xresources.d/middpi diff --git a/Xresources/.Xresources.d/hidpi b/Xresources/.Xresources.d/hidpi new file mode 100644 index 0000000..fc9bb40 --- /dev/null +++ b/Xresources/.Xresources.d/hidpi @@ -0,0 +1,7 @@ +Xft.dpi: 144 +Xft.autohint: 0 +Xft.lcdfilter: lcddefault +Xft.hintstyle: hintfull +Xft.hinting: 1 +Xft.antialias: 1 +Xft.rgba: rgb diff --git a/Xresources/.Xresources.d/lowdpi b/Xresources/.Xresources.d/lowdpi new file mode 100644 index 0000000..2084422 --- /dev/null +++ b/Xresources/.Xresources.d/lowdpi @@ -0,0 +1,7 @@ +Xft.dpi: 96 +Xft.autohint: 0 +Xft.lcdfilter: lcddefault +Xft.hintstyle: hintfull +Xft.hinting: 1 +Xft.antialias: 1 +Xft.rgba: rgb diff --git a/Xresources/.Xresources.d/middpi b/Xresources/.Xresources.d/middpi new file mode 100644 index 0000000..752e4ed --- /dev/null +++ b/Xresources/.Xresources.d/middpi @@ -0,0 +1,7 @@ +Xft.dpi: 120 +Xft.autohint: 0 +Xft.lcdfilter: lcddefault +Xft.hintstyle: hintfull +Xft.hinting: 1 +Xft.antialias: 1 +Xft.rgba: rgb diff --git a/shell/.xsessionrc b/shell/.xsessionrc index d8d7d2e..3780cd4 100644 --- a/shell/.xsessionrc +++ b/shell/.xsessionrc @@ -4,3 +4,25 @@ if [ -f ~/.profile ]; then fi xrdb -merge ~/.Xresources + +# Load settings for HiDPI only when HiRes display is connected +# +SR=$(xrandr --query | grep ' connected' | egrep -o '[0-9]+x[0-9]+\+[0-9]+\+[0-9]+') +MAX_RES=0 +for RES in $SR +do + SRX=$(echo $RES | cut -d'x' -f 1) + if [ $MAX_RES -lt $SRX ]; then + MAX_RES=$SRX + fi +done + +# FullHD +if [ $MAX_RES -le 1920 ]; then + xrdb -merge ~/.Xresources.d/lowdpi +# 2k +elif [ $MAX_RES -gt 1920 || $MAX_RES -lt 2500 ]; then + xrdb -merge ~/.Xresources.d/middpi +elif [ $MAX_RES -gt 2500 ]; then + xrdb -merge ~/.Xresources.d/hidpi +fi