在FVWM中,为用户提供了「虚拟桌面」的功能。
什么是「虚拟桌面」?
「屏幕」是在一个「桌面」上的一个视口,「桌面」可能大于「屏幕」。
可以访问多个不同的「桌面」(概念:当「视图」应用程序不同时,每个项目一个「桌面」,或每个应用程序一个「桌面」)。
由于每个「桌面」可以大于物理显示器,每个桌面被分为「m*n」个「页」,每个「页」的大小等于物理屏幕的大小,可以轻松查看大于屏幕的窗口或一大组相关窗口。
「虚拟桌面」的大小?
虚拟桌面的大小(m*n,「页」个数)可以使用DesktopSize命令控制。所以的虚拟桌面的大小必须相同。
不同桌面的总数不需要指定,但总数约为40亿。
可以在「FvwmPager」中查看各种「桌面」上的所有「窗口」,「FvwmPager」是「桌面」的微缩视图。「FvwmPager」是一个称为模块的附件程序,对于「窗口管理器」来说,它不是必需的。
可以在窗口列表中列出窗口(连同它们的「几何形状」),可以作为弹出菜单访问,也可以作为单独的窗口列出,称为「FvwmWinList」(另一个模块)。
窗口的层级
在FVWM中,以分层堆叠顺序将桌面保持在桌面上;较低层中的窗口永远不会遮挡较高层中的窗口。
可以使用Layer指令更改窗口的「层」。「层」的概念是旧版FVWM的StaysOnTop标志的概括。在Style选项中的StaysOnTop和StaysPut现在通过将窗口放在合适的图层中来实现,并且添加了之前缺少的StaysOnBottom选项。
粘贴性窗口
“粘贴(Sticky)窗口”是通过“粘在屏幕玻璃”上而越出「虚拟桌面」的窗户。他们总是留在屏幕上。使用诸如xclock和xbiff之类的东西很方便,所以你只需要运行一个这样的小工具,它总是显示在屏幕上。如果需要,也可以使「图标」粘在屏幕上。
窗口图形和窗口位置
# 控制窗口几何和位置
@@@ 「窗口几何」是相对于当前视口指定的。例如:
在屏幕的可见部分的左上角创建一个窗口。
@@@ 允许指定一种「窗口几何」来将窗口放置在虚拟桌面上,但不在当前可见的屏幕区域上。例如,如果可见屏幕为1000x1000像素,桌面大小为3x3,并且当前视口位于桌面的左上角,则调用:
将一个窗口放在屏幕右下角,可以通过将鼠标移动到屏幕的右下角并等待它滚动到视图中来找到它。
@@@ 「窗口几何」指定为:
将窗口的右下角放置在距“屏幕可见部分”右下角5个像素处。并非所有应用程序都支持负偏移的「窗口几何」。 某些应用程序将窗口的右上角放在屏幕左上角的左上角5个像素处;其他的可能只做一些奇怪的事情。
# 将窗口放到特定的页面上
有几种方法可以使窗口映射到除当前活动窗口之外的「桌面」或「页」上。 然而,上面提到的几何技术(指定大于物理屏幕大小的x,y坐标)受到“相对于当前视口的解释”的限制:窗口可能不会始终出现在特定页面上,除非您始终从同一页面来调用应用。
将窗口放在当前映射视口的不同页面、屏幕、桌面上的更好方法是在配置文件中使用Style的StartsOnPage或StartsOnScreen选项(较旧的StartsOnDesk样式的后续版本)。 展示位置是一致的:它不依赖于你当前所在虚拟桌面上的位置。
@@@ 某些了解标准「Xt命令行参数」和「X资源」的应用程序(如xterm和xfontsel)允许用户在命令行上指定启动「桌面」或「页」:
在第一个桌面上启动xterm应用。
@@@ 在三个桌面的左上角开始向右两个页面并向下一个上启动xterm应用:
然而,并非所有应用程序都能理解这些选项的使用。可以配置.Xdefaults文件获得相同的结果:
或者
来实现相同的效果。