安装 Xaw3D 库

作者:Mark Komarinski

在命令行界面 (CLI) 模式中困了几个月后,我终于崩溃并在我的 Linux 机器上安装了 X11R6。这真没什么好炫耀的,真的,只是一台 386/40,三年前还是最先进的。好吧。至少我有了图形界面,终于可以在 WWW 网站上看到那些精美的 星际迷航:航海家号 图片了。这也让我的鼠标在积了几个月的灰尘后终于可以工作了。

采用 XFree 3.1.1 给我的默认设置,我发现自己身处 fvwm 及其类 Motif 界面中,希望其他程序也具有类 Motif 界面。Motif 有许多优点,但缺点是它需要花钱,而我们许多人(目前)没有这笔钱。Motif 提供的一个功能是按钮和窗口其他部分(称为小部件)的 3D 界面。这些小部件的设计使得软件开发人员可以确定要使用哪些小部件以及它们如何工作,而最终用户可以更改小部件的显示方式。这类似于现在没有 Motif 的 X 的工作方式。

为了使您的屏幕更像 3D,有一个 Athena Widget 集的替代品,称为 Xaw3D。Athena Widgets 定义了屏幕侧面的滚动条的工作方式。默认情况下,这些小部件使像 xedit 这样的程序的滚动条看起来像您在图 1中看到的那样。功能齐全,但有些平淡。

替换的 3D 库使 xedit 看起来更像图 2。您会注意到 Xaw3D 在三个区域显示了它的存在。窗口顶部的按钮、左侧的滚动条以及右上角区域的三个节标记。

您可以在大多数流行的 Linux FTP 站点上获取 3D 小部件,包括 sunsite.unc.edu,路径为 /pub/linux/libs/X/libXaw3d_X11R6.tar.gz。在同一目录下还有用于 Xfree 2.1 的库以及 Xaw3d 源代码。

安装非常简单,但您必须是 root 用户。libXaw3d_X11R6.readme 文件中有说明。使用以下命令解压 libXaw3d_X11R6.tar.gz 文件:

tar -zxvC / -f libXaw3d_X11R6.tar.gz

然后更新共享库

ldconfig

-C 告诉 tar 在根目录中解压。由于 tar 文件包含将库放入 usr/X11R5/lib 的目录结构,因此 -C / 会将文件放置在正确的目录中,而无需到处移动它。请注意,这将替换已存在的 libXaw.so.6.0 文件,因此您可能需要备份它。ldconfig 将为您更新文件链接,因此您无需犯使用 ln 命令不正确而擦除库的常见错误。

一旦安装了此库,这将仅影响动态链接库。在上述相同的目录中还有其他软件包可用,它们为静态链接程序提供库,如果您需要它们:大多数用户可能不需要。

下次您启动 X-Windows 时,您会注意到滚动条和其他通常使用 Xaw 集的小部件发生了变化。您还可以使用 ~/.Xdefaults 文件配置 Xaw,从而更改这些小部件的外观。

您可以使用 *shadowWidth 资源来更改每个小部件的显示方式,您只需将文件保存到 ~/.Xdefaults,然后启动一个使用静态链接的滚动条或按钮的新程序,即可看到更改结果。xterm 和 xedit 是两个很好的例子。

*Label*shadowWidth 资源定义了标签小部件的深度,使其看起来像 3D。您可以通过设置此数字(例如设置为 2)来添加阴影。

然而,了解每个小部件作用的最佳方法之一是借用别人的配置。Michael K. Johnson 非常好心地为我提供了一份他的 .Xdefaults 副本,我对其进行了自己的修订,如图 3 所示。

! 用于 Xaw3d! 使一切都具有 Motif 外观。有点像.*background: LightSkyBlue*Form.background: grey90*TransientShell*Dialog.background: bisque3*Command.background: gray80*Menubutton.background: gray80*ScrollbarBackground: gray60*Scrollbar*background: gray70*Scrollbar*width: 16 *Scrollbar*height: 16*Scrollbar*shadowWidth: 2*Scrollbar*cursorName: top_left_arrow! 您可以将上面更改为各种图标,包括 gumby。! 通过查看! /usr/include/X11/cursorfont.h 找出哪些图标可用 - 务必去除 XC_*Scrollbar*pushThumb: false*ShapeStyle: Rectangle*beNiceToColormap: false*shadowWidth: 2! 上面定义了所有 shadowwidths 为 2。 *Label*shadowWidth: 2! 上面覆盖了上面几行中对 Label! 小部件的定义。*SmeBSB*shadowWidth: 2*highlightThickness: 0*topShadowContrast: 20*bottomShadowContrast: 40! 上面两行定义了小部件顶部和底部的阴影外观。数字越高,颜色越浅。这个! 特定的设置使顶部和左侧比底部和右侧更暗。图 3. 文件 .Xdefaults

下拉菜单可以设置 *SmeBSB*shadowWidth 资源,这将更改下拉菜单的显示。

有关资源或 Athena Widgets 如何工作的更多帮助,请查看各种标准 X 应用程序(例如 xterm 或 xedit)的 man 页面。

Mark Komarinski 毕业于 Clarkson University(位于非常寒冷的纽约州波茨坦),获得计算机科学和技术交流学位。他现在住在纽约州特洛伊,大部分空闲时间都在退伍军人事务部担任程序员。

加载 Disqus 评论