艺术家 Linux 桌面指南,第 3 部分
Window Maker 是 GNUStep 项目的后代。在某种意义上,GNUStep 更像 GNOME 和 KDE,而不是 Window Maker。GNUStep 试图提供桌面的底层功能——这些功能不是视觉上的,而是功能性的。Window Maker 包含其中一些功能,但更类似于 Enlightenment(一个窗口管理器),而不是 GNOME(一个桌面环境)。Window Maker 专为额外集成 GNUStep 应用程序的支持而设计,其外观源自 NeXTSTEP,这是苹果收购的 NeXT 公司的桌面界面,也是史蒂夫·乔布斯在(前)苹果项目之后的一个项目。
Window Maker 包括在 KDE、GNOME 和 Open Look(另一种环境,尽管您不太可能在 Linux 上看到它)中作为窗口管理器运行的支持。KDE 支持似乎比 GNOME 支持(有时往往是一个移动目标)更完整。源代码发行版包含描述如何在 KDE 和 GNOME 中使用窗口管理器的 README 文件。Window Maker 具有一些自己的会话管理功能,但不直接提供应用程序之间的拖放功能。
同样,我们将假设您已经安装了 Window Maker。如果没有,可以在我的文章“安装 Window Maker”(在“Strictly On-Line”中)找到说明,https://linuxjournal.cn/lj-issues/issue74/4050.html。请确保您拥有 0.61 版本或最新版本。
首次启动 Window Maker 时,您将看到类似于图 1 的显示。这是默认屏幕显示,最初看起来并不那么花哨。与 Enlightenment 不同,Window Maker 不会预设您有任何图形上的炫技。它让您从一开始就定义它。
请注意,在我的桌面上,我使用基于 XPM 的默认图标(见图 1),而在我的笔记本电脑上,我使用基于 TIFF 的默认图标。我始终无法让基于 TIFF 的版本(它具有更漂亮的图标)在我的桌面上正常工作,即使桌面和笔记本电脑系统配置(就我所知)完全相同。这是 Window Maker 的一个缺点。FVWM2(我的正常窗口管理器)和 Enlightenment 都没有表现出这种问题。
图 1 显示了 Window Maker 桌面的三个重要组成部分:应用程序图标、剪辑和停靠栏。Window Maker 以两种不同的方式使用图标:作为应用程序图标和作为迷你窗口。这是我们用户必须进行的又一次术语舞蹈,因为开发人员努力寻找定义复杂事物的方法,以便外行人理解。不要太担心。图 1 右侧的图像是应用程序图标。它们代表一个正在运行的应用程序,其窗口可以是打开的或图标化的。这与迷你窗口不同,迷你窗口是您图标化窗口时得到的。单击窗口左上角的小框,窗口将折叠成迷你窗口。从视觉上看,您可以区分迷你窗口和应用程序图标,因为迷你窗口中有一个微小的标题栏,如图 2 所示。

图 2. 应用程序图标和迷你窗口
每次从命令行启动新应用程序时,都会创建应用程序图标(见图 2)。这与大多数其他窗口管理器的行为不同,我最初觉得这很烦人。幸运的是,您可以使用停靠栏更改此行为,我将在关于管理桌面的部分讨论停靠栏。
图 1 的左上角是剪辑。这本质上是 Window Maker 的页面调度器,尽管它缺乏其他页面调度器提供的视觉提示。当与应用程序图标一起使用时,它还具有一些特殊行为。将应用程序图标拖到剪辑上会将图标连接到当前工作区的剪辑(见图 3)。片刻之后,除非您将鼠标保持在剪辑图标上,否则您刚刚连接到它的图标将被隐藏。这允许您使用拖放将应用程序放置在特定桌面上,并且它隐藏了所有那些讨厌的应用程序图标。剪辑是用于管理哪些应用程序位于哪个桌面上的工具。

