「FVWM」 – 控制窗口状态

  CREATED BY JENKINSBOT

本文介绍的命令用于控制窗口的状态。

Close

如果窗口接受删除窗口协议,则会向窗口发送一条消息,要求它正常删除自身。如果窗口不理解删除窗口协议,那么窗口将像Destroy命令一样被销毁。

注意:如果窗口接受删除窗口协议,但没有自行关闭,则不会删除该窗口。

Destroy

销毁应用程序窗口,通常会导致应用程序崩溃。

Delete

向窗口发送消息,要求它自行删除,经常导致应用程序退出。

Iconify [bool]

如果窗口尚未图标化,则将其标记为图标化;如果窗口已经图标化,则将其取消标记。可选参数bool是一个布尔参数。“True”表示只允许图标化,而“False”表示禁止图标化。使用“toggle”在图标化和非图标化状态之间切换。

有许多样式选项会影响图标的外观和行为(例如StickyIcon,NoIcon)。

为了向后兼容,可选参数bool也可以是表示“True”的正数,或者是表示“False”的负数。 请注意,此语法已过时,将来将被删除。

Maximize [flags] [bool|forget] [horizontal[p]] [vertical[p]]

Without its optional arguments (or if the bool bit has the value “toggle”) Maximize causes the window to alternately switch from a full-screen size to its normal size. To force a window into maximized (normal) state you can use a “True” or “False” value for the bool argument.

With just the parameter “forget” a maximized window reverts back into normal state but keeps its current maximized size. This can be useful in conjunction with the commands ResizeMaximize and ResizeMoveMaximize. If the window is not maximized, nothing happens.

With the optional arguments horizontal and vertical, which are expressed as percentage of a full screen, the user can control the new size of the window. An optional suffix ‘p’ can be used to indicate pixels instead of percents of the screen size. If horizontal is greater than 0 then the horizontal dimension of the window is set to horizontal*screen_width/100. If the value is smaller than 0 the size is subtracted from the screen width, i.e. -25 is the same as 75. If horizontal is “grow”, it is maximized to curren available space until finding any obstacle. The vertical resizing is similar. If both horizontal and vertical values are “grow”, it expands vertically first, then horizontally to find space. Instead of the horizontal “grow” argument, “growleft” or “growright” can be used respectively “growup” and “growdown”. The optional flags argument is a space separated list containing the following key words: ewmhiwa, growonwindowlayer, growonlayers and screen. ewmhiwa causes fvwm to ignore the EWMH working area. growonwindowlayer causes the various grow methods to ignore windows with a layer other than the current layer of the window which is maximized. The growonlayers option must have two integer arguments. The first one is the minimum layer and the second one the maximum layer to use. Windows that are outside of this range of layers are ignored by the grow methods. A negative value as the first or second argument means to assume no minimum or maximum layer. screen must have an argument which specifies the Xinerama screen on which to operate. It can be ‘p’ for the primary screen, ‘c’ for the current screen (containing the mouse pointer), ‘g’ for the global screen or the screen number itself (counting from zero). This option is only useful with multiple Xinerama screens.

Here are some examples. The following adds a title-bar button to switch a window to the full vertical size of the screen:

Mouse 0 4 A Maximize 0 100

The following causes windows to be stretched to the full width:

Mouse 0 4 A Maximize 100 0

This makes a window that is half the screen size in each direction:

Mouse 0 4 A Maximize 50 50

To expand a window horizontally until any other window is found:

Mouse 0 4 A Maximize 0 grow

To expand a window until any other window on the same or a higher layer is hit.

Mouse 0 4 A Maximize growonlayers $[w.layer] -1 grow grow

To expand a window but leave the lower 60 pixels of the screen unoccupied:

Mouse 0 4 A Maximize 100 -60p

Values larger than 100 can be used with caution.

Refresh

导致屏幕上的所有窗口重绘自己。所有窗口样式和外观的所有待定更新都会立即应用。例如,如果在fvwm函数内发出的Style或TitleStyle命令。

RefreshWindow

使所选窗口重绘自身。窗口的样式和外观的所有待定更新都会立即应用。 例如。 如果在fvwm函数内发出的Style或TitleStyle命令。

Stick [bool]

如果bool参数为空或“toggle”时,则Stick命令会使窗口粘性(如果它尚未粘滞);或者如果粘性已粘,则为非粘性。

要使窗口粘滞而不管其当前状态如何,bool参数必须为“True”。 要使其不粘,请使用“False”。

StickAcrossPages [bool]

像Stick一样工作,但只能跨越页面,而不是跨越桌面。

StickAcrossDesks [bool]

像Stick一样工作,但只能跨越桌面,而不是跨越页面。

WindowShade [bool] | [[ShadeAgain]direction]

Toggles the window shade feature for titled windows. Windows in the shaded state only display a title-bar. If bool is not given or “toggle”, the window shade state is toggled. If bool is “True”, the window is forced to the shaded state. If bool is “False”, then the window is forced to the non-shaded state. To force shading in a certain direction, the direction argument can be used. Any of the strings “North”, “South”, “West”, “East”, “NorthWest”, “NorthEast”, “SouthWest”, “SouthEast” or “Last” can be given. The direction can be abbreviated with the usual one or two letters “N”, “NW”, etc. Using a direction on a window that was already shaded unshades the window. To shade it in a different direction, use the ShadeAgain option. The direction Last shades the window in the direction it last was shaded. If the window has never been shaded before it is shaded as if no direction had been given. Windows without titles can be shaded too. Please refer also to the options WindowShadeSteps, WindowShadeShrinks, WindowShadeScrolls, WindowShadeLazy, WindowShadeAlwaysLazy and WindowShadeBusy options of the Style command. Examples:

Style * WindowShadeShrinks, WindowShadeSteps 20, \
WindowShadeLazy
Mouse 1 – S WindowShade North

Mouse 1 [ S WindowShade West

Mouse 1 ] S WindowShade E

Mouse 1 _ S WindowShade S

Note: When a window that has been shaded with a direction argument changes the direction of the window title (see TitleAtTop Style option), the shading direction does not change. This may look very strange. Windows that were shaded without a direction argument stay shaded in the direction of the title bar.

For backward compatibility, the optional argument may also be 1 to signify “on”, and 2 to signify “off”. Note that this syntax is obsolete, and will be removed in the future.

WindowShadeAnimate [steps[p]]

此命令已过时。 请改用Style命令的WindowShadeSteps选项。

Recapture

导致fvwm重新获得所有窗口。 这可确保使用最新的样式参数。 重新捕获操作在视觉上令人不安。

自fvwm版本2.4,只有很少的Style选项需要执行Recapture才能生效(例如UseStyle)。此命令已过时,不应再使用。如果您想要做的一些事情只有通过该命令才可以完成,请将此报告给fvwm-workers邮件列表<fvwm-workers@fvwm.org>。此命令可能在将来的某个时候被删除。请阅读「Delayed Execution of Commands」一节末尾的注释,了解如何避免Recapture命令。

RecaptureWindow

使fvwm重新捕获所选窗口。

此命令已过时,不应再使用。 请参阅重新捕获详细信息。

参考文献

Fvwm Manual/Window State