Files
meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh
Martin Jansa 89500c583e recipes,classes: import a lot of recipes from meta-shr
* tested on shr-lite-image for om-gta02 and nokia900 (with meta-shr layer)
2011-04-10 14:43:41 +02:00

93 lines
2.3 KiB
Bash

#! /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"