图 3. “吸引”了应用程序图标的剪辑
这引出了另一个问题:Window Maker 没有桌面。它也没有页面。相反,它有工作区。更多术语,但在这种情况下,不需要它。工作区与桌面相同。与 E (Enlightenment) 或 FVWM2 不同,Window Maker 没有每个桌面的多个页面。它只有一个无限数量的桌面,以线性(从左到右)模式连接。
使用“首选项”实用程序(稍后会更详细地讨论)可以配置在工作区之间拖动窗口。拖动到左边缘或右边缘以转到下一个工作区。您可以使用窗口的标题栏菜单“移动到...”选项将窗口扭曲(即,跳跃)到另一个工作区。当您到达最后一个窗口的边缘时,除非您在“首选项”实用程序中配置为环绕回到第一个工作区或创建新工作区(两者都是可配置的),否则您无法拖动超过右边缘。当尝试拖动到第一个工作区的左边缘时,情况也是如此。
可以通过使用鼠标中键(通常映射到双按钮鼠标上的两个按钮)单击剪辑来添加新工作区。这将弹出一个菜单,第一个项目是“新建”。右键单击剪辑会弹出一个菜单,用于管理当前工作区,从重命名工作区到抓取所有应用程序图标,再到管理图标的显示方式。
当使用剪辑切换工作区时,您已切换到的工作区的名称会显示在显示屏的中心(必要时覆盖任何窗口):然后它会从视图中淡出。这是一个很酷的技巧,碰巧也有点用。知道您刚刚进入的工作区的名称很好。
在图 1 的右上角,您将看到停靠栏。这是一个管理应用程序图标的特殊应用程序。这是添加应用程序图标以启动应用程序的地方。它类似于 FVWM2 中的 GoodStuff 栏,或者不太相似的是 KDE 和 GNOME 中的面板。
最初使用停靠栏有点令人困惑。让我们演练一个向停靠栏添加应用程序图标的示例,以便我们可以随意启动 xterm。要做的第一件事是手动打开一个 xterm,您可以通过右键单击根窗口来获得根菜单来完成此操作。第三个项目应该是“XTerm”。点击它。应该打开一个通用的白色背景上的黑色文本 xterm,并且其应用程序图标放置在屏幕的左下方。左键单击应用程序图标,然后将其拖到停靠栏下的应用程序图标下方。当您足够靠近时,图标下方会显示一个白色框,当您松开鼠标按钮时,xterm 的应用程序图标会整齐地放置在其他图标下方。
现在您有了一个图标,当您启动 X 会话时,它将始终存在(您可以稍后手动删除它)。现在,它的应用程序(xterm)已经在运行。通过在命令提示符下键入“exit”或单击 xterm 窗口右上角的“x”退出 xterm。请注意,xterm 的应用程序图标现在在其左下角有三个小点。这意味着您可以通过双击应用程序图标来启动 xterm。如果您现在这样做,xterm 将再次打开,这些点将消失。
这里的问题是您无法打开多个 xterm。您必须配置停靠的应用程序图标,以允许启动多个 xterm 实例。以下是您执行此操作的方法
如果它没有打开,请双击停靠的应用程序图标打开一个 xterm。
右键单击标题栏,然后从菜单中选择“属性”。
在“检查...”对话框中,选择“特定于应用程序”选项。
单击“无应用程序图标”按钮,然后单击“保存”。
单击“检查...”对话框的“关闭”按钮(右上角的 X)以关闭该窗口。
现在您应该能够从停靠栏上的单个终端图标启动多个 xterm。此过程适用于您连接到停靠栏的任何应用程序图标。
如果您想从停靠栏中删除应用程序图标,只需单击并将其拖到屏幕底部并松开即可;它将消失。但是,首先,请确保您已关闭使用该图标启动的所有应用程序实例。
图 5 显示了默认停靠栏应用程序。最上面的一个是停靠栏本身。下一个是启动通用 xterm。最后一个是打开 Window Maker 首选项实用程序。如果您使用的是基于 TIFF 的图标而不是基于 XPM 的图标,则您看到的图标可能会有所不同。
根菜单和窗口菜单可以部分显示在屏幕外,具体取决于您打开它们的位置,但是您可以通过将鼠标指针移动到屏幕边缘(在菜单上方时)并将其保持在那里片刻来将它们滚动回视图中。您可以通过在显示屏的左边缘或右边缘附近右键单击来看到这一点。
在默认根菜单(见图 6)中,“外观”下的“首选项实用程序”条目对我不起作用。那是因为我更改了默认安装目录(从源代码构建时使用 --prefix)。要解决此问题,请编辑文件 $HOME/GNUstep/Library/WindowMaker/menu 并注释掉“首选项实用程序”的行。如果您使用应用程序停靠栏,则实际上不需要此功能。默认配置中停靠栏上的最后一个图标(带有心跳线)将正确启动“首选项实用程序”。
单击根菜单的标题栏将锚定它——菜单的右上角会出现一个关闭按钮,并且在其他菜单关闭时不会关闭。要关闭它,请单击“关闭”按钮。
“首选项实用程序”中有一个用于图形化管理根菜单的工具,但如果您使用它,您将无法访问基于文本的菜单版本。图形工具将基于文本的菜单转换为某种编译格式。对于具有中等智能的用户,基于文本的菜单更新速度更快,对于国际化菜单,您需要使用基于文本的菜单——国际化菜单无法使用图形实用程序进行管理。手动更改文本菜单不需要重新启动 Window Maker;更改将在您下次打开根菜单时被识别。如果您选择使用图形界面进行菜单管理,其更新也会立即被识别。
默认根菜单是 GNUstep/Library/WindowMaker/menu。此单个文件保存您在根菜单(例如,“应用程序”、“编辑器”和“杂项”菜单)中看到的所有菜单。要从这些菜单中添加或删除条目,只需使用您喜欢的文本编辑器编辑此文件即可。根菜单将在您将文件保存回磁盘后自动更新。
现在您知道您在屏幕上看到的内容了。下一步是决定如何处理所有这些。Window Maker 的许多功能在 Enlightenment 中都有等效的对应功能,例如阴影窗口:双击标题栏以阴影窗口,再次双击以重新打开它。可以使用手动配置在 E 中对窗口进行分组。在 Window Maker 中,您必须选择窗口。在根窗口中左键单击,按住并拖动到您要分组的窗口上。您现在可以将这些窗口拖到另一个桌面。要取消选择它们,只需在根窗口中左键单击一次即可。
在桌面之间移动很容易:只需键入 ALT-#,其中 # 是剪辑中显示的桌面编号。这是一种快速在桌面之间弹跳的方法,这是我目前在我的窗口管理器 FVWM2 中无法做到的。您还可以使用根菜单“工作区”子菜单、剪辑菜单以及(如果启用)通过将鼠标移动到显示屏的左边缘和右边缘来在桌面之间移动。
如您所见,停靠栏是 Window Maker 桌面的重要组成部分。它允许您快速启动应用程序。它也可以被特殊的停靠栏应用程序使用,这些小程序(类似于 E 的 epplets)直接在图标中运行。这些程序的示例包括时钟、系统信息、股票和天气报告以及国际象棋游戏(见图 7)。
停靠的应用程序可以使用前面描述的技术启动应用程序的多个实例。但是,某些应用程序在 Window Maker 下无法正常运行,并且您无法禁用其应用程序图标,因此该技术将不起作用。永远不要害怕:有其他方法可以启动多个实例。最简单的方法是使用停靠的应用程序图标菜单中的“启动”选项(右键单击停靠的应用程序图标)。选择“启动”将打开该应用程序的另一个实例。或者,您可以从停靠的应用程序图标菜单中的“设置”对话框中更改要运行的命令。例如,XV 通常作为 xv 启动。这被更改为
/bin/sh -c "exec xv&"
现在,每次双击停靠栏中的 XV 应用程序图标都将启动 XV 的新实例。
Window Maker 有许多可用的停靠栏应用程序。查找这些应用程序的主要网站是 DockApps Repository,网址为 http://www.bensinclair.com/dockapp/。
您还可以在 http://wm.current.nu/ 找到许多有趣的图标和主题以及各种有用的文档。
Window Maker 不允许像 Enlightenment 那样对窗口边框系统进行太多变化,但这实际上简化了主题的创建和使用。默认菜单中的最后一项“外观”允许您访问一些预定义的主题和样式(从用户的角度来看,本质上是相同的东西)。“首选项实用程序”用于对窗口边框和背景进行特定更改,之后您选择“外观”-->“保存主题”选项以保存这些设置。
但是,“首选项实用程序”不是您用来设置背景的工具。要设置背景图像,您可以使用 wmsetbg 程序。不幸的是,似乎没有一种方法可以在默认配置中随机选择文件来设置背景。您必须为您希望用作背景的每个图像向根菜单添加条目。从好的方面来说,一旦您为给定的工作区设置了背景,您就可以保存设置,以便将来始终使用它。
Window Maker 首选项实用程序(见图 8)是 WM 外观和感觉配置的核心。所有视觉设置都在此处配置
可以在此处禁用动画。对于内存受限的系统(如笔记本电脑)很有用。
图标可以从其默认的 64x64 大小向上或向下调整大小。
您可以配置额外的路径来搜索像素图和图标。
许多键盘快捷键可以通过使用图形界面进行配置。这对像我这样的人非常有用。例如,在我的笔记本电脑上,我有一个后置鼠标(IBM 风格的红色帽后置)。我讨厌它,我也不喜欢在我的桌面上来回移动到我的真鼠标。我更喜欢尽可能使用键盘弹跳。能够轻松配置这些快捷方式是一个受欢迎的功能。
鼠标也是完全可配置的。您可以指定哪个鼠标按钮将打开菜单,鼠标对双击的响应速度等等。对于窗口管理器来说,这是一个非常有用的但很少提供的功能。它具有图形界面尤其令人高兴。
Window Maker 首选项实用程序,简称为 WPrefs,也用于配置特定窗口的背景、窗口边框、标题栏和图标。您无法像使用 E 那样具有创造力,但是进行更改的界面相当复杂且相当直观。正如我之前提到的,它唯一没有做的是设置根窗口的背景图像,这必须使用 wmsetbg 手动完成。
使用 WPrefs 实用程序进行的一些更改是立即生效的,而另一些更改则需要重新启动 Window Maker 才能生效。诸如图标大小、窗口自动对焦和窗口自动提升之类的功能都需要重新启动窗口管理器。根菜单中的“退出”-->“重新启动”菜单选项将重新启动 Window Maker,而无需您退出 X 会话。
直到我发现如何调整图标大小,我才真正讨厌 Window Maker。我从内心深处是一个极简主义者;我的 FVWM2 配置为 GoodStuff 栏使用了非常少的屏幕空间。大图标对我来说很烦人,所以我将它们缩小了很多。但是,这有一个缺点。由于时钟是停靠的应用程序图标,因此它们往往需要大量空间才能让我看到时钟模拟指针或数字文本。同样,许多停靠栏应用程序至少需要 64x64 的应用程序图标,否则您将无法读取其内容。换句话说,它们很可爱,但对于我的口味来说,它们占用了太多空间。
关于 Window Maker 的另一件事是它支持声音。我不喜欢我的电脑对我发出噪音。这就是为什么我有一个立体声音响;我通过立体声音响播放电脑上播放的 CD,所以我没有使用 Window Maker 或其他窗口管理器中发现的声音功能。但是,如果您需要,声音支持就在那里。
与我的 Enlightenment 测试一样,我在两个系统上运行了 Window Maker:一个 400MHz AMD K6 桌面,配备 256MB 内存,和一个 200MHz Celeron 笔记本电脑,配备 32MB 内存。这两个系统都运行 stock Red Hat 5.2,使用 glibc 2.0。我还运行了最新版本的 Window Maker,即 0.61.1 版本。在所有情况下,桌面上的性能都很好。笔记本电脑上的性能几乎一样好,尽管在少数地方有点跳跃。
Window Maker 比 Enlightenment 的资源密集程度稍低,这主要是因为 Window Maker 没有提供您可以从 Enlightenment 获得的狂野窗口边框。E 的这一功能在视觉上令人兴奋,但也消耗大量内存。
我发现 Window Maker 在我的笔记本电脑上运行得非常好,肯定与 Enlightenment 一样好,甚至更好。不透明窗口移动是默认设置,需要不断重绘。这在桌面上不是很明显,但在笔记本电脑上很明显。不透明移动更新相当缓慢,并且使 WM 显得迟缓,但实际上它并没有因这种移动而真正陷入困境。这可以关闭,强制透明(仅轮廓)移动,这给人更好的性能外观。
即使设置了快速速度,笔记本电脑上的窗口阴影也不是很流畅。我发现如果我关闭笔记本电脑上的动画,它的效果会好得多。当我双击标题栏时,窗口(标题栏除外)消失了。再次双击标题栏,它又回来了。由于这种情况发生得非常快,因此看起来好像系统工作效率更高。
动画,包括用于图标化窗口的 3D 动画,通常相当流畅。阴影和动画都不如我的桌面流畅,但两者都不够慢以至于分散注意力或阻止我进行其他工作。Window Maker 的花哨功能都可以关闭,因此性能不应该是笔记本电脑的大问题。
在我的笔记本电脑上使用 Window Maker 运行 Netscape 和 GIMP 没有问题。当然,非常大的 GIMP 文件会拖慢任何系统,所以我只处理小型 Web 大小的图像。尽管如此,Window Maker 运行得非常好。
实际上,Window Maker 有相当多的文档可用。早期版本的用户指南在线,但它与最新版本 (0.61.1) 不完全同步。源代码发行版附带文本格式的 FAQ,并且可以从 Window Maker 主站点 (http://www.windowmaker.org/) 和一些其他用户支持的站点在线获得 HTML 版本。源代码发行版中包含的所有工具的 man 页面也可用。
Window Maker 有许多不错的功能。对于艺术家来说,Window Maker 使个性化桌面非常简单。主题易于创建、易于保存且易于安装。这让艺术家有时间专注于创意方面——桌面中使用的瓷砖、背景和其他图像的创作。这才是桌面应该工作的方式。
Window Maker 也有许多我不喜欢的地方。最初,图标太大了。由于大多数 Dock 应用程序都希望在 64x64 图标中运行,因此我的笔记本电脑屏幕空间受到了影响。我可以缩小这些图标,但我会丢失停靠栏应用程序图标中的功能。我也不喜欢让停靠栏应用程序图标沿着我的显示屏右侧运行。我喜欢它们沿着显示屏顶部运行,但我不知道如何更改此方向。
缺少可视化页面调度器也是一个缺点。虽然页面调度器占用屏幕空间(您会认为我会讨厌这一点),但它们的实用性远远超过它们的大小。剪辑很有帮助,但不如 Enlightenment 或 FVWM2 中的页面调度器那么有用。
最重要的是,我从不在 FVWM2 下图标化任何东西,因此 Window Maker 中的所有这些图标摆弄对我来说有点烦人。我更喜欢可配置的菜单栏,例如 FVWM2 的 GoodStuff,我在其中可以使用非常小的图标(主要用于视觉吸引力),但仍然可以快速访问许多不同的应用程序。
尽管存在缺点,但 Window Maker 在各种环境中都是一个可靠的执行者。它同时支持 KDE 和 GNOME,并具有非常易于使用的图形配置工具。主题的创建和保存非常容易。
Window Maker 的主网站是入门的好地方,但它缺少任何真正的细节。man 页面写得很好,其中包含有关使用了哪些目录以及它们的用途的许多详细信息。您将在 Web 上找到的大多数真正有用的信息都将在用户站点上。
如今,大多数 Linux 发行版中都提供了预编译的 Window Maker。您不必从源代码构建,但这样做相当容易。运行它几乎没有外部要求。这就是 Window Maker 与 E 的不同之处:您可以跳过了解从源代码编译和安装软件的需求,Enlightenment 在其当前状态下依赖于此。
我喜欢 Window Maker,但在它和 Enlightenment 之间,我仍然更喜欢后者。再说一次,我是一位经验丰富的桌面用户。如果您是 Linux 新手,您可能会发现图形化可配置的 Window Maker 更容易学习。两者都提供多桌面、主题界面和基于图形的桌面管理工具。这主要是一个品味问题。
本系列中的最后一篇文章应该是关于 AfterStep 的,AfterStep 是一个与 Window Maker 非常相似的窗口管理器,并且也基于 GNUStep 环境。但是,我可能会选择 blackbox 或 sawmill 代替。两者都非常稳定,并提供了一些我发现有趣的极简主义方面。AfterStep 非常像 Window Maker,我更愿意谈论具有不同设计意图的窗口管理器。如果您想抢先一步,请访问 http://themes.org/。您可以在那里找到所有这些窗口管理器的链接,以及一些关于配置和使用您喜欢的窗口管理器的非常有用的信息。
电子邮件: mjhammel@graphics-muse.org
Michael J. Hammel (mjhammel@graphics-muse.org) 是一位有抱负的图形艺术家、作家和软件开发人员。他漫无目的地在地球上游荡,寻找冒险、安静的海滩和逃离主宰他生活的电脑。