Index: tools/config.py
===================================================================
--- tools/config.py	(revision f49f16c955824b1944b9c6df94195e51b67db084)
+++ tools/config.py	(revision 616f175962fda61a6a7ac7fcc1c3e6bc51d71fa9)
@@ -109,4 +109,12 @@
 
 
+def eof_checker(fnc):
+    def wrapper(self, *args, **kw):
+        try:
+            return fnc(self, *args, **kw)
+        except EOFError:
+            return getattr(self.bckdialog,fnc.func_name)(*args, **kw)
+    return wrapper
+
 class Dialog(NoDialog):
     def __init__(self):
@@ -118,7 +126,10 @@
         if os.system('%s --print-maxsize >/dev/null 2>&1' % self.dlgcmd) != 0:
             raise NotImplementedError
+        
+        self.bckdialog = NoDialog()
 
     def set_title(self,text):
         self.title = text
+        self.bckdialog.set_title(text)
         
     def calldlg(self,*args,**kw):
@@ -177,4 +188,5 @@
             return 'y'
         return 'n'
+    yesno = eof_checker(yesno)
 
     def menu(self, text, choices, button, defopt=None):
@@ -204,4 +216,5 @@
             raise EOFError
         return data
+    menu = eof_checker(menu)
     
     def choice(self, text, choices, defopt=None):
@@ -223,4 +236,5 @@
             raise EOFError
         return data
+    choice = eof_checker(choice)
     
 def read_defaults(fname,defaults):
