MenuStyle stylename options
设置新的菜单风格或者改变先前定义的菜单风格。stylename是风格名称,如果它包含空格或tab,则应该加上引号。名称“*”预留给默认的菜单风格。默认菜单风格用于那些还没有使用ChangeMenuStyle命令改变风格的菜单类(menu-like)的对象(例如,WindowList命令创建的窗口)。参看DestroyStyle。
options是以逗号分隔的关键词列表,可以包含如下关键词:Fvwm / Mwm / Win, BorderWidth, Foreground, Background, Greyed, HilightBack / !HilightBack, HilightTitleBack, ActiveFore / !ActiveFore, MenuColorset, ActiveColorset, GreyedColorset, TitleColorset, Hilight3DThick / Hilight3DThin / Hilight3DOff, Hilight3DThickness, Animation / !Animation, Font, TitleFont, MenuFace, PopupDelay, PopupOffset, TitleWarp / !TitleWarp, TitleUnderlines0 / TitleUnderlines1 / TitleUnderlines2, SeparatorsLong / SeparatorsShort, TrianglesSolid / TrianglesRelief, PopupImmediately / PopupDelayed, PopdownImmediately / PopdownDelayed, PopupActiveArea, DoubleClickTime, SidePic, SideColor, PopupAsRootMenu / PopupAsSubmenu / PopupIgnore / PopupClose, RemoveSubmenus / HoldSubmenus, SubmenusRight / SubmenusLeft, SelectOnRelease, ItemFormat, VerticalItemSpacing, VerticalTitleSpacing, AutomaticHotkeys / !AutomaticHotkeys, MouseWheel, ScrollOffPage / !ScrollOffPage, TrianglesUseFore / !TrianglesUseFore。
上面的列表里面,以‘/’分隔成组列出的选项之间彼此排斥,加上!前缀的选项表示具有相反的效果。
Fvwm,Mwm,Win重置所有的选项为同名风格。默认为Fvwm风格。除了Foreground, Background, Greyed, HilightBack, ActiveFore 和 PopupDelay,它们能够覆盖所有其它的选项。因此应该将它们作为第一个选项来指定,或者使用它们将风格重置为已定义的形式。通过逐个的设置所有其它的菜单项可以达到同样的效果。
Mwm和Win风格的菜单将自动弹出子菜单。Win风格的菜单使背景色变暗来指出当前菜单项。Fvwm风格的子菜单与父菜单重叠,Mwm和Win风格的菜单从不与父菜单重叠。
Fvwm风格相当于设置!HilightBack, Hilight3DThin, !ActiveFore, !Animation, Font, MenuFace, PopupOffset 0 67, TitleWarp, TitleUnderlines1, SeparatorsShort, TrianglesRelief, PopupDelayed, PopdownDelayed, PopupDelay 150, PopdownDelay 150, PopupAsSubmenu, HoldSubmenus, SubmenusRight, BorderWidth 2, !AutomaticHotkeys, PopupActiveArea 75。
Mwm样式相当于设置!HilightBack, Hilight3DThick, !ActiveFore, !Animation, Font, MenuFace, PopupOffset -3 100, !TitleWarp, TitleUnderlines2, SeparatorsLong, TrianglesRelief, PopupImmediately, PopdownDelayed, PopdownDelay 150, PopupAsSubmenu, HoldSubmenus, SubmenusRight, BorderWidth 2, !AutomaticHotkeys, PopupActiveArea 75。
Win样式相当于设置HilightBack, Hilight3DOff, ActiveFore, !Animation, Font, MenuFace, PopupOffset -5 100, !TitleWarp, TitleUnderlines1, SeparatorsShort, TrianglesSolid, PopupImmediately, PopdownDelayed, PopdownDelay 150, PopupAsSubmenu, RemoveSubmenus, SubmenusRight, BorderWidth 2, !AutomaticHotkeys, PopupActiveArea 75。
BorderWidth表示菜单周围边框的宽度(thickness)。可以是0到50之间的像素值,默认为2。使用非法值时将恢复默认设置。
Foreground和BackGround使用颜色名作为参数,用来显示菜单的文本或背景,可以省略颜色名来恢复默认设置。
Greyed使用颜色名作为参数,指定菜单项被选中时的颜色。应用指定Mwm hints时被禁止。参数省略时表示使用菜单的背景色。
HilightBack和!HilightBack决定菜单项被选中时背景是否高亮。HilightBack使用颜色名作为参数,如果参数省略,则使用菜单的背景色。ActiveColorset选项覆盖这里指定的颜色。
HilightTitleBack决定菜单标题的背景是否高亮。如果TitltColorset被设置,可以作为这里的背景色,否则使用菜单的背景色。
ActiveFore 和!ActiveFore决定菜单项被选中时前景是否高亮。ActiveFore 使用颜色名作为参数,参数为空并且ActiveColorset指定时,打开高亮。ActiveFore完全关闭高亮。ActiveColorset覆盖这里指定的颜色。
MenuColorset决定一个colorset是否被用来代替Foreground,Background和MenuFace。MenuColorset后面跟随一个大于等于0的数字,表示使用之前定义的哪个colorset。如果数字省略,则colorset被关闭,将再次使用普通的菜单风格。菜单项的前景色和背景色被colorset中定义的颜色所取代,如果colorset以pixmap定义,这个pixmap将被用作菜单的背景。注意,MenuFace已经为内存消耗进行过优化,消耗的内存比从colorset获得背景少的多。细节请参COLORSETS部分。
ActiveColorset类似MenuColorset。
GreyedColorset类似MenuColorset。
TitleColorset类似MenuColorset,只是仅用于菜单标题。
Hilight3DThick, Hilight3DThin 和 Hilight3DOff决定菜单项被选中时是否使用3D效果高亮。
Hilight3DThickness以-50到+50之间的像素值为参数。前面的三个命令分别相当于thickness为2,1,和0。
Animation 和 !Animation打开和关闭菜单动画。
Font 和 TitleFont以字体名为参数。如果这里指定的字体存在,则它将应用于所有菜单项的文本。如果不存在则使用默认字体。如果指定了TitleFont,则所有菜单的标题都将使用它。
MenuFace选项将在菜单上产生fancy的背景。
比如:
MenuFace DGradient 128 2 lightgrey 50 blue 50 \
white
MenuFace TiledPixmap texture10.xpm
MenuFace HGradient 128 2 Red 40 Maroon 60 \
White
MenuFace Solid Maroon
PopupDelay 需要一个数字参数。这个数字表示当指针移动到包含子菜单的菜单项上面时,子菜单弹出前的延迟时间。如果值为0,则不自动弹出。如果值为空,将使用默认值。如果PopupImmediately选项被使用,则这个延迟时间将无效。
PopupImmediately
PopdownDelay类似PopuuDelay,不过指定的是PopupDelayed风格的超时时间。
PopdownImmediately
PopupOffset 使用两个正整数作为参数。指定子菜单相对于父菜单的位置。如果都为0,子菜单的左边和父菜单的左边重叠。如果第一个值非0,表示子菜单的左边相对于父菜单的左边向右偏离了多少像素(如果为负则向左偏离)。如果第二个值非0,表示子菜单向右或向左偏离父菜单宽度的百分比。
PopupActiveArea 带一个51到100之间的正整数作为参数。
TitleWarp 和 !TitleWarp
TitleUnderlines0, TitleUnderlines1 和TitleUnderlines2指定菜单标题下有多少行。
SeparatorsLong 和SeparatorsShort设置菜单分隔符的长度。
TrianglesSolid 和TrianglesRelief将影响指示子菜单的小三角形如何显示。
DoubleClickTime 使用数字作为参数,表示在菜单项上单击两次之间间隔多久将被当作双击。默认450毫秒,空参数恢复默认设置。
SidePic 后跟图像文件名。
SideColor
PopupAsRootMenu, PopupAsSubmenu, PopupIgnore 和PopupClose
RemoveSubmenus
SelectOnRelease
ItemFormat
VerticalItemSpacing 和VerticalTitleSpacing
SubmenusLeft
AutomaticHotkeys 和 !AutomaticHotkeys
MouseWheel
ScrollOffPage
TrianglesUseFore