Package: cdebconf-newt-udeb Version: 0.115 Severity: minor Tags: patch The attached patch makes sure characters surrounding the title are always even (see also #416543).
I've tested it mainly on show_select_window() using the ad-hoc config/template files attached which create a title of the form "[title_len....]" so that it is possible to verify that the title is never cut (it always ends with "]"). regards, Davide -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.18-1-686 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash
Index: src/modules/frontend/newt/newt.c =================================================================== --- src/modules/frontend/newt/newt.c (revision 46471) +++ src/modules/frontend/newt/newt.c (working copy) @@ -183,11 +183,11 @@ if (asprintf(&buf, "[%s] %s", sigils[i][1], title) == -1) buf = NULL; } - if (buf != NULL) { - newtCenteredWindow(width, height, buf); + if (buf != NULL) { /* Make sure borders surrounding the title are always balanced */ + newtCenteredWindow(width - (((width - strlen(buf))%2)?1:0), height, buf); free(buf); } else { - newtCenteredWindow(width, height, title); + newtCenteredWindow(width - (((width - strlen(title))%2)?1:0), height, title); } }
#!/bin/sh -e # Test for titlebar at different sizes both at "critical" # and "high" prioriy (sigil is respectively "[!!]" and "[!]") . /usr/share/debconf/confmodule fixed_pattern="[]" fixed_len=$(echo ${#fixed_pattern}) x="...................................................................................................." for i in $(seq 4 8) ; do len=$(( ${#fixed_pattern} + ${#i} )) title="$(echo "[${i}${x:0:$(( ${i} - ${len} ))}]")" for prio in "high" "critical" ; do db_title "${title}" db_fset longselect/select seen false db_input ${prio} longselect/select || true db_go done done
Template: longselect/select Type: select Choices: test 01, test 02, test 03 Description: Descrizione Descrizione lunga Template: test-help/boolean Type: boolean Default: true Description: Enter a boolean value domanda booleana.
signature.asc
Description: Digital signature