| From 3b5f431a370054bfc090796e8d55de8c8cea46f4 Mon Sep 17 00:00:00 2001 |
| From: Martin Jansa <Martin.Jansa@gmail.com> |
| Date: Wed, 11 Apr 2012 14:28:45 +0200 |
| Subject: [PATCH] add setdpi Xinit.d script |
| |
| Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> |
| |
| --- |
| X11/Xinit.d/50setdpi | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| 1 file changed, 92 insertions(+) |
| create mode 100644 X11/Xinit.d/50setdpi |
| |
| diff --git a/X11/Xinit.d/50setdpi b/X11/Xinit.d/50setdpi |
| new file mode 100644 |
| index 0000000..04a2edd |
| --- /dev/null |
| +++ b/X11/Xinit.d/50setdpi |
| @@ -0,0 +1,92 @@ |
| +#! /bin/sh |
| +# |
| +# Copyright Matthias Hentges <devel@hentges.net> (c) 2006 |
| +# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license) |
| +# |
| +# Filename: setDPI.sh |
| +# Date: 09-Apr-06 |
| + |
| +# This script configures Xft.dpi dependent on your screens DPI. This insures that the same font-size |
| +# setting of 7 can be used on all machines. |
| + |
| + |
| +XDEFAULTS="/etc/X11/Xdefaults" |
| + |
| + |
| + |
| +set_dpi() { |
| + |
| + CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Xft.dpi\:/s/.*\:\(.*\)/\1/p" | sed -n "s/\ //p"`" |
| + |
| + if test "$CURRENT_SETTING" != "$1" |
| + then |
| + echo "Using Xft.dpi of $SET_SCREEN_DPI for your $SCREEN_DPI DPI screen" |
| + |
| + if grep -q "Xft.dpi" "$XDEFAULTS" |
| + then |
| + cat "${XDEFAULTS}" | sed "s/^Xft.dpi\:.*/Xft.dpi\: $SET_SCREEN_DPI/" > "${XDEFAULTS}_" |
| + mv "${XDEFAULTS}_" "${XDEFAULTS}" |
| + else |
| + echo -e "Xft.dpi: $SET_SCREEN_DPI\n" >> "$XDEFAULTS" |
| + fi |
| + else |
| + echo "Your $SCREEN_DPI DPI screen is already configured." |
| + fi |
| +} |
| + |
| +set_rxvt_font() { |
| + |
| + CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Rxvt\*font/s/\(.*\pixelsize=\)\(.*\)/\2/p"`" |
| + |
| + if test "$1" -gt 100 |
| + then |
| + |
| + # Configure the rxvt font-size for your screen here: |
| + test "$1" -gt 180 -a "$1" -lt "221" && RXVT_FONT_SIZE=16 |
| + |
| + if test -z "$RXVT_FONT_SIZE" |
| + then |
| + echo "WARNING: No rxvt font-size configured for a $SCREEN_DPI DPI screen!" |
| + echo "Defaulting to size 9" |
| + RXVT_FONT_SIZE=9 |
| + fi |
| + |
| + if test "$CURRENT_SETTING" != "$RXVT_FONT_SIZE" |
| + then |
| + echo "Using a rxvt font-size of $RXVT_FONT_SIZE" |
| + cat ${XDEFAULTS} | sed "/Rxvt\*font/s/\(.*\pixelsize\)\(=*.*\)/\1=$RXVT_FONT_SIZE/" > ${XDEFAULTS}_ |
| + mv ${XDEFAULTS}_ ${XDEFAULTS} |
| + else |
| + echo "The rxvt font-size is already configured" |
| + fi |
| + fi |
| +} |
| + |
| +if test -z "$DISPLAY" |
| +then |
| + echo "DISPLAY is not set, aborting..." |
| + exit 0 |
| +fi |
| + |
| +SCREEN_DPI="`/usr/bin/xdpyinfo | grep "dots per inch" | awk '{print $2}'| sed -n "s/\(.*\)x\(.*\)/\2/p"`" |
| + |
| +if test -z "$SCREEN_DPI" |
| +then |
| + echo "WARNING: Couldn't read your screens DPI, defaulting to 100" |
| + SCREEN_DPI=100 |
| +fi |
| + |
| +# Configure your screen here: |
| +test "$SCREEN_DPI" -gt 180 -a "$SCREEN_DPI" -lt "221" && SET_SCREEN_DPI=160 |
| +test "$SCREEN_DPI" -gt 90 -a "$SCREEN_DPI" -lt "121" && SET_SCREEN_DPI=100 |
| + |
| + |
| +if test -z "$SET_SCREEN_DPI" |
| +then |
| + echo "WARNING: No default configuration found for your $SCREEN_DPI DPI screen!" |
| + echo "Using 100 DPI" |
| + SET_SCREEN_DPI=100 |
| +fi |
| + |
| +set_dpi "$SET_SCREEN_DPI" |
| +set_rxvt_font "$SCREEN_DPI" |