跳转至内容

X11/窗口管理器/twm 指南

来自维基教科书,开放的书籍,为开放的世界

标签式窗口管理器

[编辑 | 编辑源代码]

标签式窗口管理器是一个可配置的重新定位窗口管理器,它提供标题栏、形状窗口和图标管理。

标签式窗口管理器由 Tom LaStrange 开发,是 X 窗口系统的传统窗口管理器。它最初被称为 Tom 的窗口管理器,但后来被 X 协会更名为标签式窗口管理器,该协会接管了其维护工作。

标签式窗口管理器在很大程度上已被其他窗口管理器取代,并且不再维护。尽管已经过时,但它对 X 窗口管理器的开发产生了重大影响,其源代码经常用作其他窗口管理器的基础。

标签式窗口管理器用作参考实现,许多窗口管理器,例如 swmvtwmtvtwmctwmfvwm,以及各种衍生产品,都是基于标签式窗口管理器的代码构建的。

twm 的特点

[编辑 | 编辑源代码]
  • 堆叠式窗口管理器
  • 用 C 语言编写
  • 直接使用 xlib
  • 开源且免费提供
  • 没有 菜单栏:应用程序菜单可以通过单击窗口背景并按住鼠标按钮来访问。
  • 轻量级 - 依赖项很少

占用空间小

[编辑 | 编辑源代码]

一些用户仍然使用标签式窗口管理器,因为它简单、可定制,占用空间小,对系统资源的占用量也很小。标签式窗口管理器是用 C 语言直接针对 xlib 编写的,而不是使用 X 工具包.

使用 twm

[编辑 | 编辑源代码]

首次启动 twm 时,用户可能只会看到一个带有灰度图案的空屏幕。一些发行版在后台启动了一个 xshell 或一个实际的终端程序,这意味着这两个程序都将在 X 和 twm(或其他一些窗口管理器)启动时运行。

程序和窗口操作的菜单通过使用主指针按钮或中间指针按钮单击桌面,按住按钮并拖动通过菜单及其子菜单直到选择所需的程序或功能来实现——用户然后松开指针按钮,以便选择操作。

主菜单可以通过使用主指针按钮(通常是鼠标左键)访问。此菜单的第一项是操作系统子菜单,其中列出了所有按类别子菜单排列的应用程序。接下来的两个命令显示和隐藏图标管理器,这是一个类 UNIX 任务栏的前身(twm 开发于 1987 年)。图标管理器按运行顺序列出程序窗口,并允许提高或最小化所述窗口。

窗口操作菜单可以通过使用中间指针按钮单击桌面来调用。在那里,用户必须选择一个窗口操作功能,然后单击所需的窗口或其标题。

在哪里以及如何单击第三个指针按钮

滚轮鼠标通常有一个单独的可单击滚轮;如果触控板只有两个按钮,那么中间按钮可以在两个按钮中间的交汇处。如果有两个按钮,X 允许通过让左键和右键同时单击来“模拟”中间指针按钮(取决于指向设备的 X 配置)。如果你的指向设备的功能差异很大,请查阅其文档。

启动应用程序

[编辑 | 编辑源代码]

调用程序时,twm 会为程序的窗口显示一个骨架十字准星。十字准星网格跟随指针移动,用户必须使用指针选择一个理想的窗口位置,并单击指针按钮以使窗口内容呈现出来。这是 twm 的标准行为。

为了避免启动某些程序时必须移动指针并单击其按钮以设置位置,用户可以手动 设置程序的窗口几何形状。已观察到这在 Mozilla Firefox 和 Wine 中不起作用。

注意事项

[编辑 | 编辑源代码]

默认情况下,twm 的经典实现省略了窗口标题栏中的窗口关闭按钮,这迫使用户学习如何在 twm 中关闭应用程序。这是遵循围绕 X 的哲学,即程序的视觉工具包选择不受底层图形框架的限制。

要添加一个窗口关闭按钮,请参见下文。

有关配置 twm 的许多有用信息可以在 twm 的手册页中找到。本节重点介绍一些重要的实际问题。

twm 的配置文件,取决于其位置,名为或后缀为 .twmrc,并位于两个位置。

全局配置文件为 system.twmrc,如果本地文件不存在,twm 可能会使用它。system.twmrc 可以位于 /etc/X11/twm(如果是 XFree86),也可以位于 /usr/share/X11/twm。全局文件还包含系统创建的应用程序和程序的菜单挂钩。一般来说,system.twmrc 不应该编辑。

本地配置文件为 .twmrc,位于用户的 home 目录(位于 /home/username/)。首次启动 twm 时,本地配置文件可能不存在。本地配置文件一旦位于用户的 home 目录,就不能为空,因为 twm 仅会引用它,因此将通过缺少适当的菜单来反映配置文件的空状态。

一个半解决方法是将全局文件复制到用户的 home 目录,并将其重命名为 .twmrc——这也会提供应用程序菜单挂钩,但在安装了新程序后,本地菜单文件不会更新,用户必须自己添加命令来访问新安装的应用程序。由于全局菜单文件 menudefs.hook 在安装新软件包后仍会由系统更新,因此用户可以将新应用程序的命令从那里复制到自己的 .twmrc 文件中。

在 twm 中关闭程序窗口

[编辑 | 编辑源代码]

默认情况下,twm 中没有窗口关闭按钮。用户可以选择以下操作之一

指定一个未使用的鼠标按钮,通过单击窗口标题栏来关闭窗口
Button3 = : title : f.delete

鼠标按钮的顺序如下:左键是 Button1,中键是 Button2,右键是 Button3,默认情况下,在单击窗口标题栏时,右键不会被分配任何操作。: title : 指定在单击标题栏时应用的函数。f.delete 可以关闭程序的辅助窗口或向应用程序发送非强制退出信号。

在窗口的标题栏中添加一个关闭按钮
带有关闭按钮的 twm 窗口
RightTitleButton "xlogo11" = f.delete

这会在标题栏的右侧添加 X 标志;在屏幕截图中可以看到一个例子。

xlogo11 是位于 XFree86 的 /usr/X11R6/include/X11/bitmaps 中的位图文件——这是 twm 搜索位图的默认位置。上面的 bitmaps 目录包含数十个其他位图,用户可以在配置 twm 时使用。

twm 在锤子尺度上的位置在哪里?

[编辑 | 编辑源代码]

依赖项

[编辑 | 编辑源代码]

twm 依赖于以下 xlib 库

  • libx11-6
  • libxext6

使用的资源

[编辑 | 编辑源代码]
VIRT   RES     SHR     %CPU    %MEM
3544   1808    1324    1.3     0.5
华夏公益教科书