At request of the maintainers, I resubmit the patch.
No change to theme.xml
The existing tag 
textbox/enable
 now has a new meaning (or a restored meaning).
If it is "yes", then the textbox starts at boot.
If it is "no", the text box is not started automatically.

Key F2 toggles the text box in both cases.

Reuse of the existing tag forced me to include in this patch a better
fix for the crash-on-F2 bug #473230
 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473230


Note: F2 stops working about 25% of the way during the boot. After this
point (mounting of the real root filesystem) splashy gets disconnected
from the keyboard so the textbox state can not be changed.

This problem is not related to the patch. 


-- 
Tim Richardson
t...@tim-richardson.net  Skype: te.richardson
Mobile: +61 458998541    Melbourne, Australia.
--- a/src/splashycnf.h
+++ b/src/splashycnf.h
@@ -42,6 +42,7 @@
 #define SPL_THEME_CONFIG_FILE_NAME "theme.xml"
 /** xpaths for common xml strings in config files */
 #define SPL_AUTO_VERBOSE_ON_ERROR       "/splashy/autoverboseonerror"
+#define SPL_TEXTBOX_ENABLED             "/splashy/textbox/enable"
 #define SPL_CURRENT_THEME               "/splashy/current_theme"
 #define SPL_DEFAULT_THEME               "/splashy/default_theme"
 #define SPL_THEMES_DIR                  "/splashy/themes"
--- a/src/splashy_functions.c
+++ b/src/splashy_functions.c
@@ -89,10 +89,9 @@
                                          * * * * * to true at cmd_exit() */
 static gboolean read_console = FALSE;   /* flag to turn on/off reading the
                                          * /dev/vcs* files */
-static gboolean switched_to_verbose = FALSE;    /* flag to know when verbose
-                                                 * image is displayed */
 static gboolean F2_toggle_pressed = FALSE;      /* keeps track of the depress 
                                                  * F2 key */
+
 static gint timeout = 120;      /* time out when reading from splashy socket
                                  * (in seconds). If splashy doesn't recvmsg
                                  * for this long, splashy will exit. */
@@ -663,6 +662,7 @@
 }
 
 
+
 inline void
 _switch_to_verbose_image ()
 {
@@ -678,250 +678,7 @@
         splashy_change_splash (background);
 }
 
