6. 窗口部件库或工具包

最初的窗口部件库,为 Athena 项目开发的,当然是 Athena 窗口部件库,也称为 Athena Widgets。它非常基础,非常简陋,并且按照今天的标准来看,用法不够直观(例如,要移动滚动条或滑块控件,你不能拖动它;相反,你需要点击右键向上滚动,点击左键向下滚动)。因此,如今它几乎不怎么被使用了。

正如窗口管理器的情况一样,有很多工具包,它们的设计目标各不相同。最早的工具包之一是著名的 Motif,它是开放软件基金会(Open Software Foundation)的 Motif 图形环境的一部分,该环境由一个窗口管理器和一个配套的工具包组成。OSF 的历史超出了本文档的范围。Motif 工具包比 Athena widgets 更优秀,因此在 1980 年代和 1990 年代早期得到了广泛使用。

如今,Motif 已经不是一个流行的工具包选择。它不是自由(言论自由)软件,如果你想要开发者许可证(即用它来编译你自己的程序),OSF Motif 是要花钱的,尽管分发一个链接了 Motif 的二进制文件是可以的。对于 Linux 用户来说,也许最著名的 Motif 应用程序是 Netscape Navigator/Communicator(在 Mozilla 之前)。

曾经有一段时间,Motif 是唯一可用的像样的工具包,并且有很多 Motif 软件。当然,人们开始开发替代品,现在有很多工具包,例如 XForms、FLTK 和其他一些。

如今,Motif 已经不常被提起了,特别是在自由软件世界中。原因是现在有了更好的替代品,无论是在许可、性能(Motif 被广泛认为相当臃肿)还是功能方面。

其中一个这样的工具包,广为人知且被广泛使用的 Gtk,专门为了在 GIMP 项目中取代 Motif 而创建(Gtk 的一个可能的含义是 "GIMP ToolKit",尽管随着它的广泛使用,它也可以被解释为 "GNU ToolKit")。Gtk 现在非常流行,因为它相对轻量级、功能丰富、可扩展且完全自由(言论自由)。GIMP 的 0.6 版本在更新日志中包含了 "Bloatif has been zorched" 这一句。这句话证明了 Motif 的臃肿。

如今另一个非常流行的工具包是 Qt。在 KDE 项目出现之前,它并没有那么出名,KDE 项目在其所有 GUI 元素中都使用了 Qt。我们当然不会深入探讨 Qt 的许可问题以及 KDE/GNOME 的分裂。Gtk 得到了详细的介绍,因为它作为 Motif 替代品的历史很有趣;Qt 只是被简要提及,因为它真的很流行。

最后,另一个值得一提的替代品是 LessTif。这个名字是对 Motif 的双关语,LessTif 旨在成为 Motif 的一个免费的、API 兼容的替代品。目前尚不清楚 LessTif 的目标在多大程度上是用于新的开发,而不仅仅是帮助那些拥有 Motif 代码的人使用一个免费的替代品,同时他们(可能)将其应用程序移植到其他工具包。