Bryan Kadzban wrote:
Bruce Dubbs wrote:
unset COLUMNS
. /lib/services/init_functions

<...>

This is pretty minor.  Is this change worth doing?

Is it easier to just recalculate ROWS (...if needed; entirely possibly not
although I don't know what might use it) and COLUMNS?  That ends up being a
separate copy of the script code though, so entirely possibly not-worthwhile.

Not sure how many fonts have different character sizes, but it *probably*
makes sense to handle that.

ROWS is not used by the scripts.  The offending code is:

if [ -z "${COLUMNS}" ]; then
   COLUMNS=$(stty size)
   COLUMNS=${COLUMNS##* }
fi

# When using remote connections, such as a serial port, stty size
# returns 0
if [ "${COLUMNS}" = "0" ]; then
   COLUMNS=80
fi

## Measurements for positioning result messages
COL=$((${COLUMNS} - 8))
WCOL=$((${COL} - 2))

SET_COL="\\033[${COL}G"      # at the $COL char
SET_WCOL="\\033[${WCOL}G"    # at the $WCOL char


This is sourced at the beginning of each boot script.

If the script changes the real value of ${COLUMNS} after the init-functions file is sourced, then it will be wrong for subsequent output.

On my system, the default font is small. It has 240 characters on a 15 inch wide (horizontal, not diagonal) screen. The default font is too small for my eyes so I use a ter-128n font (Terminius Font 14x28 pixel character size). That reduces the screen to 137 columns during the console script. The commands at the top merely reset the COLUMNS variable and adjust the output positioning on the screen.

The bottom line is that the problem only occurs if the FONT variable is set for the console script and only affects the position [ OK ] or [FAIL] result on the screen for that one script.

I would guess the time for the script to re-source the init_functions file is in the single digit milliseconds.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to