-/**
- * When autoverboseonerror is set we show the scrolling 
- * text from the consoles /dev/vcs*
- * @param data - not used
- * @return
- *
- * TODO
- * - make use of real console
- * - this is a slow function
- */
-inline void *
-verbose_text_loop (void *data)
-{
-        FILE *dev_vcs;
-        char buf[81];
-        GString *buf_str;       /* what to display */
-        GString *device;        /* /dev/vcs to read */
-        gshort i, j;
-        const gchar *error_pattern;
-
-        gboolean found_error;
-        gboolean autoverbose;
-        struct timespec _sleep;
-
-        dev_vcs = NULL;
-        switched_to_verbose = FALSE;    /* verbose image flag */
-        splashy_set_textbox_area_visible (FALSE);
-
-        autoverbose = FALSE;    /* assume we don't need verbose mode for now */
-        read_console = TRUE;    /* assume we will be able to read from a
-                                 * console */
-        found_error = FALSE;    /* we have not found any errors yet */
-        error_pattern = "(FATAL|fail|error|abort|===|recovering journal)";
-
-        _sleep.tv_sec = 1;
-        _sleep.tv_nsec = 0;
 
-        device = g_string_new ("");
-
-        /*
-         * get autoverboseonerror from config file and set autoverbose
-         * accordingly 
-         */
-        if (g_ascii_strncasecmp
-            (splashy_get_config_string (SPL_AUTO_VERBOSE_ON_ERROR), "yes",
-             3) == 0)
-                autoverbose = TRUE;
-
-        /*
-         * set the cancellation parameters -- - Enable thread cancellation - 
-         * Defer the action of the cancellation 
-         */
-        pthread_setcancelstate (PTHREAD_CANCEL_ENABLE, NULL);
-        pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, NULL);
-
-        while (1)
-        {
-                if (exiting || read_console == FALSE)
-                {
-                        DEBUG_PRINT ("Not reading console at all...");
-                        /*
-                         * this thread shouldn't be holding a lock on this
-                         * but... 
-                         */
-                        sched_yield ();
-                        nanosleep (&_sleep, NULL);
-                        continue;
-                }
-                /*
-                 * read the realcons console and look for error patterns 
-                 * on error, set our background image accordingly and display
-                 * text printing 1 line (80 char) at a time
-                 */
-                /*
-                 * Ubuntu uses /dev/vcs2, every other distro /dev/vcs1 
-                 */
-                for (i = 1; i <= 7; i++)
-                {
-                        g_string_printf (device, "/dev/vcs%d", i);
-                        if (!g_file_test (device->str, G_FILE_TEST_EXISTS))
-                        {
-                                sched_yield ();
-                                continue;
-                        }
-                        dev_vcs = g_fopen (device->str, "r");
-                        if (!dev_vcs)
-                        {
-                                DEBUG_PRINT ("Can't open %s for reading",
-                                             device->str);
-                                sched_yield ();
-                                /*
-                                 * short wait 
-                                 */
-                                _sleep.tv_sec = 0;
-                                /*
-                                 * 1/2 second 
-                                 */
-                                _sleep.tv_nsec = 459999999;
-                                nanosleep (&_sleep, NULL);
-                                continue;
-                        }
-                        while (fgets_unlocked (buf, 81, dev_vcs))
-                        {
-                                if (strlen (buf) < 8)
-                                        continue;
-                                /*
-                                 * we need to find where the spaces end 
-                                 */
-                                for (j = 0; j < strlen (buf); j++)
-                                {
-                                        if (buf[j] != ' ')
-                                        {
-                                                break;
-                                        }
-                                }
-
-                                /*
-                                 * copy only the characters now (no leading spaces)
-                                 */
-
-                                buf_str = g_string_new ("");
-                                for (; j < strlen (buf); j++)
-                                {
-                                        g_string_append_c (buf_str, buf[j]);
-                                }
-
-                                /*
-                                 * we don't need to print blank lines or new-lines
-                                 */
-                                /*
-                                 * if (strlen(buf) < 8)
-                                 */
-                                if (search_pattern_str
-                                    ("[^a-zA-Z0-9]", buf_str->str,
-                                     0) == FALSE)
-                                {
-
-                                        g_string_free (buf_str, TRUE);
-                                        continue;
-                                }
-
-                                /*
-                                 * look for error messages only if we weren't asked
-                                 * to display text right the way
-                                 */
-                                if (splashy_get_textbox_area_visible () !=
-                                    TRUE)
-                                {
-                                        /*
-                                         * we only look for errors if autoverbose
-                                         * is set to TRUE
-                                         * once an error is found, we keep printing
-                                         * the text to the textbox area without
-                                         * matching any more errors
-                                         */
-
-                                        if (found_error == FALSE)
-                                        {
-                                                if (autoverbose == TRUE)
-                                                {
-                                                        found_error =
-                                                                search_pattern_str
-                                                                (error_pattern,
-                                                                 buf, 1);
-                                                }
-
-                                                /*
-                                                 * when the user presses F2
-                                                 * we want to show the buffer 
-                                                 * in the textbox anyway.
-                                                 * regardless of whether an
-                                                 * error was found or not 
-                                                 */
-                                                if (F2_toggle_pressed != TRUE)
-                                                {
-                                                        g_string_free
-                                                                (buf_str,
-                                                                 TRUE);
-                                                        continue;
-                                                }
-                                        }
-                                        else
-                                        {
-                                                /*
-                                                 * error was found, we need to display the error image
-                                                 * and allow the textbox area to be shown
-                                                 */
-                                                found_error = TRUE;
-                                                splashy_set_textbox_area_visible
-                                                        (TRUE);
-
-                                                if (autoverbose == TRUE
-                                                    && switched_to_verbose ==
-                                                    FALSE)
-                                                {
-                                                        _switch_to_verbose_image
-                                                                ();
-                                                        switched_to_verbose =
-                                                                TRUE;
-                                                        /*
-                                                         * fake F2 pressed so that users can press
-                                                         * this key to turn off the textbox area
-                                                         */
-                                                        F2_toggle_pressed =
-                                                                TRUE;
-                                                }
-                                        }
-                                }
-
-                                /*
-                                 * pressing F2 will cause text to be printed to the textbox
-                                 * as well as having autoverbose set to ON in the config.xml
-                                 */
-                                if (autoverbose == TRUE
-                                    || F2_toggle_pressed == TRUE)
-                                {
-                                        if (!exiting)
-                                                splashy_printline_s ((char *)
-                                                                     buf_str->
-                                                                     str);
-
-                                        sched_yield ();
-
-                                        for (j = 0; j < 81; j++)
-                                        {
-                                                buf[j] = '\0';  /* make it
-                                                                 * all NULs */
-                                        }
-
-                                        /*
-                                         * wait for 1/6 seconds
-                                         */
-                                        _sleep.tv_sec = 0;
-                                        _sleep.tv_nsec = 114999999;
-                                        nanosleep (&_sleep, NULL);
-                                }
-                                g_string_free (buf_str, TRUE);
-                        }
-                        fclose (dev_vcs);
-                }
-        }
-        g_string_free (device, TRUE);   /* never reached */
-        pthread_exit (NULL);    /* never reached */
-}
 inline void *
 socket_loop (void *data)
 {
@@ -1112,6 +869,23 @@
         pthread_setcancelstate (PTHREAD_CANCEL_ENABLE, NULL);
         pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, NULL);
 
