113 lines
3.0 KiB
Diff
113 lines
3.0 KiB
Diff
From 3d1a1a8273112668927a6c6bb3e361e896f5b229 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 02/12] add setdpi Xinit.d script
|
|
|
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
---
|
|
X11/Xinit.d/50setdpi | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
1 files changed, 92 insertions(+), 0 deletions(-)
|
|
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"
|
|
--
|
|
1.7.8.5
|
|
|