Mandrake配置工具(也就是drak工具)一个有意思的特性是,这些工具中的许多子工具都可以在控制台模式下或者是X(Linux的图形用户界面)里使用。最有用的drak工具之一是libDrakx,这个工具perl-GTK在Mandrake里的附加工具。作为drakxtools-newt工具包的一部分,libDrakx提供了一些自定义命令,而且能在控制台或X里都能正常运行。它既包括了Mandrake配置工具的核心设置部分,也包括了你创建新工具所必需的东西。我会带着你,告诉你如何使用libDrakx来创建你自己的用户界面。
Mandrake的标准安装会包括drakxtools-newt,它提供了创建双重界面所需的相当多的一部分代码。Mandrake开发人员所使用的很多通用程序都来自perl-MDK-Common。X GUI的功能由perl-GTK提供,而控制台的显示是由libnewt处理的。如果你已经和Linux打过交道并记得原有基于对话框的Slackware安装器,你会发现newt界面会很类似。Mandrake安装器使用了相同的工具集来同时提供图形用户界面和文本界面的安装器。
让我们先从基本的东西开始。Listing A里的应用程序显示了一个提示和OK按纽,这个按钮可以关闭这个程序,就像你可以在图A和图B里看到的一样,用户所看到的界面在本质上是相同的,不论使用的是控制台还是图形用户界面。
图A
图B
看起来够简单了吧。但是它是怎么工作的呢?让我们来一行一行地看代码。