+        /* check if we should show the verbose text by default */
+        /* for important initialisation code, see also start_text_area ()
+         * in splashy_video.c;
+         */
+
+        if ( g_ascii_strncasecmp
+            (splashy_get_config_string (SPL_TEXTBOX_ENABLED), "yes",
+             3) == 0)
+        {
+            splashy_set_textbox_area_visible (TRUE);
+            F2_toggle_pressed = TRUE; /* the next F2 will turn off text */
+
+        } else
+        {
+            F2_toggle_pressed = FALSE;
+            splashy_set_textbox_area_visible (FALSE);
+        }
         while (1)
         {
                 if (exiting)
@@ -1122,6 +896,8 @@
                 /*
                  * sub-parent (we are a fork after all). init is our parent 
                  */
+
+
                 /* Wait for keyboard input or getstring/getpass */
                 splashy_wait_for_event ();
                 /* seize the keyboard, blocking if getstring/getpass running */
@@ -1200,21 +976,15 @@
 _splashy_child (const gchar * seq)
 {
         gint i;                 /* general purpose counter */
-        gint thr_id_c, thr_id_d;        /* thread ID for the newly * created
-                                         * thread: c - keyboard events d -
-                                         * SplashyClient handler */
+        gint thr_id_c, thr_id_d;       /* thread ID for the newly * created
+                                                  * thread: c - keyboard events d -
+                                                  * SplashyClient handler
+                                                  * thread: f verbose text loop
+                                                  */
         pthread_t p_thread_c, p_thread_d;       /* we need thread C and D to
                                                  * manage our keyboard events 
-                                                 * * * and SplashyClient */
+                                                 * and SplashyClient */
 
-        /*
-         * gint thr_id_f; * Handles /dev/vcs1 text to be displayed to *
-         * splashy overlay textbox ... when pressing * F2 we launch a thread
-         * to handle the * console text 
-         */
-        /*
-         * pthread_t p_thread_f;
-         */
 
         gboolean _preview = FALSE;
 
@@ -1271,7 +1041,7 @@
                 close (i);
         }
 
-        if ((ret = splashy_start_splash ()) < 0)
+        if ((ret = splashy_start_splash ()) < 0) /* in splashy_video.c */
         {
                 ERROR_PRINT ("Couldn't splashy_start_splashy(). Error %d\n",
                              ret);
@@ -1279,15 +1049,13 @@
         }
          else 
          {
-                   /* send a SIGUSR2 signal to parent process. This signal lets the parent process exit so that init can continue */
-                    /* stalling init until this point is necessary to avoid the race condition causing bug 505270 */
-                    /* the signal handler is defined in splashy_main.c */
+                   /* send a SIGUSR2 signal to parent process. This signal lets the parent process
+                    * exit so that init can continue. Until this signal is sent, the parent waits, stalling the boot.
+                    * Stalling init until this point is necessary to avoid the race condition which caused bug #505270
+                    * the signal handler is defined in splashy_main.c
+                    */
 
                                    
-                    /*****  for testing *****
-                    *               ERROR_PRINT("deliberate failure for testing purposes");
-                    *               g_usleep(2000000);         
-                    *****/
                     pid_t parentID = getppid();  
                     kill(parentID,SIGUSR2);
 
@@ -1311,11 +1079,6 @@
         thr_id_d = pthread_create (&p_thread_d, NULL, keyevent_loop, NULL);
 
         /*
-         * thr_id_f = pthread_create (&p_thread_f, NULL, verbose_text_loop,
-         * NULL);
-         */
-
-        /*
          * Wait till thread is finished reading the socket... ie 'forever' 
          */
         pthread_join (p_thread_c, NULL);
--- a/src/xml_functions.h
+++ b/src/xml_functions.h
@@ -119,7 +119,8 @@
         guint textfont_blue;
         guint textfont_alpha;
 
-        gchar *verbose;
+        gchar *verbose_error;
+        gchar *verbose_start;
         gchar *fadein;
         gchar *fadeout;
 } XmlFields;
--- a/src/splashy_video.c
+++ b/src/splashy_video.c
@@ -93,7 +93,7 @@
 
 static gboolean _draw_progressbar_forward = TRUE;
 static gboolean _show_progressbar = FALSE;
-static int	_show_textbox_area = 0;		/* flag to toggle showing *
+static gboolean _show_textbox_area = FALSE; /* flag to toggle showing *
                                                  * textbox area. @see
                                                  * splashy_function::keyevent_loop() 
                                                  */
@@ -137,27 +137,34 @@
 }
 
 void
