diff options
Diffstat (limited to 'meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh')
-rw-r--r-- | meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh new file mode 100644 index 000000000..04a2edd6c --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh | |||
@@ -0,0 +1,92 @@ | |||
1 | #! /bin/sh | ||
2 | # | ||
3 | # Copyright Matthias Hentges <devel@hentges.net> (c) 2006 | ||
4 | # License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license) | ||
5 | # | ||
6 | # Filename: setDPI.sh | ||
7 | # Date: 09-Apr-06 | ||
8 | |||
9 | # This script configures Xft.dpi dependent on your screens DPI. This insures that the same font-size | ||
10 | # setting of 7 can be used on all machines. | ||
11 | |||
12 | |||
13 | XDEFAULTS="/etc/X11/Xdefaults" | ||
14 | |||
15 | |||
16 | |||
17 | set_dpi() { | ||
18 | |||
19 | CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Xft.dpi\:/s/.*\:\(.*\)/\1/p" | sed -n "s/\ //p"`" | ||
20 | |||
21 | if test "$CURRENT_SETTING" != "$1" | ||
22 | then | ||
23 | echo "Using Xft.dpi of $SET_SCREEN_DPI for your $SCREEN_DPI DPI screen" | ||
24 | |||
25 | if grep -q "Xft.dpi" "$XDEFAULTS" | ||
26 | then | ||
27 | cat "${XDEFAULTS}" | sed "s/^Xft.dpi\:.*/Xft.dpi\: $SET_SCREEN_DPI/" > "${XDEFAULTS}_" | ||
28 | mv "${XDEFAULTS}_" "${XDEFAULTS}" | ||
29 | else | ||
30 | echo -e "Xft.dpi: $SET_SCREEN_DPI\n" >> "$XDEFAULTS" | ||
31 | fi | ||
32 | else | ||
33 | echo "Your $SCREEN_DPI DPI screen is already configured." | ||
34 | fi | ||
35 | } | ||
36 | |||
37 | set_rxvt_font() { | ||
38 | |||
39 | CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Rxvt\*font/s/\(.*\pixelsize=\)\(.*\)/\2/p"`" | ||
40 | |||
41 | if test "$1" -gt 100 | ||
42 | then | ||
43 | |||
44 | # Configure the rxvt font-size for your screen here: | ||
45 | test "$1" -gt 180 -a "$1" -lt "221" && RXVT_FONT_SIZE=16 | ||
46 | |||
47 | if test -z "$RXVT_FONT_SIZE" | ||
48 | then | ||
49 | echo "WARNING: No rxvt font-size configured for a $SCREEN_DPI DPI screen!" | ||
50 | echo "Defaulting to size 9" | ||
51 | RXVT_FONT_SIZE=9 | ||
52 | fi | ||
53 | |||
54 | if test "$CURRENT_SETTING" != "$RXVT_FONT_SIZE" | ||
55 | then | ||
56 | echo "Using a rxvt font-size of $RXVT_FONT_SIZE" | ||
57 | cat ${XDEFAULTS} | sed "/Rxvt\*font/s/\(.*\pixelsize\)\(=*.*\)/\1=$RXVT_FONT_SIZE/" > ${XDEFAULTS}_ | ||
58 | mv ${XDEFAULTS}_ ${XDEFAULTS} | ||
59 | else | ||
60 | echo "The rxvt font-size is already configured" | ||
61 | fi | ||
62 | fi | ||
63 | } | ||
64 | |||
65 | if test -z "$DISPLAY" | ||
66 | then | ||
67 | echo "DISPLAY is not set, aborting..." | ||
68 | exit 0 | ||
69 | fi | ||
70 | |||
71 | SCREEN_DPI="`/usr/bin/xdpyinfo | grep "dots per inch" | awk '{print $2}'| sed -n "s/\(.*\)x\(.*\)/\2/p"`" | ||
72 | |||
73 | if test -z "$SCREEN_DPI" | ||
74 | then | ||
75 | echo "WARNING: Couldn't read your screens DPI, defaulting to 100" | ||
76 | SCREEN_DPI=100 | ||
77 | fi | ||
78 | |||
79 | # Configure your screen here: | ||
80 | test "$SCREEN_DPI" -gt 180 -a "$SCREEN_DPI" -lt "221" && SET_SCREEN_DPI=160 | ||
81 | test "$SCREEN_DPI" -gt 90 -a "$SCREEN_DPI" -lt "121" && SET_SCREEN_DPI=100 | ||
82 | |||
83 | |||
84 | if test -z "$SET_SCREEN_DPI" | ||
85 | then | ||
86 | echo "WARNING: No default configuration found for your $SCREEN_DPI DPI screen!" | ||
87 | echo "Using 100 DPI" | ||
88 | SET_SCREEN_DPI=100 | ||
89 | fi | ||
90 | |||
91 | set_dpi "$SET_SCREEN_DPI" | ||
92 | set_rxvt_font "$SCREEN_DPI" | ||