aboutsummaryrefslogtreecommitdiffstats
path: root/chapter07
diff options
context:
space:
mode:
authorMark Hymers <markh@linuxfromscratch.org>2001-07-19 13:30:15 +0000
committerMark Hymers <markh@linuxfromscratch.org>2001-07-19 13:30:15 +0000
commitba71c742ec48edca88e76c6c476208f8246b6474 (patch)
treea439a675d28879143ea78b1e370528113a9345fa /chapter07
parent6604af1e190cf69b334f5b0e472506393d77a74e (diff)
New smart COL and WCOL settings
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@811 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter07')
-rw-r--r--chapter07/functions.xml24
1 files changed, 20 insertions, 4 deletions
diff --git a/chapter07/functions.xml b/chapter07/functions.xml
index f227e444c..34961dd60 100644
--- a/chapter07/functions.xml
+++ b/chapter07/functions.xml
@@ -14,14 +14,30 @@ the following command:
#
# Set a few variables that influence the text that's printed on the
-# screen. The SET_COL variable starts the text in column number 70 (as
-# defined by the COL variable). NORMAL prints text in normal mode.
+# screen. The SET_COL variable starts the text in the column number
+# decided by the COL and WCOL section (as defined by the COL
+# variable). NORMAL prints text in normal mode.
# SUCCESS prints text in a green colour and FAILURE prints text in a red
# colour
#
-COL=70
-WCOL=50
+# If COLUMNS hasn't been set yet (bash sets it but not when called as
+# sh), do it ourself
+
+ if [ -z "$COLUMNS" ]
+ then
+ # Get the console device if we don't have it already
+ test -z "$CONSOLE" && CONSOLE=/dev/console
+
+ # Get the console size (rows columns)
+ SIZE=$(stty size < $CONSOLE)
+
+ # Strip off the rows leaving the columns
+ COLUMNS=${SIZE#*\ }
+ fi
+
+COL=$[$COLUMNS - 10]
+WCOL=$[$COLUMNS - 30]
SET_COL="echo -en \\033[${COL}G"
SET_WCOL="echo -en \\033[${WCOL}G"
NORMAL="echo -en \\033[0;39m"