-splashy_set_textbox_area_visible (int visible)
+splashy_set_textbox_area_visible (gboolean visible)
 {
-        _show_textbox_area = visible;
+        /* _show_textbox_area = visible; */ /* wait to see what actually happens */
         /*
          * users expect to see something happen as soon
          * as F2 is pressed. Let's give'm a show for their
          * money!
          */
-        if (visible && video.textbox)  /* close #473230 thanks John Hughes */
+
+        _show_textbox_area = FALSE;
+        if (visible)
         {
+            if (video.textbox != NULL)  /* #473230 thanks John Hughes  if the text box objects don't exist avoid crash */
+            {
                 video.textbox->offscreen->Blit (video.textbox->surface,
-                                                video.textbox->offscreen,
-                                                NULL, 0, 0);
+                                                 video.textbox->offscreen,
+                                                 NULL, 0, 0);
+                _show_textbox_area = TRUE;
+            }
         }
         else
         {
                 _clear_offscreen ();
+                _show_textbox_area = FALSE;
         }
 }
 
-int
+gboolean
 splashy_get_textbox_area_visible (void)
 {
         return _show_textbox_area;
@@ -976,19 +983,23 @@
         gint red, green, blue;  /* alpha; */
         gint temp;
         DFBSurfaceDescription desc;
-
-
-        /*
-         * Check if there will be a text area. 
+        /* TODO autoverboseonerror implies /splashy/textbox/enable="yes"
          */
-        /*
-         * TODO autoverboseonerror implies /splashy/textbox/enable="yes" 
+        /* bug #473230: the textbox needs to be always initialised
+         * because /splashy/textbox/enable="yes" ow means show text box by default.
+         * It does not mean "never show the textbox".
+         * a setting of "no" should still allow the textbox to appear if F2 is pressed.
+         * So to allow for this, the textbox needs to be created.
+         * In other words, it is mandatory for a theme to support a textbox.
          */
+
+         /*
         const gchar *enable =
                 splashy_get_config_string ("/splashy/textbox/enable");
 
         if (g_ascii_strncasecmp (enable, "yes", 3) != 0)
                 return;
+         */
 
         _get_screen_size (&screen_width, &screen_height);
         _get_divider (&divider_w, &divider_h);
@@ -1123,8 +1134,14 @@
          * - linux_input        := we loose input from keyboard on dfb 0.9.25
          * - radeon             := we use fbdev on Linux
          */
-        DirectFBSetOption ("quiet", NULL);
+
+#ifdef DEBUG
+        DirectFBSetOption ("debug", NULL);
+#else
+        DirectFBSetOption ("quiet", NULL);\
         DirectFBSetOption ("no-debug", NULL);
+#endif
+
         DirectFBSetOption ("graphics-vt", NULL);
         DirectFBSetOption ("no-cursor", NULL);
         /*
@@ -1455,6 +1472,7 @@
 void
 splashy_printline (const char *string)
 {
+
         char *sp = NULL, *tok, *str;
         DFBRectangle rect;
         int x, y, ls;
--- a/doc/splashy-theme.xml.pod
+++ b/doc/splashy-theme.xml.pod
@@ -232,9 +232,8 @@
         <height>0</height>
     </background>
     <textbox>
-        <!-- whether you want the textbox enabled.
-        If no, the F2 key does nothing
-        see autoverboseonerror -->
+        <!-- whether you want the textbox enabled automatically on start.
+         The F2 key toggles the text box-->
         <enable>yes</enable>
         <!-- here are tags to set the text area... x coordinate,
         y coordinate, width and height are for the text area.
@@ -276,6 +275,7 @@
             <alpha>255</alpha>
 	</text>
     </textbox>
+    <!-- autoverboseonerror is not implemented and does nothing -->
     <autoverboseonerror>yes</autoverboseonerror>
     <progressbaronboot>yes</progressbaronboot>
     <progressbaronshutdown>yes</progressbaronshutdown>
--- a/src/splashy_main.c
+++ b/src/splashy_main.c
@@ -52,17 +52,17 @@
         switch( sig )
      {
         case SIGCHLD:  g_printerr ("Splashy boot: splashy setup via child process failed (SIGCHLD received). Exiting...");
-                   break;
+            break;
 
         case  SIGUSR2:  g_printerr ("Splashy boot: splashy setup succeeded (SIGUSR2 received).");
-	           break;
+            break;
 
         default: g_printerr ("Splashy boot: Unexpected signal received.");
-                break;
+            break;
     }
 
        DEBUG_PRINT ("Splashy boot caught signal number %d. Exiting...", sig);
-       
+
        exit(0);
        return;               /* we never reach this */
 }
