Brian Palmer wrote:
Alex,
That sounds good. However, aren't your current changes what should be called the "console" UI and the old user interface should stay as the "TUI"?
I never meant for my current changes to be part of Freeloader. But if there is enough request for it, then they belong in TUI; they are just another TUI interface. With some small changes in the INI file and the TUI code (to make it more dynamic) it would easily be done. All I've done is
1) change the backdrop to full black (easy) 2) Disable the clock (easy) 3) Use a different top-level header (a bit hard to configure through an .INI) 4) Not draw a box around the menu (easy) 5) Use a modified timeout text (easy) and style (a bit harder to do with the .INI alone, but not overkill) 6) Position the menu differently (easy)
I can make some small changes to the Tui code to support more configurabile options, like for #4, TuiDrawMenu can be modified to conditionally call TuiDrawMenuBox, etc.
And they could be user selectable through the .ini file?
See above.
Or are you getting rid of the current user interface completely, instead of writing an additional one?
That was never my plan, a lot of people don't like NTLDR's interface.
If so, I suggest writing an additional one so that those of us that prefer the old user interface can still use it.
Defintely.
Something like this:
tui.c has all the original UI stuff in it. cui.c has your new "console" UI. ui.c (or ui.h) has a single function that calls (or is #define'd) to GraphicsTable->DrawBox which points to either the tui.c or cui.c equivalent.
What do you think?
Sounds good, except that my stuff isn't really "console". It's still very much TUI but simply using other settings which I can make available through the .INI file. So, should I go ahead with the new .INI options and modifying TUI to respect them?
Best regards, Alex Ionescu