Chapter 10. The YaST Wizard

In the previous section the basic mechanisms suitable for managing on-screen dialogs were presented. However, creating dialogs for each and every application from scratch would be cumbersome and moreover is unnecessary. For example the well-known layout that is presented with nearly every YaST dialog during installation was not programmed anew for each dialog. Rather it is kind of imported from a special YCP module, the Wizard that provides all the functionality necessary to create uniform dialogs.

Furthermore, as time went by, during the development of the YaST installer, the developers encountered situations where the same (or similar) tasks ofttimes had to be accomplished at different locations in the overall program flow. For example opening a popup to ask the user a question with the predefined buttons “Yes” and “No” is a procedure used very often.

This led to the development of predefined dialog elements that can (and should) be included in the current YCP source. Displaying the Yes-No-popup from the example above is then reduced to calling a function with respective parameters. Aside from avoiding the need to redevelop such things again and again, another benefit is the ever same visual appearance that adds up to the well-known YaST look-and-feel. Meanwhile there are also many functions that are not UI-related but nonetheless very useful.

The omnium gatherum of all these elements has been collected to form the so-called “YaST Wizard”. In short the YaST Wizard consists of one YCP module that provides the layout framework used in the installation dialogs and some additional YCP modules that provide access to several common dialog elements needed rather often. Many “generic” functions are at hand as well.

The following two sections cover these topics mostly by means of references to the YaST developers documentation.