--- a/doc/splashy_config.pod
+++ b/doc/splashy_config.pod
@@ -182,7 +182,7 @@
 
 =item B<--textbox-show> yes|no      
 
-Set a text box
+Automatically start with a text box with boot messages (key F2 toggles this)
 
 =item B<--textbox-x> X-POS          
 
@@ -260,9 +260,9 @@
 
 Set the ALPHA channel of the text area font (0->255)
 
-=item B<--autoverbose> yes|no         
+=item B<--autoverbose-on-error> yes|no
 
-Set if Splashy turn into verbose mode when an error appears at boot
+Set to make Splashy turn into verbose mode when an error appears at boot. Not implemented
 
 =item B<--progressbar-visibility-boot> yes|no   
 
--- a/src/splashy_config-main.c
+++ b/src/splashy_config-main.c
@@ -127,7 +127,7 @@
         {"text-font-green", required_argument, 0, 'O'},
         {"text-font-blue", required_argument, 0, 'P'},
         {"text-font-alpha", required_argument, 0, 'Q'},
-        {"autoverbose", required_argument, 0, 'R'},
+        {"autoverbose-on-error", required_argument, 0, 'R'},
         {"fadein", required_argument, 0, 'U'},
         {"fadeout", required_argument, 0, 'V'},
         {"progressbar-background-red", required_argument, 0, 'W'},
@@ -383,7 +383,7 @@
                                                 g_strtod (optarg, 0);
                                         break;
                                 case 'R':
-                                        inline_theme->verbose =
+                                        inline_theme->verbose_error =
                                                 g_strdup (optarg);
                                         break;
                                 case 'U':
@@ -483,8 +483,8 @@
                                 g_free (inline_theme->textbox_border_show);
                         if (inline_theme->textfont_file)
                                 g_free (inline_theme->textfont_file);
-                        if (inline_theme->verbose)
-                                g_free (inline_theme->verbose);
+                        if (inline_theme->verbose_error)
+                                g_free (inline_theme->verbose_error);
                         if (inline_theme->fadein)
                                 g_free (inline_theme->fadein);
                         if (inline_theme->fadeout)
