From ba71c742ec48edca88e76c6c476208f8246b6474 Mon Sep 17 00:00:00 2001 From: Mark Hymers Date: Thu, 19 Jul 2001 13:30:15 +0000 Subject: [PATCH] New smart COL and WCOL settings git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@811 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter07/functions.xml | 24 ++++++++++++++++++++---- 1 file 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"