Thursday, February 21, 2008

YaST User Interface Library is now independent of YaST

Thanks to hard work of the YaST team hackers HuHa, Bubli, Ricardo and others, the YaST user interface library is now fully independent of the YaST infrastructure. What does it mean? In short, there is now a standalone C++ library that provides API independent of particular toolkit. The current backends are Qt, Gtk+ and ncurses, so the same code can have use the interface written in any of those.

The YaST UI library provides a very simple API to build rather complex but still consistent user interfaces. The particular implementation of the interface depends on the chosen backend - Qt, Gtk+ or ncurses. The primary target for this library is YaST, Yet Another Setup Tool developed for installation and configuration of SUSE products.

However, the library was very deeply tied to the rest of YaST infrastructure which made it nearly impossible to use it outside of YaST. Not anymore. Very soon, there will be packages available in openSUSE that provide the library independently of YaST, so any application that might need to provide both graphical as well as textual interface can easily do so. They provide also examples how to use the library from pure C++.

For future, I believe it makes sense to have a shiny new name for this library (YUI also means Yahoo UI) and I've tried to persuade the team on their IRC channel, but there were no good proposals for those. So, for now, we have the great functionality unleashed outside of YaST, with the old and pretty generic name YUI. Happy hacking!

1 comment:

Justin said...

Congrats! I know that separating the UI layer from YaST was planned for a while, and now its done. Now we have a way of creating a cross desktop environment form applications that looks native on all toolkits.