--- a/src/splashy_config-functions.c
+++ b/src/splashy_config-functions.c
@@ -794,6 +794,7 @@
 {
         XmlFields *NewTheme = g_new0 (XmlFields, 1);
         gboolean use_pixel_units = FALSE;
+        gboolean repeat_question = FALSE; /* provide feedback about failed input */
 
         check_fields (NewTheme);
 
@@ -806,9 +807,16 @@
                         NewTheme->name = NULL;
                 }
                 ask_string (_("* Name"), &NewTheme->name);
+                if (theme_name_exists (NewTheme->name) )
+		{
+  	   	     repeat_question = TRUE;
+                     g_print("%s\n", "this theme name exists, try another");
+		}
+                else repeat_question = FALSE;
         }
-        while (theme_name_exists (NewTheme->name) == TRUE);
+        while (repeat_question);
 
+        repeat_question = FALSE;
         // Boot image
         do
         {
@@ -818,8 +826,15 @@
                         NewTheme->bg_boot = NULL;
                 }
                 ask_string (_("* Boot image"), &NewTheme->bg_boot);
+                if (check_image (NewTheme->bg_boot) != 0)
+		{
+  	   	     repeat_question = TRUE;
+                     g_print("%s\n", "Error: Not an accepted image format, or can't find that file. Use full path, or check that it is in the current directory.");
+		}
+                else repeat_question = FALSE;
         }
-        while (check_image (NewTheme->bg_boot) != 0);
+        while (repeat_question);
+        repeat_question = FALSE; /* not logically needed, just being safe */
 
         // Shutdown image
         do
@@ -830,8 +845,15 @@
                         NewTheme->bg_shutdown = NULL;
                 }
                 ask_string (_("* Shutdown image"), &NewTheme->bg_shutdown);
+                if (check_image (NewTheme->bg_shutdown) != 0)
+		{
+  	   	     repeat_question = TRUE;
+                     g_print("%s\n", "Error: Not an accepted image format, or can't find that file. Use full path, or check that it is in the current directory.");
+		}
+                else repeat_question = FALSE;
         }
-        while (check_image (NewTheme->bg_shutdown) != 0);
+        while (repeat_question);
+        repeat_question = FALSE; /* not logically needed, just being safe */
 
         // Error image
         do
@@ -842,8 +864,15 @@
                         NewTheme->bg_error = NULL;
                 }
                 ask_string (_("* Error image"), &NewTheme->bg_error);
+                if (check_image (NewTheme->bg_error) != 0)
+		{
+  	   	     repeat_question = TRUE;
+                     g_print("%s\n", "Error: Not an accepted image format, or can't find that file. Use full path, or check that it is in the current directory.");
+		}
+                else repeat_question = FALSE;
         }
-        while (check_image (NewTheme->bg_error) != 0);
+        while (repeat_question);
+        repeat_question = FALSE; /* not logically needed, just being safe */
 
         // Resume image
         do
@@ -854,8 +883,15 @@
                         NewTheme->bg_resume = NULL;
                 }
                 ask_string (_("* Resume image"), &NewTheme->bg_resume);
+                if (check_image (NewTheme->bg_resume) != 0)
+		{
+  	   	     repeat_question = TRUE;
+                     g_print("%s\n", "Error: Not an accepted image format, or can't find that file. Use full path, or check that it is in the current directory.");
+		}
+                else repeat_question = FALSE;
         }
-        while (check_image (NewTheme->bg_resume) != 0);
+        while (repeat_question);
+        repeat_question = FALSE; /* not logically needed, just being safe */
 
         // Suspend image
         do
@@ -866,8 +902,15 @@
                         NewTheme->bg_suspend = NULL;
                 }
                 ask_string (_("* Suspend image"), &NewTheme->bg_suspend);
+                 if (check_image (NewTheme->bg_suspend) != 0)
+		{
+  	   	     repeat_question = TRUE;
+                     g_print("%s\n", "Error: Not an accepted image format, or can't find that file. Use full path, or check that it is in the current directory.");
+		}
+                else repeat_question = FALSE;
         }
-        while (check_image (NewTheme->bg_suspend) != 0);
+        while (repeat_question);
+        repeat_question = FALSE; /* not logically needed, just being safe */
 
         // Ask if the height & width of the background must be set 
         gchar *resolution = "no";
