Ahoj!
For the most part, you could just have two interface constructors and re-use the logic. YCP is already an appropriate language for this I would think, so just have printer-ui-main-text.ycp and -graphical.ycp, and you wrap it into a nice modular library.
I guess, we'd very much liked to avoid having two .ycp files describing UI for every module. Maintaining n different instances of the code doing the same job is simply PITA (as you can well see it on the example of 3 different UIs for package manager - but that does not belong to this thread :-) ) But possibly as more and more complex GUI features emerge, at some point we will be unable to provide suitable alternatives for TUI. Then we will have to decide, taking into account different needs of different users, and making maintenance as feasible for us as possible. However, does anyone have any example of some complex GUI feature users often ask for and really want to have? I might have overlooked that, or I might be just professionally deformed by maintaining text-mode UI, but I haven't seen any particular example so far. All I've seen were statements such as 'users want YaST to be more cool & sexy' which is (at least for me) very vague description of the problem frozenB. -- \\\\\ Katarina Machalkova \\\\\\\__o YaST developer __\\\\\\\'/_ & hedgehog painter