THE STYLE COMMAND (CONTROLLING WINDOW STYLES)
FocusStyle stylename options
工作方式类似Style命令,但仅接受与以“FP”为前缀的风格相关的焦点策略。“FP”前缀可以省略,但要付出少量时间的代价。FocusStyle可以增加配置文件的可读性。例如:
FocusStyle * EnterToFocus, !LeaveToUnfocus
相当于
Style * FPEnterToFocus, !FPLeaveToUnfocus
DestroyStyle style
删除风格style,改变立即生效。注意,style不是一个wild-carded搜索字符串,而是一个exactly match the original Style command 的case-sensitive字符串。
销毁风格“*”是可以的,但并不推荐这么做。例如:
DestroyStyle Application*
将删除名为“Application*”的风格的所有设置,而不是以“Application”开头的所有风格。
DestroyWindowStyle
删除WindowStyle命令在所选择的窗口上指定的风格,改变立即生效。
UpdateStyles
所有窗口待处理的styles和looks请求立即生效。
Style stylename options ...
Style命令取代了fvwm旧版本里的全局命令NoBorder, NoTitle, StartsOnDesk, Sticky, StaysOnTop, Icon, WindowListSkip, CirculateSkip, SuppressIcons, BoundaryWidth, NoBoundaryWidth, StdForeColor, and StdBackColor。它用来设置窗口的属性,和设置窗口管理器的默认风格。
stylename可以是窗口的名称,class,或resource string,可以包含‘*’和‘?’通配符。可以在单个Style命令里包含多个options,它们从左到右依次读取,好像在使用多个单一的Style命令进行定义。如果新定义的风格与之前定义的有所冲突,则覆盖先前的定义。
options是一个逗号分隔的包含下面关键词中的一个或更多个的列表。每一组使用'/'间隔,其中的最后一个为默认。BorderWidth, HandleWidth, !Icon / Icon, MiniIcon, IconBox, IconGrid, IconFill, IconSize, !Title / Title, TitleAtBottom / TitleAtLeft / TitleAtRight / TitleAtTop, LeftTitleRotatedCW / LeftTitleRotatedCCW, RightTitleRotatedCCW / RightTitleRotatedCW, TopTitleRotated / TopTitleNotRotated, BottomTitleRotated / BottomTitleNotRotated, !UseTitleDecorRotation / UseTitleDecorRotation, StippledTitle / !StippledTitle, StippledIconTitle / !StippledIconTitle, IndexedWindowName / ExactWindowName, IndexedIconName / ExactIconName, !Borders / Borders, !Handles / Handles, WindowListSkip / WindowListHit, CirculateSkip / CirculateHit, CirculateSkipShaded / CirculateHitShaded, CirculateSkipIcon / CirculateHitIcon, Layer, StaysOnTop / StaysOnBottom / StaysPut, Sticky / Slippery, StickyAcrossPages / !StickyAcrossPages, StickyAcrossDesks / !StickyAcrossDesks, !StickyStippledTitle / StickyStippledTitle, !StickyStippledIconTitle / StickyStippledIconTitle, StartIconic / StartNormal, Color, ForeColor, BackColor, Colorset, HilightFore, HilightBack, HilightColorset, BorderColorset, HilightBorderColorset, IconTitleColorset, HilightIconTitleColorset, IconBackgroundColorset, IconTitleRelief, IconBackgroundRelief, IconBackgroundPadding, Font, IconFont, StartsOnDesk / StartsOnPage / StartsAnyWhere, StartsOnScreen, ManualPlacementHonorsStartsOnPage / ManualPlacementIgnoresStartsOnPage, CaptureHonorsStartsOnPage / CaptureIgnoresStartsOnPage, RecaptureHonorsStartsOnPage / RecaptureIgnoresStartsOnPage, StartsOnPageIncludesTransients / StartsOnPageIgnoresTransients, IconTitle / !IconTitle, MwmButtons / FvwmButtons, MwmBorder / FvwmBorder, MwmDecor / !DecorHint, MwmFunctions / !FuncHint, HintOverride / !Override, !Button / Button, ResizeHintOverride / !ResizeHintOverride, OLDecor / !OLDecor, GNOMEUseHints / GNOMEIgnoreHints, StickyIcon / SlipperyIcon, StickyAcrossPagesIcon / !StickyAcrossPagesIcon, StickyAcrossDesksIcon / !StickyAcrossDesksIcon, ManualPlacement / CascadePlacement / MinOverlapPlacement / MinOverlapPercentPlacement / TileManualPlacement / TileCascadePlacement / CenterPlacement / UnderMousePlacement, MinOverlapPlacementPenalties, MinOverlapPercentPlacementPenalties, DecorateTransient / NakedTransient, DontRaiseTransient / RaiseTransient, DontLowerTransient / LowerTransient, DontStackTransientParent / StackTransientParent, SkipMapping / ShowMapping, ScatterWindowGroups / KeepWindowGroupsOnDesk, UseDecor, UseStyle, !UsePPosition / NoPPosition / UsePPosition, !UseUSPosition / NoUSPosition / UseUSPosition, !UseTransientPPosition / NoTransientPPosition / UseTransientPPosition, !UseTransientUSPosition / NoTransientUSPosition / UseTransientUSPosition, !UseIconPosition / NoIconPosition / UseIconPosition, Lenience / !Lenience, ClickToFocus / SloppyFocus / MouseFocus|FocusFollowsMouse / NeverFocus, ClickToFocusPassesClickOff / ClickToFocusPassesClick, ClickToFocusRaisesOff / ClickToFocusRaises, MouseFocusClickRaises / MouseFocusClickRaisesOff, GrabFocus / GrabFocusOff, GrabFocusTransientOff / GrabFocusTransient, FPFocusClickButtons, FPFocusClickModifiers, !FPSortWindowlistByFocus / FPSortWindowlistByFocus, FPClickRaisesFocused / !FPClickRaisesFocused, FPClickDecorRaisesFocused / !FPClickDecorRaisesFocused, FPClickIconRaisesFocused / !FPClickIconRaisesFocused, !FPClickRaisesUnfocused / FPClickRaisesUnfocused, FPClickDecorRaisesUnfocused / !FPClickDecorRaisesUnfocused, FPClickIconRaisesUnfocused / !FPClickIconRaisesUnfocused, FPClickToFocus / !FPClickToFocus, FPClickDecorToFocus / !FPClickDecorToFocus, FPClickIconToFocus / !FPClickIconToFocus, !FPEnterToFocus / FPEnterToFocus, !FPLeaveToUnfocus / FPLeaveToUnfocus, !FPFocusByProgram / FPFocusByProgram, !FPFocusByFunction / FPFocusByFunction, FPFocusByFunctionWarpPointer / !FPFocusByFunctionWarpPointer, FPLenient / !FPLenient, !FPPassFocusClick / FPPassFocusClick, !FPPassRaiseClick / FPPassRaiseClick, FPIgnoreFocusClickMotion / !FPIgnoreFocusClickMotion, FPIgnoreRaiseClickMotion / !FPIgnoreRaiseClickMotion, !FPAllowFocusClickFunction / FPAllowFocusClickFunction, !FPAllowRaiseClickFunction / FPAllowRaiseClickFunction, FPGrabFocus / !FPGrabFocus, !FPGrabFocusTransient / FPGrabFocusTransient, FPOverrideGrabFocus / !FPOverrideGrabFocus, FPReleaseFocus / !FPReleaseFocus, !FPReleaseFocusTransient / FPReleaseFocusTransient, FPOverrideReleaseFocus / !FPOverrideReleaseFocus, StartsLowered / StartsRaised, IgnoreRestack / AllowRestack, FixedPosition / VariablePosition, FixedUSPosition / VariableUSPosition, FixedPPosition / VariablePPosition, FixedSize / VariableSize, FixedUSSize / VariableUSSize, FixedPSize / VariablePSize, !Closable / Closable, !Iconifiable / Iconifiable, !Maximizable / Maximizable, !AllowMaximizeFixedSize / AllowMaximizeFixedSize, IconOverride / NoIconOverride / NoActiveIconOverride, DepressableBorder / FirmBorder, MaxWindowSize, IconifyWindowGroups / IconifyWindowGroupsOff, ResizeOpaque / ResizeOutline, BackingStore / BackingStoreOff / BackingStoreWindowDefault, Opacity / ParentalRelativity, SaveUnder / SaveUnderOff, WindowShadeShrinks / WindowShadeScrolls, WindowShadeSteps, WindowShadeAlwaysLazy / WindowShadeBusy / WindowShadeLazy, EWMHDonateIcon / EWMHDontDonateIcon, EWMHDonateMiniIcon / EWMHDontDonateMiniIcon, EWMHMiniIconOverride / EWMHNoMiniIconOverride, EWMHUseStackingOrderHints / EWMHIgnoreStackingOrderHints, EWMHIgnoreStateHints / EWMHUseStateHints, EWMHIgnoreStrutHints / EWMHUseStrutHints, EWMHIgnoreWindowType / !EWMHIgnoreWindowType, EWMHMaximizeIgnoreWorkingArea / EWMHMaximizeUseWorkingArea / EWMHMaximizeUseDynamicWorkingArea, EWMHPlacementIgnoreWorkingArea / EWMHPlacementUseWorkingArea / EWMHPlacementUseDynamicWorkingArea, MoveByProgramMethod, Unmanaged, State。
Focus policy
ClickToFocus 表示单击窗口时,窗口获得焦点。MouseFocus (别名为FocusFollowsMouse)表示指针进入窗口时,窗口获得焦点,当指针离开窗口时,窗口失去焦点。SloppyFocus 类似,但当指针离开窗口进入根窗口,或者进入一个ClickToFocus窗口时(除非单击它),原来得窗口并不会失去焦点。NeverFocus 风格得窗口从不获得焦点,常用于FvwmButton这样得模块。
上面得焦点模型可以被几个额外得选项扩展,在2.5.3之后得版本里,有很多以“FP”或“!FP”开始得选项,这些选项将在某一天取代旧得选项。但是使用它们将会限制向后得兼容性。通常来说,以“FP”开始得选项打开一个特点,以“!FP”开始得选项表示关闭一个特点。
聚焦窗口(Focusing the window)
FPEnterToFocus,指针进入窗口时,该窗口收到焦点。
FPLeaveToUnfocus,指针离开窗口时,该窗口失去焦点。
FPClickToFocus, FPClickDecorToFocus 或 FPClickIconToFocus,单击窗口内部、修饰、图标时,该窗口收到焦点。
FPFocusByProgram,允许窗口自己获取焦点。
!FPFocusByFunction,禁止窗口通过Focus和FlipFocus命令获得焦点。
FPFocusByFunctionWarpPointer,使用Focus命令时,指针是否wrap到被选择得窗口。
FPLenient,允许聚焦一个不希望获得焦点得窗口。比如FvwmPager 或 xclock。
FPFocusClickButtons,
FPFocusClickModifiers,
FPPassFocusClick,
FPAllowFocusClickFunction,
FPIgnoreFocusClickMotion,
FPSortWindowlistByFocus 和 !FPSortWindowlistByFocus,
单击提升窗口(Clicking the window to raise)
FPClickRaisesFocused, FPClickDecorRaisesFocused 和 FPClickIconRaisesFocused,
FPClickRaisesUnfocused, FPClickDecorRaisesUnfocused 和 FPClickIconRaisesUnfocused,
FPPassRaiseClick,
FPAllowRaiseClickFunction,
FPIgnoreRaiseClickMotion,
新窗口创建时获取焦点(Grabbing the focus when a new window is created)
FPGrabFocus 或 FPGrabFocusTransient,
OverrideGrabFocus,
FPReleaseFocus, FPReleaseFocusTransient 和 FPOverrideReleaseFocus,
ClickToFocusPassesClickOff 和 ClickToFocusPassesClick,
ClickToFocusRaisesOff/MouseFocusClickRaisesOff 和 ClickToFocusRaises/MouseFocusClickRaises,