@@ -1056,16 +1099,17 @@
         }                       // if progressbar
 
         // Auto verbose
-        ask_string (_("Pass in verbose mode on error? (yes|no)"),
-                    &NewTheme->verbose);
+        ask_string (_("Pass in verbose mode on error (not implemented)? (yes|no)"),
+                    &NewTheme->verbose_error);
+
 
         // Text box or not
-        ask_string (_("Do you want to see a text box? (yes|no)"),
+        ask_string (_("Do you want to see a text box by default? (yes|no)"),
                     &NewTheme->textbox_show);
 
         // Text box
-        if ((g_strcasecmp (NewTheme->verbose, "yes") == 0)
-            || (g_strcasecmp (NewTheme->textbox_show, "yes") == 0))
+        if ((g_strcasecmp (NewTheme->verbose_error, "yes") == 0)
+             || (g_strcasecmp (NewTheme->textbox_show, "yes") == 0))
         {
                 g_print (_("Text box\n"));
 
@@ -1584,11 +1628,11 @@
                 CheckMe->textfont_alpha = 255;
 
         // Autoverbose on error ?
-        if (CheckMe->verbose == NULL
-            || (g_strcasecmp (CheckMe->verbose, "yes") != 0
-                && g_strcasecmp (CheckMe->verbose, "no")))
+        if (CheckMe->verbose_error == NULL
+            || (g_strcasecmp (CheckMe->verbose_error, "yes") != 0
+                && g_strcasecmp (CheckMe->verbose_error, "no")))
         {
-                CheckMe->verbose = g_strdup ("no");
+                CheckMe->verbose_error = g_strdup ("no");
         }
 
         // Progressbar on boot ?
--- a/src/xml_functions.c
+++ b/src/xml_functions.c
@@ -118,7 +118,7 @@
                         spl_theme->textfont_green,
                         spl_theme->textfont_blue,
                         spl_theme->textfont_alpha,
-                        spl_theme->verbose,
+                        spl_theme->verbose_error,
                         spl_theme->fadein,
                         spl_theme->fadeout
                 );
--- a/src/xml_format.h.in
+++ b/src/xml_format.h.in
@@ -17,6 +17,8 @@
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  * Boston, MA 02110-1301 USA 
  */
+
+/* this file is used to create xml_format.h so modify this, not xml_format.h */
 #ifndef _XML_FORMAT_H
 #define _XML_FORMAT_H
 
--- a/src/splashy.h
+++ b/src/splashy.h
@@ -64,12 +64,12 @@
  * toggles whether the textbox area will be shown for 
  * splashy_printline_s()
  */
-void splashy_set_textbox_area_visible (int visible);
+void splashy_set_textbox_area_visible (gboolean visible);
 
 /*
  * returns the status of the textbox area visibility flag
  */
-int splashy_get_textbox_area_visible (void);
+gboolean splashy_get_textbox_area_visible (void);
 
 /*
  * allows to print a single message to the center of the textbox area
--- a/src/xml_config.c
+++ b/src/xml_config.c
@@ -43,7 +43,8 @@
 const char *
 splashy_get_config_string(const char *xpath)
 {
-	return xml_parser_get_text(xpath);
+    fprintf(stderr, "Splashy debug ter: config_string %s %s \n",xpath,__FILE__);
+    return xml_parser_get_text(xpath);
 }
 int
 splashy_get_config_int(const char *xpath, int base)
--- a/themes/default/theme.xml
+++ b/themes/default/theme.xml
@@ -81,9 +81,8 @@
         </dimension>
     </background>
     <textbox>
-        <!-- whether you want the textbox enabled.
-        If no, the F2 key does nothing
-        see autoverboseonerror -->
+        <!-- whether you want the textbox enabled automatically at start.
+        The F2 key toggles the textbox -->
         <enable>yes</enable>
         <!-- here are tags to set the text area... x coordinate,
         y coordinate, width and height are for the text area.
@@ -131,6 +130,7 @@
             </color>
         </text>
     </textbox>
+    <!-- autoverboseonerror is not enabled -->
     <autoverboseonerror>no</autoverboseonerror>
     <fadein>no</fadein>
     <fadeout>no</fadeout>

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to