COMMANDS AFFECTING WINDOW MOVEMENT AND PLACEMENT
AnimatedMove x y [Warp]
在移动窗口时添加动画效果。和下面的Move命令有点类似。它们有相同的选项,但是这个命令并不是必须的,因为在移动窗口时添加交互和动画效果并没什么意义。参数Warp指定时,指针被wrap到窗口里。
HideGeometryWindow [Never | Move | Resize]
移动或缩放窗口时,隐藏显示的位置和尺寸窗口。Never参数表示不隐藏。
Layer [arg1 arg2] | [default]
把当前窗口放到一个新的层里。如果arg1非0,新的层是当前层加上arg1。如果arg1为0,新的层是arg2。
default把窗口放在它的默认层里,例如,它初始化时所在的层。这也适用于没有参数或参数无效时。
Lower
仅在窗口所在的层里降低窗口。为了使窗口处于最底层的最下面,可以使用:
AddToFunc lower-to-bottom
+ I Layer 0 0
+ I Lower
Move [[screen screen]
[w|m]x[p] [w|m]y[p] [Warp]] | [pointer]
移动窗口。如果在根窗口上调用这个命令,用户需要指定目标窗口。
screen表示屏幕号,它的坐标是相对于指定屏幕的坐标。screen和MoveToScreen命令里描述的一样。参数Warp指定时,指针被wrap到窗口里。指定pointer时,窗口的左上角在开始操作前被移动到指针的位置。
这个操作可以被Escape键或其它鼠标按键终止。默认鼠标按键2取消移动操作。你可以使用Mouse命令和上下文‘P’一起改变这个设置。
窗口条件PlacedByButton可以用来检查特定按键是否按下来放置窗口。(参看Current命令)
如果指定了x和y,则不再需要和用户交互,窗口将立即移动。每个参数可以指定一个绝对或相对位置。默认地,x和y表示屏幕宽/高的百分比,后缀‘p’时表示像素值,前缀‘w’时表示相对于它的当前位置移动。前缀‘m’表示相对于当前指针的位置移动。
下面是几个简单的例子:
# Interactive move
Mouse 1 T A Move
# Move window to top left is at (10%,10%)
Mouse 2 T A Move 10 10
# Move top left to (10pixels,10pixels)
Mouse 3 T A Move 10p 10p
更复杂一些的例子:
# Move window so bottom right is at bottom
# right of screen
Move -0 -0
# Move window so top left corner is 10 pixels
# off the top left screen edge
Move +-10 +-10
# Move window 5% to the right, and to the
# middle vertically
Move w+5 50
# Move window up 10 pixels, and so left edge
# is at x=40 pixels
Move 40p w-10p
# Move window to the mouse pointer location
Move m+0 m+0
MoveToDesk [prev | arg1 [arg2] [min max]]
移动窗口到另一个桌面(desktop)。参数和命令GotoDesk的参数相同。不使用任何参数时,窗口移动到当前桌面。MoveToDesk命令取代了旧的WindowDesk命令。
MoveThreshold [pixels]
当用户在一个对象上按下鼠标按键时,fvwm会等待并判断是一个单击操作还是一个拖拉操作。如果鼠标移动距离大于pixels像素,将被当作拖拉操作。
pixels默认为3,如果为负或为空,采用默认值。
MoveToPage [options] [x[p|w] y[p|w]] | [prev]
将窗口移动到page(x,y)。x和y表示X轴和Y轴上page的位置坐标,左上角的page坐标为(0,0),右上角的page坐标为(M,0),M值为DeskTopSize命令指定的水平page数目减去1。类似,左下角page坐标为(0,N),右下角page坐标为(M,N)。负的x值/y值表示相对于最有边/最下边的值。x和y没有指定时,窗口移动到当前page(一个拥有焦点,但是在屏幕外(off-screen)的窗口可以通过这种方式找回)。后缀‘p’时将窗口移动到相对于当前页的page,后缀‘w’时表示相对当前位置移动窗口,单独的参数prev移动窗口到前一页。
通常不能移动窗口超出桌面边界限制。
选项options可能是wrapx和wrapy,适用于移动窗口时超出桌面边界的情况。比如,使用wrapx时,如果窗口超出了桌面边界,则会从桌面左边界重新算起。选项nodesklimitx和nodesklimity允许移动窗口到桌面之外。
例子:
# Move window to page (2,3)
MoveToPage 2 3
# Move window to lowest and rightmost page
MoveToPage -1 -1
# Move window to last page visited
MoveToPage prev
# Move window two pages to the right and one
# page up, wrap at desk boundaries
MoveToPage wrapx wrapy +2p -1p
MoveToScreen [screen]
移动窗口到另一个Xinerama屏幕上。screen参数为‘p’时表示第一个屏幕(primary screen),‘c’表示当前屏幕(包含鼠标指针),‘g’表示全局屏幕,或屏幕号(从0开始计数)。
OpaqueMoveSize [percentage]
PlaceAgain [Anim] [Icon]
Raise
仅在窗口所在的层提升窗口。为了使窗口处于最顶层的最上边,可以使用
AddToFunc raise-to-top
+ I Layer 0 ontop
+ I Raise
上面的ontop是使用的最高层。
RaiseLower
提升或降低窗口。如果窗口被其它窗口覆盖,将会提升它,否则会降低它。
Resize [[frame] [direction dir [warptoborder]] [fixeddirection] [w]width[p|c] [w]height[p|c]] | [bottomright | br x y]
ResizeMaximize [resize-arguments]
合并了Resize和Maximize两个命令的作用。resize-arguments和Reise命令的参数一样。
ResizeMove resize-arguments move-arguments
ResizeMoveMaximize resize-arguments move-arguments
RestackTransients
SetAnimation milliseconds-delay [fractions-to-move-list]
SnapAttraction [proximity [behavior] [Screen]]
SnapGrid [x-grid-size y-grid-size]
WindowsDesk arg1 [arg2]
已经废除,必须使用MoveToDesk代替,注意,它们的语法已经改变,不能仅仅简单的替换命令名称。
XorPixmap [pixmap]
XorValue [number]