On Wed, Nov 12, 2003 at 02:33:43AM -0500, Joey Hess wrote: > Another problem .. as it was retreiving the base debs, it failed to get > one for some reason (probably my iso is bad). I got a error message, > then it displayed a note, which was displayed over top of the progress > bar without clearing the screen. That was ok, but now I have the main > menu displayed over top of the progress bar, which is sticking out the > both sides "under" it. [...]
Thanks a lot for testing, I now understand much better how it is supposed to work. I won't apply this patch until the problems explained below are solved. You exhibited 2 problems: a. Progress bars may not interact well with other objects. b. Display is corrupted when cfdisk is run. But what happens if we had a graphical installer? Progress bars are certainly in a box, and other objects such as error messages are in another box. There is no reason to overlap them, thus the interface cannot decide if an error message has to erase a progress bar, or simply display a notice and let the script continue. Scripts *must* explicitly destroy progress bars (by calling PROGRESS STOP) they have created, and not assume that interface will does this job. So (a) is due to a broken script. For (b), where should cfdisk be displayed? Certainly not on the same window. So when scripts or programs are displaying something, they have to be directed elsewere. Maybe the newt frontend could run cfdisk on another console, switch to this console and display a message in newt telling that an application is running on vcN. I believe that all we need is an EXTERNAL cdebconf command, which runs its arguments on another console and waits for its child to finish. The di-utils-shell could then simply become #! /bin/sh . /usr/share/debconf/confmodule db_external /bin/sh Denis -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]