BBS水木清华站∶精华区
发信人: pixel.bbs@inf.cis.thu.edu.tw (), 看板: Linux 
标  题: Fvwm95之简介 
发信站: 资讯传奇 (Thu Dec 19 02:04:26 1996) 
转信站: sobee!netnews.ntu!linux2.tpml!UUserv.Net.tw!aidebbs!spring!news.cc.nct 
 
FVWM95-2 
 
简述 
 
FVWM95 的全名是 F? Virtual Window Manager,是专门为 X11 所设计,外形和用法都类 
似 Windows 95 的一个 window manager。□作者的说法,那个 F 所代表的意思是什麽, 
他自己也忘记了。而 FVWM95 是由 FVWM 所衍生出来的,FVWM 又是从 twm 衍生出来的。 
fvwm95 提供了 Virtual Desktop 和 Virtual screen,因此如果你的记忆体够大的话, 
要多大的桌面就有多大的桌面,同时它也和95一样,可以经由 keyboard 来控制 window, 
包括window的移动和基本操作等等,keyboard都以可胜任。它同时也提供了 
Configuration command 和 build-in command,方便我们随时作更动。另一个特性是它 
的 focus 方式,它提供了 Sloppy-focus 和 per-window focus 的功能。 
Sloppy-focus 是 focus-follows-mouse,当mouse由 window 移到 root window 时, 
focus 并不会移动,直到 mouse 移到其它 window。 
 
版权 
 
        fvwm95 既是 fvwm 所衍生的,当然就□袭了 fvwm 的版权. 
        fvwm 是由 Evan and Sutherland Computer Corporation 於1988年所取得版权。 
而在1989年由麻省理工学院取得版权。在1993年和1994年由Robert Nation取得版权。 
 
Fvwm95的window 
 
        Fvwm 的 window 就像95一样,提供了 3D-look 的外观,window 大小的调整可 
经由将 mouse 移到 window 的角落,此时会出现一个小L的 mouse cursor,利用它来 
控制 window 的大小。当将 mouse 移至 title bar 时,按下 mouse 左键便可以移动 
此 window,按下中键可以显示出 window 的控制视窗(包含window的移动,放大、缩小、 
关闭、删除等等),当然,当你将 mouse 移到 titile bar 的左方的小图示,并按下 
mouse 任一键也会显示出 window operation 的视窗。 
        Title-bar 里最多可以 10 个 button。而这些 button 都可以经由 user 自 
行定义,default 值是在左方的小图示。其功能如上述. 
 
Virtual Desktop 
 
        FVWM95 提供了多重虚拟桌面给 user 使用。这个 virtual desktop 可以比真 
实的萤幕还大。同时也可以利用 DeskTopSize 的内部指令来控制。当然每个Desktop的 
大小必须要一致。所有在 desktop 内的 window 都可经由 pager(一个小形□ widnow 
desktop)看到。Pager 是一个程式模组。之所以会做成 module 是因为它并不是 window 
使用的必要程式。所有开启的 window 也可利用 FvwmWinList 模组来显示在一个 popup 
menu中。 
        Sticky 是指将某个 window 锁定在 desktop 的某个位置,这种功能通常用在 
将某种程式 window 锁住,如可以将 clock 锁在某地。当然它也适用在 ICON 上。 
        Window 的 geometry 是指相对於目前的 viewport。例如: 
                xterm -grometry +0+0 
        就会将 xterm 开在 screen 可见的部分的最左上角的位置。当然我们也可以利 
用它来设定 widnow 的位置,但这个位置是对整个 Virtual desktop 而言,而非对单独 
的 desktop 而言。 
        或者我们也可以使用下列的方式: 
                xterm -geometry -5-5 
便可使 xterm 的右下角离 window 的右下角5个 pixel。但并非所有的应用程式 
都支援这个负数的指定方式。 
 
初使化(INITIALIZATION) 
 
        在作初始化的时候FVWM95会先找设定档 (configuration file) 来作一些设定。 
首先 fvwm95 会在使用者的目录中找一个叫做 .fvwm2rc95 的档案。如果在使用者的目录 
中找不到这个档案,它就会找 /usr/lib/X11/fvwm/.fvwm2rc95,如果再找不到,那 
fvwm95就无法执行了。 
        fvwm95 会设定两个可以让子视窗继□的环境变数。一个是$DISPLAY,用来描述 
那个 display 要使用 fvwm95,它可以是 unix:0.0 或 :0.0。但是它在透过 rsh 传递 
时并不能做得很好。所以有另一个 $HOSTDISPLAY 也可以使用,它是透过 TCP/IP 的方式 
(即使是在local)。fvwm95 可以利用两种 Function 来作初始化的工作:InitFunction 
和 RestartFunction,很明显的,一个是经由刚开始进入 X 时作设定,一个是经由 
restart来作设定。这些都可以经由rc档中的 AddToFunc 功能来作个性化(customized) 
来起动 modules、xterm 或其它你想要经由 fvwm95 来起动的程式。 
 
图示(icons) 
 
        基本的 FVWM95 设定是使用黑白的位元图示,就好像 twm 一样。但如果 XPM 有 
内建的话,你就可以使用类似 ctwm,MS-windows,machitash 之类的图示了,如果 
SHAPE 和 XPM 的选项都有选择的话,那就会有彩色且有形状的图示出来。 
 
模组(modules) 
 
        模组是一种类似分别执行的 process 分离程式(seperate program),但是却把 
执行指令传给 fvwm95 去执行。使用者可以自行撰写 module 而不会影响整个 fvwm95。 
        模组必须包含在 fvwm95 内,这样才能在 fvwm95 和 module 之间建立两个管线 
(pipe)互相连系。在 X 的执行阶段,Module 可以经由内建的指令来将 module 包含进来 
。Module 可以一直存在 X 中执行,也可以执行一段工作,然後离开。如果 module 正在 
执行时,X 被要求离开,那麽 fvwm95 会先关掉与 module 间的 pipe,而後再等待 
module 的离开回应。若 fvwm95 等了30秒还没收到回应,那它就会自动结束。可以同步 
执行的 module 的数目是受限於作业系统的可同时开档数。通常在 60-256 之间。 
 
M4 preprocessing 和 cpp preprocessing 
        fvwm95 提供了 M4 和 C 的preprocess。你可以使用 M4 或 C 来对你的 
fvwm2rc95 作前置处理。 
 
自动上升(auto-raise) 
 
        当 mouse 移到 window 时,window 可以自动上升或经数个亳秒後再上升。这 
是 FvwmAuto 这个 module 所提供的功能。 
 
设定参数 
 
        Fvwm95也提供了执行参数, 但在此不予介绍. 
 
设定档 
 
        设定档是用来设定 mouse、按键、颜色、虚拟萤幕大小,和其它相关事项。初始 
的设定档是 .fvwm2rc95。是利用内建的 READ 命令来读取。 
        若某行的开头是#的话,那麽那一行是没有作用的。若开头是*,那麽这一行是表 
示用来包含 module 的设定命令。Fvmw95 使得设定命令(configuration commands)和内 
建命令(built-in commnads)没有差别,所以刚才所提到的内建命令可以直接加在任一行 
上,让 fvwm95 去执行它。或者是加在 menu 上或者是加在某个 mouse buttom 或 
keyboard key 上,让使用者在有需要时才呼叫出来。 
        我们附了一个.fvwm2rc95在後面,并加以说明。请参照附一。 
 
 
 
 

# .fvwm2rc95 example configuration file for fvwm95-2.0.41 
# .fvwm2rc95 的设定档□例, 适用於fvwm95-2.0.41版 
 
#========================================================================# 
 

# Fonts - one for window titles, another for icons, and another for the menus 
# 字形 --- 一个用来设定视窗标题, 第二个给图示说明, 第三个给menu用. 
WindowFont      -adobe-times-bold-i-*-*-14-*-*-*-*-*-*-* 
IconFont        fixed 
MenuFont        -adobe-helvetica-medium-r-*-*-*-140-*-*-*-*-*-* 
 

# Set the default window colors. The syntax is: 
#  DefaultColors winforecolor winbackcolor titleforecolor titlebackcolor 
# where: 
#  winbackcolor    is the background (border) color of all windows, 
#                  including the menu windows 
#  winforecolor    is used for the menu text 
#  titlebackcolor  is the background color used for title bars of 
#                  non selected windows 
#  titleforecolor  is the color of the title text of non selected windows 

# 设定内定的视窗频色. 语法如下: 
# DefaultColors 视窗前景颜色 视窗背景颜色 视窗标题前景颜色 视窗标题背景颜色 
# 视窗前景颜色          : 给menu的文字用的颜色 
# 视窗背景颜色          : 给所有视窗用的背景(边界)颜色, 包括menu视窗 
# 视窗标题前景颜色      : 非使用中的视窗标题文字颜色 
# 视窗标题背景颜色      : 非使用中的视窗标题背景颜色 

DefaultColors   Black #c0c0c0 #c0c0c0 grey51 
 

# Text and background color for the title bar of the active (selected) window 
# 使用中的视窗之文字和背景颜色 

HilightColors   yellow #101080 
 

# Text and background color for the title bar of sticky windows 
# 定位视窗之文字和背景颜色 

StickyColors    blue #60c080 
 
# You can also use the Style command to set the colors of individual 
# title bars of some non-selected windows 
# 你也可以使用 Style 命令来设定其它非使用中视窗的标题颜色 

#Style "*" ForeColor #c0c0c0 
#Style "*" BackColor grey51 
 
#========================================================================# 
 

# Set up the major operating modes 
# 设定主要的操作模式 

 
Style "*" MouseFocus 
#Style "*" SloppyFocus 
#Style "*" ClickToFocus 
# Comment the above and uncomment one of the following if you prefer 
# focus follow mouse. 
# 将上述之一解除标示以选择如何选择视窗 
# Style "*" MouseFocus          : 当mouse移到视窗时即可使用该视窗 
# Style "*" SloppyFocus         : 当mouse移到视窗, mmmm...看不出和MouseFocus有何不同? 
# Style "*" ClickToFocus        : 当mouse移到视窗, 且在标题列按一下mouse左键,即可使用该视窗 
 
 
# If we use the FvwmTaskBar we don't need the icons :-) 
# Style "..." Icon are also commented below. 
# 如果我们使用FvwmTaskBar, 那我们就不必用 icon了, 不是吗? Ya...... 
# 至於其它有关Style指令的说明, 请参考man fvwm95-2 
# 其格式为 : 
# Style "视窗名称" 功能       ------ 其视窗名称可使用万用字元 
Style "*" NoIcon 
Style "*" MWMFunctions 
Style "*" HintOverride 
Style "*" MWMDecor 
Style "*" DecorateTransient 
 
OpaqueMoveSize 100 
# 视窗移动时视窗显示之百分比, 其百分比是移动视窗与整个视窗的比例 
# 0 :只显示边界 ---- 100: 完全显示 
EdgeScroll 100 100 
# 虚拟桌面之卷动方式, 当mouse 游标移到桌面之某百分比时, 桌面便会跳到其它桌面 
# EdgeScroll 水平比例 垂直比例 
EdgeResistance 10000 0 
# 虚拟桌面卷动之困难度与视窗移动之困难度 
# 第一个数字是当mouse移到边界多少毫秒之後便移到下个虚拟桌面 
# 第二个数字则表示视窗移动多少个pixel之後才会移到下个视窗 
 
 

# RandomPlacement prevents user interaction while placing windows: 
# RandomPlacement 可以让使用者在开新视窗时, 新视窗可随机选择位置出现 
# SmartPlacement  则可以使新视窗在不占其它视窗的位置的地方出现 
Style "*" RandomPlacement 
Style "*" SmartPlacement 
 

# NoPPosition instructs fvwm to ignore the PPosition field in window 
# geometry hints. Emacs annoyingly sets PPosition to (0,0)! 
# mmmm.....好像不是很重要.... 我找不到比较重要的说明.... ^{^ 
Style "*" NoPPosition 
 
#========================================================================# 
 

# Set the desk top size in units of physical screen size 
# 设定虚拟桌面对於真实桌面的大小 
# DeskTopSize 水平x垂直 
DeskTopSize 3x2 
 
#========================================================================# 
 

# Module path and paths to the icons 
# 模组的路径, 图示的路径 
ModulePath /usr/X11R6/lib/X11/fvwm95-2/ 
PixmapPath /usr/include/X11/pixmaps/:/usr/lib/X11/mini-icons/ 
IconPath   /usr/include/X11/bitmaps/:/usr/lib/TheNextLevel/pixmaps/ 
 
#========================================================================# 
 
# Set the decoration styles and window options 
# If compatible styles are set for a single window in multiple Style 
# commands, then the styles are ORed together. If conflicting styles 
# are set, the last one specified is used. 
# 设定视窗选项和美化功能, 如果对於单一视窗有相容的格式的设定, 那麽格式就会以混合的方式显现, 若有相冲突的格式设定, 那就会以最後设定的为准. 
# These commands should command before any menus or functions are defined, 
# and before the internal pager is started. 
# 这些设定必须在menu或function被定义以前设好, 而且也要在内部的pager开始以前设好 
 

# Default border and handle widths 
# 内定的边界大小 
Style "*" BorderWidth 4, HandleWidth 4 
 
Style "Fvwm*"        NoTitle, Sticky, WindowListSkip 
Style "Fvwm Pager"   StaysOnTop, NoHandles 
Style "FvwmBanner"   StaysOnTop 
Style "FvwmButtons"  NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 3 
Style "*lock"        NoTitle, NoHandles, Sticky, WindowListSkip 
Style "xbiff"        NoTitle,            Sticky, WindowListSkip 
 

# Some mini-icons for the title bar 
# 设定一些在标题列左方的小图示 
Style "*"         TitleIcon mini-x2.xpm 
Style "*xterm*"   TitleIcon mini-term.xpm 
Style "rxvt"      TitleIcon mini-term.xpm 
Style "xcalc"     TitleIcon mini-calc.xpm 
Style "xsession"  TitleIcon mini-bx2.xpm 
Style "xv"        TitleIcon mini-xv.xpm 
Style "Netscape"  TitleIcon mini-nscape.xpm 
Style "xmag"      TitleIcon mini-zoom.xpm 
Style "textedit"  TitleIcon mini-edit.xpm 
Style "tkps"      TitleIcon mini-run.xpm 
Style "Ghostview" TitleIcon mini-gv.xpm 
Style "Xcolorsel" TitleIcon mini-colors.xpm 
Style "IDL*"      TitleIcon mini-zoom.xpm 
Style "xeyes"     TitleIcon mini-eyes.xpm 
Style "*fm*"      TitleIcon mini-filemgr.xpm 
# xman resource names 
# xman 用的小图示 
Style "topBox"    TitleIcon mini-book1.xpm 
Style "help"      TitleIcon mini-book2.xpm 
Style "manualBrowser" TitleIcon mini-book2.xpm 
# xpaint resource names 
# xpaint 用的小图示 
Style "xpaint"    TitleIcon mini-paint.xpm 
Style "Canvas"    TitleIcon mini-paint.xpm 
Style "fatbits"   TitleIcon mini-paint.xpm 
Style "filebrowser" TitleIcon mini-ofolder.xpm 
 
Style "FvwmFile"  TitleIcon mini-ofolder.xpm 
Style "XDbx"      TitleIcon mini-bug2.xpm 
 
 
#Style "rxvt"       Icon  term.xpm 
#Style "xterm"      Icon xterm.xpm 
#Style "color_xterm" Icon rterm.xpm 
#Style "Appointment" Icon datebook.xpm 
#Style "xcalc"      Icon Rcalc.xpm 
#Style "xbiff"      Icon mail1.xpm 
#Style "xmh"        Icon mail1.xpm, StartsOnDesk 2 
#Style "xman"      Icon xman.xpm 
#Style "xvgr"      Icon graphs.xpm 
#Style "matlab"    Icon math4.xpm 
#Style "xmag"      Icon mag_glass.xpm 
#Style "xgraph"    Icon graphs.xpm 
#Style "xv"         Icon xview.xpm 
#Style "FvwmButtons"  Icon toolbox.xpm 
#Style "xconsole"   Icon koala.xpm 
#Style "xsession"   Icon koala.xpm 
#Style "textedit"   Icon textedit.xpm 
#Style "ghostview"  Icon gv.xpm 
 
#========================================================================# 
 

# Stuff to do at start-up 
# 起动fvwm95时该做的一些事 
 
# AddToFunc 功能名称 动作方式 工作事项 
# 动作方式有 "I"        当此功能被使用时, 立即动作 
#            "M"        则是mouse有动作时才启动 
#            "D"        双击mouse键才会动作 
AddToFunc "InitFunction"    "I" Exec xsetroot -solid cyan4 & 
+                          "I" Module FvwmBanner 
+                           "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
+                          "I" Module FvwmPager 0 3 
 
AddToFunc "RestartFunction" "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
#+                          "I" Module FvwmPager 0 3 
 
 
#========================================================================# 
 
# Now define some handy complex functions 
# 现在开始定义一些方便的复杂功能 

# This one moves and then raises the window if you drag the mouse, 
# only raises the window if you click, or does a full maximize if 
# you double click 
# 这个功能是用於当你将mouse移到标题列时按著mouse并移动时, 便可移动并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Move-or-Raise" "M" Move 
+                         "M" Raise 
+                         "C" Raise 
+                         "D" Maximize 100 100 
 

# This one moves and then lowers the window if you drag the mouse, 
# only lowers the window if you click, or does a RaiseLower if you double 
# click 
# 这个功能是用於移动并下降视窗用的 
# 单击一次mouse键则会使视窗下降, 双击则可转换成上升或下降 
 
AddToFunc "Move-or-Lower" "M" Move 
+                         "M" Lower 
+                         "C" Lower 
+                         "D" RaiseLower 
 

# This one moves or (de)iconifies: 
# 这个功能在於移动或做图示化 
AddToFunc "Move-or-Iconify" "M" Move 
+                           "D" Iconify 
 

# This one resizes and then raises the window if you drag the mouse, 
# only raises the window if you click,  or does a RaiseLower if you double 
# click 
# 这个功能是用於改变大小并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Resize-or-Raise" "M" Resize 
+                           "M" Raise 
+                           "C" Raise 
+                           "D" RaiseLower 
 
 
#========================================================================# 
 

# Now define the menus - defer bindings until later 
# 开始定义menus ---- 和binding的方式不同 
 
# This is for the Start menu of the FvwmTaskBar 
# 接下来的是用於 FvwmTaskBar的 Start menu 
# AddToMenu "选单名称"  "显示讯息" Title 
# +     "显示讯息     %图示名称%"           动作    程式名称及参数 
# 动作可分为 :           Exec           执行程式, 後面加程式名称及参数 
#                        Popup          蹦现新选单, 後面加选单名称 
#                        Nop            画分隔线 
#                        Refresh        重新显示萤幕 
AddToMenu "StartMenu" 
+ "New shell        %mini-sh1.xpm%"         Exec    color-xterm -ls -sb -fn 8x13 & 
+ "Manual pages     %mini-book1.xpm%"       Exec    xman & 
+ "Magnifying glass %mini-zoom.xpm%"        Exec    xmag & 
+ "Applications     %mini-x2.xpm%"          Popup   Applications 
+ "Games            %mini-happy.xpm%"       Popup   Games 
+ ""                                        Nop 
+ "Lock Screen      %mini-lock.xpm%"        Exec    xlock & 
+ "Refresh Screen   %mini-ray.xpm%"         Refresh 
+ ""                                        Nop 
+ "Exit Fvwm        %mini-stop.xpm%"        Popup   Quit-Verify 
 
AddToMenu "Shells" "Shells" Title 
+ "Xterm        (7x14 font)%mini-term.xpm%"     Exec xterm -sb -sl 500 -j -ls -fn 7x14 & 
+ "Chinese Cxvt (8x15 font)%chinese.xpm%"       Exec crxvt -fnb5 et15 -fn vga8x15 
-T Chinese-Rxvt -fat & 
# 这一行是我用来加上 crxvt 的, 用来呼叫小字形中文terminal 
+ "Color Xterm  (7x14 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 7x14 -fb 7x14bold -title "Color xterm" & 
+ "Color Xterm  (8x13 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 8x13 -title "Color xterm" & 
+ ""                                            Nop 
+ "Large Crxvt  (12x24 font)%chinese.xpm%"      Exec crxvt & 
# 这一行是我用来加上 crxvt 的, 用来呼叫大字形中文terminal 
+ "Large Xterm  (10x20 font)%mini-display.xpm%"         Exec nxterm -sb -sl 500 -j -ls -fn 10x20 & 
+ "Large Color Xterm    (10x20 font)%mini-display.xpm%" Exec color-xterm -sb -sl 500 -j -ls -fn 10x20 & 
+ ""                                            Nop 
+ "Xcin%chinese.xpm%"                           Exec xcin -in1 cj.tab & 
# 这一行是用来执行中文输入法 xcin用的. 
 
# 接下来的是萤幕保护 
AddToMenu "Screensaver" "Screensaver" Title 
+ "Bat%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode bat & 
+ "Blank%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode blank & 
+ "Blot%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode blot & 
+ "Bounce%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode bounce & 
+ "Flame%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode flame & 
+ "Galaxy%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode galaxy & 
+ "Grav%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode grav & 
+ "Helix%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode helix & 
+ "Hop%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode hop & 
+ "Hyper%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode hyper & 
+ "Kaleid%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode kaleid & 
+ "Life%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode life & 
+ "Life3d%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode life3d & 
+ "Maze%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode maze & 
+ "Pyro%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode pyro & 
+ "Qix%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode qix & 
+ "Random%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode random & 
+ "Rect%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rect & 
+ "Rock%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rock & 
+ "Rotor%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode rotor & 
+ "Sphere%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode sphere & 
+ "Spline%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode spline & 
+ "Swarm%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode swarm & 
+ "Wator%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode wator & 
+ "Worm%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode worm & 
+ "World%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode world & 
 
# 接下来的是萤幕锁定 
AddToMenu "Screenlock" "Lock Screen" Title 
+ "Bat%mini-rball.xpm%"         Exec xlock -nice 0 -mode bat & 
+ "Blank%mini-rball.xpm%"       Exec xlock -nice 0 -mode blank & 
+ "Blot%mini-rball.xpm%"        Exec xlock -nice 0 -mode blot & 
+ "Bounce%mini-rball.xpm%"      Exec xlock -nice 0 -mode bounce & 
+ "Flame%mini-rball.xpm%"       Exec xlock -nice 0 -mode flame & 
+ "Galaxy%mini-rball.xpm%"      Exec xlock -nice 0 -mode galaxy & 
+ "Grav%mini-rball.xpm%"        Exec xlock -nice 0 -mode grav & 
+ "Helix%mini-rball.xpm%"       Exec xlock -nice 0 -mode helix & 
+ "Hop%mini-rball.xpm%"         Exec xlock -nice 0 -mode hop & 
+ "Hyper%mini-rball.xpm%"       Exec xlock -nice 0 -mode hyper & 
+ "Kaleid%mini-rball.xpm%"      Exec xlock -nice 0 -mode kaleid & 
+ "Life%mini-rball.xpm%"        Exec xlock -nice 0 -mode life & 
+ "Life3d%mini-rball.xpm%"      Exec xlock -nice 0 -mode life3d & 
+ "Maze%mini-rball.xpm%"        Exec xlock -nice 0 -mode maze & 
+ "Pyro%mini-rball.xpm%"        Exec xlock -nice 0 -mode pyro & 
+ "Qix%mini-rball.xpm%"         Exec xlock -nice 0 -mode qix & 
+ "Random%mini-rball.xpm%"      Exec xlock -nice 0 -mode random & 
+ "Rect%mini-rball.xpm%"        Exec xlock -nice 0 -mode rect & 
+ "Rock%mini-rball.xpm%"        Exec xlock -nice 0 -mode rock & 
+ "Rotor%mini-rball.xpm%"       Exec xlock -nice 0 -mode rotor & 
+ "Sphere%mini-rball.xpm%"      Exec xlock -nice 0 -mode sphere & 
+ "Spline%mini-rball.xpm%"      Exec xlock -nice 0 -mode spline & 
+ "Swarm%mini-rball.xpm%"       Exec xlock -nice 0 -mode swarm & 
+ "Wator%mini-rball.xpm%"       Exec xlock -nice 0 -mode wator & 
+ "Worm%mini-rball.xpm%"        Exec xlock -nice 0 -mode worm & 
+ "World%mini-rball.xpm%"       Exec xlock -nice 0 -mode world & 
 
# 接下来是执行游戏程式 
AddToMenu "Games" "Games" Title 
+ "Abuse%%"                     Exec abuse & 
+ "Maze%mini-maze.xpm%"         Exec maze & 
+ "Spide%mini-exp.xpm"          Exec exec spider & 
+ "Xplaycd%mini-cdlabel.xpm%"   Exec exec xplaycd & 
+ "Xboard%mini-slon.xpm%"       Exec xboard & 
+ "Xeyes%mini-eyes.xpm%"        Exec xeyes & 
+ "Xhextris%mini-hextris.xpm%"  Exec exec xhextris & 
#+              "Xlander" Exec exec xlander & 
+ "Xlogo%mini-bx2.xpm%"         Exec xlogo & 
+ "Xmahjong%mini-xmahjongg.xpm%"        Exec exec xmahjongg & 
#+ "Xroach%mini-roach.xpm%"     Exec exec xroach & 
+ "Xtetris%mini-tetris.xpm%"    Exec xtetris & 
#+              "Xvier" Exec exec xvier & 
+ "Xbill%mini-cross.xpm%"       Exec xbill & 
+ "Xpcman%mini-question.xpm"    Exec xchomp & 
+ "Bomb%mini-bomb.xpm%"         Exec xdemineur & 
+ "Jewel%mini-question.xpm"     Exec xjewel & 
+ "Xsnow"                       Exec xsnow & 
+ "XEarth%mini-x2.xpm"          Exec xearth & 
 
# 接下来是执行应用程式 
AddToMenu "Applications" "Applications" Title 
+ "Netscape%mini-nscape.xpm%"   Exec netscape & 
+ "Ghostview%mini-gv.xpm%"      Exec ghostview & 
+ "Xview%mini-xv.xpm%"          Exec xv & 
+ "Xedit%mini-edit.xpm%"        Exec xedit -geometry 630x490+95+5 & 
+ "Xedit%mini-edit.xpm%"        Exec xedit & 
#+ "Xfilemanager%mini-filemgr.xpm%" Exec xfilemanager & 
+ "Xfm%mini-filemgr.xpm%"       Exec xfm & 
#+ "Xfractint%mini-fractal.xpm%"        Exec rxvt -font 7x14 -e xfractint map=chroma & 
+ "Xpaint%mini-paint.xpm%"      Exec xpaint & 
+ "Xgrab%mini-camera.xpm%"      Exec xgrab & 
+ "Xcolormap%mini-colors.xpm%"  Exec xcmap & 
+ "Xxgdb%mini-bug2.xpm%"        Exec xxgdb & 
+ "gdb%mini-bug1.xpm%"          Exec gdb & 
+ "Xwpe%mini-x.xpm%"            Exec xwpe & 
 

# This menu is invoked as a sub-menu - it allows you to quit, 
# restart, or switch to another WM. 
# 这个选单是一个子选单, 主要是用来让你离开, 重新开始或更换另一个window manager 
AddToMenu "Quit-Verify" "Really Quit Fvwm?" Title 
+ "Restart%mini-turn.xpm%"              Restart fvwm95-2 
+ ""                                    Nop 
+ "Start Fvwm%mini.fvwm.xpm%"           Restart fvwm 
+ "Start olvwm%mini-olwm.xpm%"          Restart /usr/openwin/bin/olvwm 
+ "Start olwm%mini-olwm.xpm%"           Restart /usr/openwin/bin/olwm 
+ ""                                    Nop 
+ "Yes, Really Quit%mini-exclam.xpm%"   Quit 
+ "No, Don't Quit%mini-cross.xpm%"      Nop 
 

# Provides a list of modules to fire off 
# 提供模组选单..... ^[^ 
AddToMenu "Module-Popup" "Modules" Title 
+ "Buttons"                             Module FvwmButtons 
+ "Audio%mini-audiovol.xpm%"            Module FvwmAudio 
+ "Clean-Up%mini-pencil.xpm%"           Module FvwmClean 
+ "Task bar"                            Module FvwmTaskBar 
+ "Identify%mini-question.xpm%"         Module FvwmIdent 
+ "Save Desktop"                        Module FvwmSave 
+ "Debug%mini-bug2.xpm%"                Module FvwmDebug 
+ "Pager"                               Module FvwmPager 0 3 
+ "Window List%mini-windows.xpm%"       Module FvwmWinList 
+ "Talk"                                Module FvwmTalk 
+ "Configure%mini-hammer.xpm%"          Module FvwmConfig 
 

# This menu will fire up some very common utilities 
# 这个选单用来结合一些选单及工具 
AddToMenu "Utilities" "Utilities" Title 
+ "Top%mini-run.xpm%"                   Exec rxvt -T Top -n Top -e top & 
+ "Calculator%mini-calc.xpm%"           Exec xcalc & 
+ "Manual pages%mini-book1.xpm%"        Exec xman & 
+ "Magnifying glass%mini-zoom.xpm%"     Exec xmag & 
+ "Oclock%mini-clock.xpm%"              Exec oclock & 
+ ""                                    Nop 
+ "Applications%mini-x2.xpm%"           Popup Applications 
+ "Shells%mini-term.xpm"                Popup Shells 
+ "Games%mini-happy.xpm%"               Popup Games 
+ ""                                    Nop 
+ "Screensaver%mini-display.xpm%"       Popup Screensaver 
+ "Lock Screen%mini-lock.xpm%"          Popup Screenlock 
+ ""                                    Nop 
+ "Modules%mini-modules.xpm%"           Popup Module-Popup 
+ ""                                    Nop 
+ "Refresh Screen%mini-ray.xpm%"        Refresh 
+ ""                                    Nop 
+ "Exit Fvwm%mini-stop.xpm%"            Popup Quit-Verify 
 

# This defines the most common window operations 
# 在此定义一些常用的视窗操作功能 
AddToMenu "Window" "Window Ops" Title 
+ "&Move"                     Function Move-or-Raise 
+ "&Resize"                   Function Resize-or-Raise 
+ "R&aise%mini-raise.xpm%"    Raise 
+ "&Lower%mini-lower.xpm%"    Lower 
+ "(De)Iconify"               Iconify 
+ "(Un)Stick"                 Stick 
+ "(Un)Maximize"              Maximize 100 100 
+ ""                          Nop 
+ "Kill"                      Destroy 
+ "&Close"                    Delete 
+ ""                          Nop 
+ "Switch to..."              WindowList 
+ "Refresh Screen%mini-ray.xpm%" Refresh 
 

# A trimmed down version of "Window Ops", good for binding to decorations 
# 另一种版本的视窗操作功能 
AddToMenu "Window-Ops2" "&Restore"        Iconify -1 
+                       "&Move"           Move-or-Raise 
+                       "&Size"           Resize-or-Raise 
+                       "Mi&nimize"       Iconify 1 
+                       "Ma&ximize"       Maximize 100 100 
+                       ""                Nop 
+                       "&Kill"           Destroy 
+                       "&Close Alt+F4"   Delete 
 
#========================================================================# 
 

# One more complex function - couldn't be defined earlier because it used 
# pop-up menus 

# This creates the "system" menu for the title-bar window-ops 
# pop-up 

AddToFunc "window_ops_func" "C" PopUp Window-Ops2 
+              "M" PopUp Window-Ops2 
+              "D" Delete 
 
 
#========================================================================# 
 

# Mouse bindings 
# Mouse 功能设定 
 
# First, for the mouse in the root window 
# Button 1 gives the Utilities menu 
# Button 2 gives the Window Ops menu 
# Button 3 gives the WindowList (like TwmWindows) 
# I use the AnyModifier (A) option for the modifier field, so you can hold down 
# any shift-control-whatever combination you want! 
# 首先, 当mouse在root window时(左, 中, 右 = 1,2,3 ,0=any) 
# 按左键会呈现Utility选单 
# 按中键会呈现Window Ops选单 
# 按右键会呈现WindowList(视窗目录) 
# Context : 描述在何处使用mouse功能. 
#               R : root window 
#               W : 任何应用程式的视窗 
#               T : 标题列 
#               S : 视窗的边界 
#               F : 视窗的四个角 
#               I : 图示 
#           0 - 9 : 标题列上的按钮 
#               A : 除了标题列上的按钮以外的上述各项 
# Modifier : 配合键盘的组合 
#               N : 不配合任何键 
#               C : Control键 
#               S : Shift键 
#               M : Meta键 
#               A : C,S,M任意一个 
# Function : Fvwm95 的内建功能 
 
#     Button    Context Modifi  Function 
Mouse 1         R       A       Menu "Utilities" Nop 
Mouse 2         R       A       Menu "Window Ops" Nop 
Mouse 3         R       A       WindowList 
#Mouse 3        R       A       Module "winlist" FvwmWinList transient 
 
# Now the title bar buttons 
# Any button in the left title-bar button gives the window ops menu 
# Any button in the first right title-bar button Iconifies the window 
# Any button in the second title-bar button full-maximizes 
# Any button in the third (rightmost) title-bar button closes 
# Note the use of "Mouse 0" for AnyButton. 
# 现在定义mouse在标题列时的功能 
#     Button    Context Modif   Function 
Mouse 0         1       A       Function "window_ops_func" 
Mouse 1         2       A       Delete 
Mouse 0         4       A       Maximize 100 100 
Mouse 0         6       A       Iconify 
 

# Now the rest of the frame 
# Here I invoke my complex functions for Move-or-lower, Move-or-raise, 
# and Resize-or-Raise. 
# 现在开始定义mouse在边界时的部分 
# Button 1 in the corner pieces, with any modifiers, gives resize or raise 
Mouse 1         F       A       Function "Resize-or-Raise" 
# Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise 
Mouse 1         TS      A       Function "Move-or-Raise" 
 
# Button 1 in an icons gives move for a drag, de-iconify for a double-click, 
# nothing for a single click 
# Button 2 in an icon, w/ any modifiers, gives de-iconify 
Mouse 1         I       A       Function "Move-or-Iconify" 
Mouse 2         I       A       Iconify 
 
# Button 2 in the corners, sides, or title-bar gives the window ops menu 
Mouse 2         FST     A       Function "window_ops_func" 
 
# Button 3 anywhere in the decoration (except the title-bar buttons) 
# does a raise-lower 
Mouse 3         TSIF    A       RaiseLower 
 
# Button 3 in the window, with the Modifier-1 key (usually alt or diamond) 
# gives Raise-Lower. Used to use control here, but that interferes with xterm 
Mouse 3         W       M       RaiseLower 
 
#========================================================================# 
 
# Now some keyboard shortcuts. 
# 现在做一些键盘设定 
# Arrow Keys 
# press arrow + control anywhere, and scroll by 1 page 
# Ctrl+方向键  = 向方向键的方向移一个虚拟桌面 
Key Left        A       C       Scroll -100 0 
Key Right       A       C       Scroll +100 +0 
Key Up          A       C       Scroll +0   -100 
Key Down        A       C       Scroll +0   +100 
 
# press arrow + meta key, and scroll by 1/10 of a page 
# Alt+方向键  = 向方向键的方向移1/10个虚拟桌面 
Key Left        A       M       Scroll -10 +0 
Key Right       A       M       Scroll +10 +0 
Key Up          A       M       Scroll +0   -10 
Key Down        A       M       Scroll +0   +10 
 
# press shift arrow + control anywhere, and move the pointer by 1% of a page 
# Shift+Ctrl+方向键  = mouse游标向方向键的方向移1%个虚拟桌面 
Key Left        A       SC      CursorMove -1 0 
Key Right       A       SC      CursorMove +1 +0 
Key Up          A       SC      CursorMove +0   -1 
Key Down        A       SC      CursorMove +0   +1 
 
# press shift arrow + meta key, and move the pointer by 1/10 of a page 
# Shift+Alt+方向键  = mouse游标向方向键的方向移10%个虚拟桌面 
Key Left        A       SM      CursorMove -10 +0 
Key Right       A       SM      CursorMove +10 +0 
Key Up          A       SM      CursorMove +0   -10 
Key Down        A       SM      CursorMove +0   +10 
 
# Keyboard accelerators 
# 设定功能键 
Key F1          A       M       Popup "Utilities" 
Key F1          A       M       Popup "Utilities" 
Key F2          A       M       Popup "Window Ops" 
Key F3          A       M       Module "WindowList" FvwmWinList 
Key F4          A       M       Iconify 
Key F5          A       M       Move 
Key F6          A       M       Resize 
 
#Page Up/Dapge Down keys are used to scroll by one desktop page 
# in any context, press page up/down + control 
# in root context, just pressing page up/down is OK 

# I prefer the non-wrapping scroll. These are for example purposes only 
#Key Next       A       C       Scroll 100000 0 
#Key Next       R       N       Scroll 100000 0 
#Key Prior      A       C       Scroll -100000 0 
#Key Prior      R       N       Scroll -100000 0 
 
Key Tab         A       M       Prev Focus 
Key Tab         A       MS      Next Focus 
 
Key Escape      A       C       WindowList 
 
#========================================================================# 
 
# Definitions used by the modules 
# 模组使用的一些定义 
#------------------ Pager 的部分 
*FvwmPagerBack blue 
#       背景颜色 
*FvwmPagerFore red 
#       前景颜色 
*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmPagerHilight #c0c0c0 
#       Hilight区颜色 
*FvwmPagerGeometry -1500-1500 
#       位置 
*FvwmPagerSmallFont 5x8 
#       小字形 
#*FvwmPagerRows 3 
#       列数 
#*FvwmPagerColumns 2 
#       行数 
#*FvwmPagerLabel 0 Desktop 
#       第 n 个桌面的名称 
 
#------------------ FvwmButtons 的部分(from 2.0.42) 
*FvwmButtonsFore Black 
#       前景颜色 
*FvwmButtonsBack yellow 
#       背景颜色 
*FvwmButtonsFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
# Geometry - really likes to pick its own size, but giving a position is OK 
*FvwmButtonsGeometry -5-34 
#       位置 
# Layout: specify rows or columns, not both 
*FvwmButtonsRows 1 
#       列数 
# Define the buttons to use..... 
# 定义一些在FvwmButton内的东东 
*FvwmButtons(Title xclock, Icon clock.xpm, \ 
             Swallow(UseOld) "xclock" 'Exec xclock -bg \yellow \ 
             -padding 0 -geometry -1500-1500 &') 
*FvwmButtons(2x1, Title load, \ 
             Swallow(UseOld) "xload" 'Exec xload \ 
                     -nolabel -bg yellow -update 5 -geometry -1500-1500 &') 
#*FvwmButtons(Title xterm, Icon xterm.xpm, \ 
             Action 'Exec "XTerm" color-xterm \ 
                     -ls -sb -fn 8x13 -title "Color xterm" &') 
#*FvwmButtons(Title xfm, Icon FileManager.xpm, \ 
             Action 'Exec "Xfm" xfm -title "File Manager" &') 
#*FvwmButtons(Title textedit, Icon TextEditor.xpm, \ 
             Action 'Exec "Textedit" xedit &') 
#*FvwmButtons(Title xcalc, Icon Calculator.xpm, \ 
             Action 'Exec "Calculator" xcalc &') 
#*FvwmButtons(Title xview, Icon xv.color.xpm, \ 
             Action 'Exec "xv" xv &') 
#*FvwmButtons(Title gview, Icon gv.xpm, \ 
             Action 'Exec "ghostview" ghostview &') 
#*FvwmButtons(Title xcin , Icon chinese.xpm, \ 
#            Action 'Exec "xcin" xcin -fnb5 et15 -fn vga8x15 &') 
#*FvwmButtons(Title netscape, Icon netscape_3d.xpm, \ 
             Action 'Exec "Netscape" netscape -geometry 920x622+90+5 &') 
*FvwmButtons(Title xkill, Icon bomb.xpm, Action Destroy) 
*FvwmButtons(2x1, Swallow(UseOld) "Desktop" 'FvwmPager 0 0') 
 
#------------------ Identify 的设定 
*FvwmIdentBack #000080 
#       背景颜色 
*FvwmIdentFore Yellow 
#       前景颜色 
*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* 
#       字形 
 
#------------------ FvwmWinList 的设定 
*FvwmWinListBack #c0c0c0 
#       背景颜色 
*FvwmWinListFore Black 
#       前景颜色 
*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmWinListAction Click1 Iconify -1,Focus 
#       mouse 左键为跳至此window 
*FvwmWinListAction Click2 Iconify 
#       mouse 中键为图示化 
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent 
#       mouse 右键为显示其Window Identification 
*FvwmWinListUseSkipList 
*FvwmWinListGeometry +0-1 
*FvwmWinListShowCurrentDesk 
#       显示目前桌面上的window 
 
#------------------ FvwmTaskBar 
Style "FvwmTaskBar" NoTitle,BorderWidth 4,HandleWidth 4,Sticky,StaysOnTop,WindowListSkip,CirculateSkip 
 
*FvwmTaskBarGeometry +0-0 
#       位置 
*FvwmTaskBarFore Black 
#       前景颜色 
*FvwmTaskBarBack #c0c0c0 
#       背景颜色 
*FvwmTaskBarTipsFore black 
#       提示的前景颜色 
*FvwmTaskBarTipsBack bisque 
#       提示的背景颜色 
*FvwmTaskBarFont -adobe-helvetica-medium-i-*-*-*-120-*-*-*-*-*-* 
#       字形 
*FvwmTaskBarSelFont -adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* 
#       选择到之window的字形 
*FvwmTaskBarAction Click1 Iconify -1,Raise,Focus 
#       左键  ---- 跳至此window 
*FvwmTaskBarAction Click2 Iconify 
#       中键  ---- 图示化 
*FvwmTaskBarAction Click3 Module "FvwmIdent" FvwmIdent 
#       右键  ---- 显示window 资料 
*FvwmTaskBarUseSkipList 
#       ?? 
*FvwmTaskBarAutoStick 
#       自动固定 
*FvwmTaskBarStartName Start 
#       Start 的名称 
*FvwmTaskBarStartMenu StartMenu 
#       Start 使用的选单 
*FvwmTaskBarStartIcon mini-start.xpm 
#       Start 使用的图示 
*FvwmTaskBarShowTips 
#       是否显示提示 
#*FvwmTaskBarShowTransients 
 
#*FvwmTaskBarClockFormat %I:%M%p 
#*FvwmTaskBarHighlightFocus 
*FvwmTaskBarAutoHide 
#       自动隐藏 
*FvwmTaskBarMailCommand Exec color-xterm -T Mail -ls -fn 8x13 -e pine -i 
#       开启邮件命令 
 
-- 
⊙ 我来自: 资讯传奇 BBS 140.128.101.152 [FROM: root@pixel.m19.thu.edu.tw]  
 

BBS水木清华站∶精华区BBS水木清华站∶精华区
发信人: pixel.bbs@inf.cis.thu.edu.tw (), 看板: Linux 
标  题: Fvwm95之简介 
发信站: 资讯传奇 (Thu Dec 19 02:04:26 1996) 
转信站: sobee!netnews.ntu!linux2.tpml!UUserv.Net.tw!aidebbs!spring!news.cc.nct 
 
FVWM95-2 
 
简述 
 
FVWM95 的全名是 F? Virtual Window Manager,是专门为 X11 所设计,外形和用法都类 
似 Windows 95 的一个 window manager。□作者的说法,那个 F 所代表的意思是什麽, 
他自己也忘记了。而 FVWM95 是由 FVWM 所衍生出来的,FVWM 又是从 twm 衍生出来的。 
fvwm95 提供了 Virtual Desktop 和 Virtual screen,因此如果你的记忆体够大的话, 
要多大的桌面就有多大的桌面,同时它也和95一样,可以经由 keyboard 来控制 window, 
包括window的移动和基本操作等等,keyboard都以可胜任。它同时也提供了 
Configuration command 和 build-in command,方便我们随时作更动。另一个特性是它 
的 focus 方式,它提供了 Sloppy-focus 和 per-window focus 的功能。 
Sloppy-focus 是 focus-follows-mouse,当mouse由 window 移到 root window 时, 
focus 并不会移动,直到 mouse 移到其它 window。 
 
版权 
 
        fvwm95 既是 fvwm 所衍生的,当然就□袭了 fvwm 的版权. 
        fvwm 是由 Evan and Sutherland Computer Corporation 於1988年所取得版权。 
而在1989年由麻省理工学院取得版权。在1993年和1994年由Robert Nation取得版权。 
 
Fvwm95的window 
 
        Fvwm 的 window 就像95一样,提供了 3D-look 的外观,window 大小的调整可 
经由将 mouse 移到 window 的角落,此时会出现一个小L的 mouse cursor,利用它来 
控制 window 的大小。当将 mouse 移至 title bar 时,按下 mouse 左键便可以移动 
此 window,按下中键可以显示出 window 的控制视窗(包含window的移动,放大、缩小、 
关闭、删除等等),当然,当你将 mouse 移到 titile bar 的左方的小图示,并按下 
mouse 任一键也会显示出 window operation 的视窗。 
        Title-bar 里最多可以 10 个 button。而这些 button 都可以经由 user 自 
行定义,default 值是在左方的小图示。其功能如上述. 
 
Virtual Desktop 
 
        FVWM95 提供了多重虚拟桌面给 user 使用。这个 virtual desktop 可以比真 
实的萤幕还大。同时也可以利用 DeskTopSize 的内部指令来控制。当然每个Desktop的 
大小必须要一致。所有在 desktop 内的 window 都可经由 pager(一个小形□ widnow 
desktop)看到。Pager 是一个程式模组。之所以会做成 module 是因为它并不是 window 
使用的必要程式。所有开启的 window 也可利用 FvwmWinList 模组来显示在一个 popup 
menu中。 
        Sticky 是指将某个 window 锁定在 desktop 的某个位置,这种功能通常用在 
将某种程式 window 锁住,如可以将 clock 锁在某地。当然它也适用在 ICON 上。 
        Window 的 geometry 是指相对於目前的 viewport。例如: 
                xterm -grometry +0+0 
        就会将 xterm 开在 screen 可见的部分的最左上角的位置。当然我们也可以利 
用它来设定 widnow 的位置,但这个位置是对整个 Virtual desktop 而言,而非对单独 
的 desktop 而言。 
        或者我们也可以使用下列的方式: 
                xterm -geometry -5-5 
便可使 xterm 的右下角离 window 的右下角5个 pixel。但并非所有的应用程式 
都支援这个负数的指定方式。 
 
初使化(INITIALIZATION) 
 
        在作初始化的时候FVWM95会先找设定档 (configuration file) 来作一些设定。 
首先 fvwm95 会在使用者的目录中找一个叫做 .fvwm2rc95 的档案。如果在使用者的目录 
中找不到这个档案,它就会找 /usr/lib/X11/fvwm/.fvwm2rc95,如果再找不到,那 
fvwm95就无法执行了。 
        fvwm95 会设定两个可以让子视窗继□的环境变数。一个是$DISPLAY,用来描述 
那个 display 要使用 fvwm95,它可以是 unix:0.0 或 :0.0。但是它在透过 rsh 传递 
时并不能做得很好。所以有另一个 $HOSTDISPLAY 也可以使用,它是透过 TCP/IP 的方式 
(即使是在local)。fvwm95 可以利用两种 Function 来作初始化的工作:InitFunction 
和 RestartFunction,很明显的,一个是经由刚开始进入 X 时作设定,一个是经由 
restart来作设定。这些都可以经由rc档中的 AddToFunc 功能来作个性化(customized) 
来起动 modules、xterm 或其它你想要经由 fvwm95 来起动的程式。 
 
图示(icons) 
 
        基本的 FVWM95 设定是使用黑白的位元图示,就好像 twm 一样。但如果 XPM 有 
内建的话,你就可以使用类似 ctwm,MS-windows,machitash 之类的图示了,如果 
SHAPE 和 XPM 的选项都有选择的话,那就会有彩色且有形状的图示出来。 
 
模组(modules) 
 
        模组是一种类似分别执行的 process 分离程式(seperate program),但是却把 
执行指令传给 fvwm95 去执行。使用者可以自行撰写 module 而不会影响整个 fvwm95。 
        模组必须包含在 fvwm95 内,这样才能在 fvwm95 和 module 之间建立两个管线 
(pipe)互相连系。在 X 的执行阶段,Module 可以经由内建的指令来将 module 包含进来 
。Module 可以一直存在 X 中执行,也可以执行一段工作,然後离开。如果 module 正在 
执行时,X 被要求离开,那麽 fvwm95 会先关掉与 module 间的 pipe,而後再等待 
module 的离开回应。若 fvwm95 等了30秒还没收到回应,那它就会自动结束。可以同步 
执行的 module 的数目是受限於作业系统的可同时开档数。通常在 60-256 之间。 
 
M4 preprocessing 和 cpp preprocessing 
        fvwm95 提供了 M4 和 C 的preprocess。你可以使用 M4 或 C 来对你的 
fvwm2rc95 作前置处理。 
 
自动上升(auto-raise) 
 
        当 mouse 移到 window 时,window 可以自动上升或经数个亳秒後再上升。这 
是 FvwmAuto 这个 module 所提供的功能。 
 
设定参数 
 
        Fvwm95也提供了执行参数, 但在此不予介绍. 
 
设定档 
 
        设定档是用来设定 mouse、按键、颜色、虚拟萤幕大小,和其它相关事项。初始 
的设定档是 .fvwm2rc95。是利用内建的 READ 命令来读取。 
        若某行的开头是#的话,那麽那一行是没有作用的。若开头是*,那麽这一行是表 
示用来包含 module 的设定命令。Fvmw95 使得设定命令(configuration commands)和内 
建命令(built-in commnads)没有差别,所以刚才所提到的内建命令可以直接加在任一行 
上,让 fvwm95 去执行它。或者是加在 menu 上或者是加在某个 mouse buttom 或 
keyboard key 上,让使用者在有需要时才呼叫出来。 
        我们附了一个.fvwm2rc95在後面,并加以说明。请参照附一。 
 
 
 
 

# .fvwm2rc95 example configuration file for fvwm95-2.0.41 
# .fvwm2rc95 的设定档□例, 适用於fvwm95-2.0.41版 
 
#========================================================================# 
 

# Fonts - one for window titles, another for icons, and another for the menus 
# 字形 --- 一个用来设定视窗标题, 第二个给图示说明, 第三个给menu用. 
WindowFont      -adobe-times-bold-i-*-*-14-*-*-*-*-*-*-* 
IconFont        fixed 
MenuFont        -adobe-helvetica-medium-r-*-*-*-140-*-*-*-*-*-* 
 

# Set the default window colors. The syntax is: 
#  DefaultColors winforecolor winbackcolor titleforecolor titlebackcolor 
# where: 
#  winbackcolor    is the background (border) color of all windows, 
#                  including the menu windows 
#  winforecolor    is used for the menu text 
#  titlebackcolor  is the background color used for title bars of 
#                  non selected windows 
#  titleforecolor  is the color of the title text of non selected windows 

# 设定内定的视窗频色. 语法如下: 
# DefaultColors 视窗前景颜色 视窗背景颜色 视窗标题前景颜色 视窗标题背景颜色 
# 视窗前景颜色          : 给menu的文字用的颜色 
# 视窗背景颜色          : 给所有视窗用的背景(边界)颜色, 包括menu视窗 
# 视窗标题前景颜色      : 非使用中的视窗标题文字颜色 
# 视窗标题背景颜色      : 非使用中的视窗标题背景颜色 

DefaultColors   Black #c0c0c0 #c0c0c0 grey51 
 

# Text and background color for the title bar of the active (selected) window 
# 使用中的视窗之文字和背景颜色 

HilightColors   yellow #101080 
 

# Text and background color for the title bar of sticky windows 
# 定位视窗之文字和背景颜色 

StickyColors    blue #60c080 
 
# You can also use the Style command to set the colors of individual 
# title bars of some non-selected windows 
# 你也可以使用 Style 命令来设定其它非使用中视窗的标题颜色 

#Style "*" ForeColor #c0c0c0 
#Style "*" BackColor grey51 
 
#========================================================================# 
 

# Set up the major operating modes 
# 设定主要的操作模式 

 
Style "*" MouseFocus 
#Style "*" SloppyFocus 
#Style "*" ClickToFocus 
# Comment the above and uncomment one of the following if you prefer 
# focus follow mouse. 
# 将上述之一解除标示以选择如何选择视窗 
# Style "*" MouseFocus          : 当mouse移到视窗时即可使用该视窗 
# Style "*" SloppyFocus         : 当mouse移到视窗, mmmm...看不出和MouseFocus有何不同? 
# Style "*" ClickToFocus        : 当mouse移到视窗, 且在标题列按一下mouse左键,即可使用该视窗 
 
 
# If we use the FvwmTaskBar we don't need the icons :-) 
# Style "..." Icon are also commented below. 
# 如果我们使用FvwmTaskBar, 那我们就不必用 icon了, 不是吗? Ya...... 
# 至於其它有关Style指令的说明, 请参考man fvwm95-2 
# 其格式为 : 
# Style "视窗名称" 功能       ------ 其视窗名称可使用万用字元 
Style "*" NoIcon 
Style "*" MWMFunctions 
Style "*" HintOverride 
Style "*" MWMDecor 
Style "*" DecorateTransient 
 
OpaqueMoveSize 100 
# 视窗移动时视窗显示之百分比, 其百分比是移动视窗与整个视窗的比例 
# 0 :只显示边界 ---- 100: 完全显示 
EdgeScroll 100 100 
# 虚拟桌面之卷动方式, 当mouse 游标移到桌面之某百分比时, 桌面便会跳到其它桌面 
# EdgeScroll 水平比例 垂直比例 
EdgeResistance 10000 0 
# 虚拟桌面卷动之困难度与视窗移动之困难度 
# 第一个数字是当mouse移到边界多少毫秒之後便移到下个虚拟桌面 
# 第二个数字则表示视窗移动多少个pixel之後才会移到下个视窗 
 
 

# RandomPlacement prevents user interaction while placing windows: 
# RandomPlacement 可以让使用者在开新视窗时, 新视窗可随机选择位置出现 
# SmartPlacement  则可以使新视窗在不占其它视窗的位置的地方出现 
Style "*" RandomPlacement 
Style "*" SmartPlacement 
 

# NoPPosition instructs fvwm to ignore the PPosition field in window 
# geometry hints. Emacs annoyingly sets PPosition to (0,0)! 
# mmmm.....好像不是很重要.... 我找不到比较重要的说明.... ^{^ 
Style "*" NoPPosition 
 
#========================================================================# 
 

# Set the desk top size in units of physical screen size 
# 设定虚拟桌面对於真实桌面的大小 
# DeskTopSize 水平x垂直 
DeskTopSize 3x2 
 
#========================================================================# 
 

# Module path and paths to the icons 
# 模组的路径, 图示的路径 
ModulePath /usr/X11R6/lib/X11/fvwm95-2/ 
PixmapPath /usr/include/X11/pixmaps/:/usr/lib/X11/mini-icons/ 
IconPath   /usr/include/X11/bitmaps/:/usr/lib/TheNextLevel/pixmaps/ 
 
#========================================================================# 
 
# Set the decoration styles and window options 
# If compatible styles are set for a single window in multiple Style 
# commands, then the styles are ORed together. If conflicting styles 
# are set, the last one specified is used. 
# 设定视窗选项和美化功能, 如果对於单一视窗有相容的格式的设定, 那麽格式就会以混合的方式显现, 若有相冲突的格式设定, 那就会以最後设定的为准. 
# These commands should command before any menus or functions are defined, 
# and before the internal pager is started. 
# 这些设定必须在menu或function被定义以前设好, 而且也要在内部的pager开始以前设好 
 

# Default border and handle widths 
# 内定的边界大小 
Style "*" BorderWidth 4, HandleWidth 4 
 
Style "Fvwm*"        NoTitle, Sticky, WindowListSkip 
Style "Fvwm Pager"   StaysOnTop, NoHandles 
Style "FvwmBanner"   StaysOnTop 
Style "FvwmButtons"  NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 3 
Style "*lock"        NoTitle, NoHandles, Sticky, WindowListSkip 
Style "xbiff"        NoTitle,            Sticky, WindowListSkip 
 

# Some mini-icons for the title bar 
# 设定一些在标题列左方的小图示 
Style "*"         TitleIcon mini-x2.xpm 
Style "*xterm*"   TitleIcon mini-term.xpm 
Style "rxvt"      TitleIcon mini-term.xpm 
Style "xcalc"     TitleIcon mini-calc.xpm 
Style "xsession"  TitleIcon mini-bx2.xpm 
Style "xv"        TitleIcon mini-xv.xpm 
Style "Netscape"  TitleIcon mini-nscape.xpm 
Style "xmag"      TitleIcon mini-zoom.xpm 
Style "textedit"  TitleIcon mini-edit.xpm 
Style "tkps"      TitleIcon mini-run.xpm 
Style "Ghostview" TitleIcon mini-gv.xpm 
Style "Xcolorsel" TitleIcon mini-colors.xpm 
Style "IDL*"      TitleIcon mini-zoom.xpm 
Style "xeyes"     TitleIcon mini-eyes.xpm 
Style "*fm*"      TitleIcon mini-filemgr.xpm 
# xman resource names 
# xman 用的小图示 
Style "topBox"    TitleIcon mini-book1.xpm 
Style "help"      TitleIcon mini-book2.xpm 
Style "manualBrowser" TitleIcon mini-book2.xpm 
# xpaint resource names 
# xpaint 用的小图示 
Style "xpaint"    TitleIcon mini-paint.xpm 
Style "Canvas"    TitleIcon mini-paint.xpm 
Style "fatbits"   TitleIcon mini-paint.xpm 
Style "filebrowser" TitleIcon mini-ofolder.xpm 
 
Style "FvwmFile"  TitleIcon mini-ofolder.xpm 
Style "XDbx"      TitleIcon mini-bug2.xpm 
 
 
#Style "rxvt"       Icon  term.xpm 
#Style "xterm"      Icon xterm.xpm 
#Style "color_xterm" Icon rterm.xpm 
#Style "Appointment" Icon datebook.xpm 
#Style "xcalc"      Icon Rcalc.xpm 
#Style "xbiff"      Icon mail1.xpm 
#Style "xmh"        Icon mail1.xpm, StartsOnDesk 2 
#Style "xman"      Icon xman.xpm 
#Style "xvgr"      Icon graphs.xpm 
#Style "matlab"    Icon math4.xpm 
#Style "xmag"      Icon mag_glass.xpm 
#Style "xgraph"    Icon graphs.xpm 
#Style "xv"         Icon xview.xpm 
#Style "FvwmButtons"  Icon toolbox.xpm 
#Style "xconsole"   Icon koala.xpm 
#Style "xsession"   Icon koala.xpm 
#Style "textedit"   Icon textedit.xpm 
#Style "ghostview"  Icon gv.xpm 
 
#========================================================================# 
 

# Stuff to do at start-up 
# 起动fvwm95时该做的一些事 
 
# AddToFunc 功能名称 动作方式 工作事项 
# 动作方式有 "I"        当此功能被使用时, 立即动作 
#            "M"        则是mouse有动作时才启动 
#            "D"        双击mouse键才会动作 
AddToFunc "InitFunction"    "I" Exec xsetroot -solid cyan4 & 
+                          "I" Module FvwmBanner 
+                           "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
+                          "I" Module FvwmPager 0 3 
 
AddToFunc "RestartFunction" "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
#+                          "I" Module FvwmPager 0 3 
 
 
#========================================================================# 
 
# Now define some handy complex functions 
# 现在开始定义一些方便的复杂功能 

# This one moves and then raises the window if you drag the mouse, 
# only raises the window if you click, or does a full maximize if 
# you double click 
# 这个功能是用於当你将mouse移到标题列时按著mouse并移动时, 便可移动并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Move-or-Raise" "M" Move 
+                         "M" Raise 
+                         "C" Raise 
+                         "D" Maximize 100 100 
 

# This one moves and then lowers the window if you drag the mouse, 
# only lowers the window if you click, or does a RaiseLower if you double 
# click 
# 这个功能是用於移动并下降视窗用的 
# 单击一次mouse键则会使视窗下降, 双击则可转换成上升或下降 
 
AddToFunc "Move-or-Lower" "M" Move 
+                         "M" Lower 
+                         "C" Lower 
+                         "D" RaiseLower 
 

# This one moves or (de)iconifies: 
# 这个功能在於移动或做图示化 
AddToFunc "Move-or-Iconify" "M" Move 
+                           "D" Iconify 
 

# This one resizes and then raises the window if you drag the mouse, 
# only raises the window if you click,  or does a RaiseLower if you double 
# click 
# 这个功能是用於改变大小并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Resize-or-Raise" "M" Resize 
+                           "M" Raise 
+                           "C" Raise 
+                           "D" RaiseLower 
 
 
#========================================================================# 
 

# Now define the menus - defer bindings until later 
# 开始定义menus ---- 和binding的方式不同 
 
# This is for the Start menu of the FvwmTaskBar 
# 接下来的是用於 FvwmTaskBar的 Start menu 
# AddToMenu "选单名称"  "显示讯息" Title 
# +     "显示讯息     %图示名称%"           动作    程式名称及参数 
# 动作可分为 :           Exec           执行程式, 後面加程式名称及参数 
#                        Popup          蹦现新选单, 後面加选单名称 
#                        Nop            画分隔线 
#                        Refresh        重新显示萤幕 
AddToMenu "StartMenu" 
+ "New shell        %mini-sh1.xpm%"         Exec    color-xterm -ls -sb -fn 8x13 & 
+ "Manual pages     %mini-book1.xpm%"       Exec    xman & 
+ "Magnifying glass %mini-zoom.xpm%"        Exec    xmag & 
+ "Applications     %mini-x2.xpm%"          Popup   Applications 
+ "Games            %mini-happy.xpm%"       Popup   Games 
+ ""                                        Nop 
+ "Lock Screen      %mini-lock.xpm%"        Exec    xlock & 
+ "Refresh Screen   %mini-ray.xpm%"         Refresh 
+ ""                                        Nop 
+ "Exit Fvwm        %mini-stop.xpm%"        Popup   Quit-Verify 
 
AddToMenu "Shells" "Shells" Title 
+ "Xterm        (7x14 font)%mini-term.xpm%"     Exec xterm -sb -sl 500 -j -ls -fn 7x14 & 
+ "Chinese Cxvt (8x15 font)%chinese.xpm%"       Exec crxvt -fnb5 et15 -fn vga8x15 
-T Chinese-Rxvt -fat & 
# 这一行是我用来加上 crxvt 的, 用来呼叫小字形中文terminal 
+ "Color Xterm  (7x14 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 7x14 -fb 7x14bold -title "Color xterm" & 
+ "Color Xterm  (8x13 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 8x13 -title "Color xterm" & 
+ ""                                            Nop 
+ "Large Crxvt  (12x24 font)%chinese.xpm%"      Exec crxvt & 
# 这一行是我用来加上 crxvt 的, 用来呼叫大字形中文terminal 
+ "Large Xterm  (10x20 font)%mini-display.xpm%"         Exec nxterm -sb -sl 500 -j -ls -fn 10x20 & 
+ "Large Color Xterm    (10x20 font)%mini-display.xpm%" Exec color-xterm -sb -sl 500 -j -ls -fn 10x20 & 
+ ""                                            Nop 
+ "Xcin%chinese.xpm%"                           Exec xcin -in1 cj.tab & 
# 这一行是用来执行中文输入法 xcin用的. 
 
# 接下来的是萤幕保护 
AddToMenu "Screensaver" "Screensaver" Title 
+ "Bat%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode bat & 
+ "Blank%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode blank & 
+ "Blot%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode blot & 
+ "Bounce%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode bounce & 
+ "Flame%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode flame & 
+ "Galaxy%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode galaxy & 
+ "Grav%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode grav & 
+ "Helix%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode helix & 
+ "Hop%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode hop & 
+ "Hyper%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode hyper & 
+ "Kaleid%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode kaleid & 
+ "Life%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode life & 
+ "Life3d%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode life3d & 
+ "Maze%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode maze & 
+ "Pyro%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode pyro & 
+ "Qix%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode qix & 
+ "Random%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode random & 
+ "Rect%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rect & 
+ "Rock%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rock & 
+ "Rotor%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode rotor & 
+ "Sphere%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode sphere & 
+ "Spline%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode spline & 
+ "Swarm%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode swarm & 
+ "Wator%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode wator & 
+ "Worm%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode worm & 
+ "World%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode world & 
 
# 接下来的是萤幕锁定 
AddToMenu "Screenlock" "Lock Screen" Title 
+ "Bat%mini-rball.xpm%"         Exec xlock -nice 0 -mode bat & 
+ "Blank%mini-rball.xpm%"       Exec xlock -nice 0 -mode blank & 
+ "Blot%mini-rball.xpm%"        Exec xlock -nice 0 -mode blot & 
+ "Bounce%mini-rball.xpm%"      Exec xlock -nice 0 -mode bounce & 
+ "Flame%mini-rball.xpm%"       Exec xlock -nice 0 -mode flame & 
+ "Galaxy%mini-rball.xpm%"      Exec xlock -nice 0 -mode galaxy & 
+ "Grav%mini-rball.xpm%"        Exec xlock -nice 0 -mode grav & 
+ "Helix%mini-rball.xpm%"       Exec xlock -nice 0 -mode helix & 
+ "Hop%mini-rball.xpm%"         Exec xlock -nice 0 -mode hop & 
+ "Hyper%mini-rball.xpm%"       Exec xlock -nice 0 -mode hyper & 
+ "Kaleid%mini-rball.xpm%"      Exec xlock -nice 0 -mode kaleid & 
+ "Life%mini-rball.xpm%"        Exec xlock -nice 0 -mode life & 
+ "Life3d%mini-rball.xpm%"      Exec xlock -nice 0 -mode life3d & 
+ "Maze%mini-rball.xpm%"        Exec xlock -nice 0 -mode maze & 
+ "Pyro%mini-rball.xpm%"        Exec xlock -nice 0 -mode pyro & 
+ "Qix%mini-rball.xpm%"         Exec xlock -nice 0 -mode qix & 
+ "Random%mini-rball.xpm%"      Exec xlock -nice 0 -mode random & 
+ "Rect%mini-rball.xpm%"        Exec xlock -nice 0 -mode rect & 
+ "Rock%mini-rball.xpm%"        Exec xlock -nice 0 -mode rock & 
+ "Rotor%mini-rball.xpm%"       Exec xlock -nice 0 -mode rotor & 
+ "Sphere%mini-rball.xpm%"      Exec xlock -nice 0 -mode sphere & 
+ "Spline%mini-rball.xpm%"      Exec xlock -nice 0 -mode spline & 
+ "Swarm%mini-rball.xpm%"       Exec xlock -nice 0 -mode swarm & 
+ "Wator%mini-rball.xpm%"       Exec xlock -nice 0 -mode wator & 
+ "Worm%mini-rball.xpm%"        Exec xlock -nice 0 -mode worm & 
+ "World%mini-rball.xpm%"       Exec xlock -nice 0 -mode world & 
 
# 接下来是执行游戏程式 
AddToMenu "Games" "Games" Title 
+ "Abuse%%"                     Exec abuse & 
+ "Maze%mini-maze.xpm%"         Exec maze & 
+ "Spide%mini-exp.xpm"          Exec exec spider & 
+ "Xplaycd%mini-cdlabel.xpm%"   Exec exec xplaycd & 
+ "Xboard%mini-slon.xpm%"       Exec xboard & 
+ "Xeyes%mini-eyes.xpm%"        Exec xeyes & 
+ "Xhextris%mini-hextris.xpm%"  Exec exec xhextris & 
#+              "Xlander" Exec exec xlander & 
+ "Xlogo%mini-bx2.xpm%"         Exec xlogo & 
+ "Xmahjong%mini-xmahjongg.xpm%"        Exec exec xmahjongg & 
#+ "Xroach%mini-roach.xpm%"     Exec exec xroach & 
+ "Xtetris%mini-tetris.xpm%"    Exec xtetris & 
#+              "Xvier" Exec exec xvier & 
+ "Xbill%mini-cross.xpm%"       Exec xbill & 
+ "Xpcman%mini-question.xpm"    Exec xchomp & 
+ "Bomb%mini-bomb.xpm%"         Exec xdemineur & 
+ "Jewel%mini-question.xpm"     Exec xjewel & 
+ "Xsnow"                       Exec xsnow & 
+ "XEarth%mini-x2.xpm"          Exec xearth & 
 
# 接下来是执行应用程式 
AddToMenu "Applications" "Applications" Title 
+ "Netscape%mini-nscape.xpm%"   Exec netscape & 
+ "Ghostview%mini-gv.xpm%"      Exec ghostview & 
+ "Xview%mini-xv.xpm%"          Exec xv & 
+ "Xedit%mini-edit.xpm%"        Exec xedit -geometry 630x490+95+5 & 
+ "Xedit%mini-edit.xpm%"        Exec xedit & 
#+ "Xfilemanager%mini-filemgr.xpm%" Exec xfilemanager & 
+ "Xfm%mini-filemgr.xpm%"       Exec xfm & 
#+ "Xfractint%mini-fractal.xpm%"        Exec rxvt -font 7x14 -e xfractint map=chroma & 
+ "Xpaint%mini-paint.xpm%"      Exec xpaint & 
+ "Xgrab%mini-camera.xpm%"      Exec xgrab & 
+ "Xcolormap%mini-colors.xpm%"  Exec xcmap & 
+ "Xxgdb%mini-bug2.xpm%"        Exec xxgdb & 
+ "gdb%mini-bug1.xpm%"          Exec gdb & 
+ "Xwpe%mini-x.xpm%"            Exec xwpe & 
 

# This menu is invoked as a sub-menu - it allows you to quit, 
# restart, or switch to another WM. 
# 这个选单是一个子选单, 主要是用来让你离开, 重新开始或更换另一个window manager 
AddToMenu "Quit-Verify" "Really Quit Fvwm?" Title 
+ "Restart%mini-turn.xpm%"              Restart fvwm95-2 
+ ""                                    Nop 
+ "Start Fvwm%mini.fvwm.xpm%"           Restart fvwm 
+ "Start olvwm%mini-olwm.xpm%"          Restart /usr/openwin/bin/olvwm 
+ "Start olwm%mini-olwm.xpm%"           Restart /usr/openwin/bin/olwm 
+ ""                                    Nop 
+ "Yes, Really Quit%mini-exclam.xpm%"   Quit 
+ "No, Don't Quit%mini-cross.xpm%"      Nop 
 

# Provides a list of modules to fire off 
# 提供模组选单..... ^[^ 
AddToMenu "Module-Popup" "Modules" Title 
+ "Buttons"                             Module FvwmButtons 
+ "Audio%mini-audiovol.xpm%"            Module FvwmAudio 
+ "Clean-Up%mini-pencil.xpm%"           Module FvwmClean 
+ "Task bar"                            Module FvwmTaskBar 
+ "Identify%mini-question.xpm%"         Module FvwmIdent 
+ "Save Desktop"                        Module FvwmSave 
+ "Debug%mini-bug2.xpm%"                Module FvwmDebug 
+ "Pager"                               Module FvwmPager 0 3 
+ "Window List%mini-windows.xpm%"       Module FvwmWinList 
+ "Talk"                                Module FvwmTalk 
+ "Configure%mini-hammer.xpm%"          Module FvwmConfig 
 

# This menu will fire up some very common utilities 
# 这个选单用来结合一些选单及工具 
AddToMenu "Utilities" "Utilities" Title 
+ "Top%mini-run.xpm%"                   Exec rxvt -T Top -n Top -e top & 
+ "Calculator%mini-calc.xpm%"           Exec xcalc & 
+ "Manual pages%mini-book1.xpm%"        Exec xman & 
+ "Magnifying glass%mini-zoom.xpm%"     Exec xmag & 
+ "Oclock%mini-clock.xpm%"              Exec oclock & 
+ ""                                    Nop 
+ "Applications%mini-x2.xpm%"           Popup Applications 
+ "Shells%mini-term.xpm"                Popup Shells 
+ "Games%mini-happy.xpm%"               Popup Games 
+ ""                                    Nop 
+ "Screensaver%mini-display.xpm%"       Popup Screensaver 
+ "Lock Screen%mini-lock.xpm%"          Popup Screenlock 
+ ""                                    Nop 
+ "Modules%mini-modules.xpm%"           Popup Module-Popup 
+ ""                                    Nop 
+ "Refresh Screen%mini-ray.xpm%"        Refresh 
+ ""                                    Nop 
+ "Exit Fvwm%mini-stop.xpm%"            Popup Quit-Verify 
 

# This defines the most common window operations 
# 在此定义一些常用的视窗操作功能 
AddToMenu "Window" "Window Ops" Title 
+ "&Move"                     Function Move-or-Raise 
+ "&Resize"                   Function Resize-or-Raise 
+ "R&aise%mini-raise.xpm%"    Raise 
+ "&Lower%mini-lower.xpm%"    Lower 
+ "(De)Iconify"               Iconify 
+ "(Un)Stick"                 Stick 
+ "(Un)Maximize"              Maximize 100 100 
+ ""                          Nop 
+ "Kill"                      Destroy 
+ "&Close"                    Delete 
+ ""                          Nop 
+ "Switch to..."              WindowList 
+ "Refresh Screen%mini-ray.xpm%" Refresh 
 

# A trimmed down version of "Window Ops", good for binding to decorations 
# 另一种版本的视窗操作功能 
AddToMenu "Window-Ops2" "&Restore"        Iconify -1 
+                       "&Move"           Move-or-Raise 
+                       "&Size"           Resize-or-Raise 
+                       "Mi&nimize"       Iconify 1 
+                       "Ma&ximize"       Maximize 100 100 
+                       ""                Nop 
+                       "&Kill"           Destroy 
+                       "&Close Alt+F4"   Delete 
 
#========================================================================# 
 

# One more complex function - couldn't be defined earlier because it used 
# pop-up menus 

# This creates the "system" menu for the title-bar window-ops 
# pop-up 

AddToFunc "window_ops_func" "C" PopUp Window-Ops2 
+              "M" PopUp Window-Ops2 
+              "D" Delete 
 
 
#========================================================================# 
 

# Mouse bindings 
# Mouse 功能设定 
 
# First, for the mouse in the root window 
# Button 1 gives the Utilities menu 
# Button 2 gives the Window Ops menu 
# Button 3 gives the WindowList (like TwmWindows) 
# I use the AnyModifier (A) option for the modifier field, so you can hold down 
# any shift-control-whatever combination you want! 
# 首先, 当mouse在root window时(左, 中, 右 = 1,2,3 ,0=any) 
# 按左键会呈现Utility选单 
# 按中键会呈现Window Ops选单 
# 按右键会呈现WindowList(视窗目录) 
# Context : 描述在何处使用mouse功能. 
#               R : root window 
#               W : 任何应用程式的视窗 
#               T : 标题列 
#               S : 视窗的边界 
#               F : 视窗的四个角 
#               I : 图示 
#           0 - 9 : 标题列上的按钮 
#               A : 除了标题列上的按钮以外的上述各项 
# Modifier : 配合键盘的组合 
#               N : 不配合任何键 
#               C : Control键 
#               S : Shift键 
#               M : Meta键 
#               A : C,S,M任意一个 
# Function : Fvwm95 的内建功能 
 
#     Button    Context Modifi  Function 
Mouse 1         R       A       Menu "Utilities" Nop 
Mouse 2         R       A       Menu "Window Ops" Nop 
Mouse 3         R       A       WindowList 
#Mouse 3        R       A       Module "winlist" FvwmWinList transient 
 
# Now the title bar buttons 
# Any button in the left title-bar button gives the window ops menu 
# Any button in the first right title-bar button Iconifies the window 
# Any button in the second title-bar button full-maximizes 
# Any button in the third (rightmost) title-bar button closes 
# Note the use of "Mouse 0" for AnyButton. 
# 现在定义mouse在标题列时的功能 
#     Button    Context Modif   Function 
Mouse 0         1       A       Function "window_ops_func" 
Mouse 1         2       A       Delete 
Mouse 0         4       A       Maximize 100 100 
Mouse 0         6       A       Iconify 
 

# Now the rest of the frame 
# Here I invoke my complex functions for Move-or-lower, Move-or-raise, 
# and Resize-or-Raise. 
# 现在开始定义mouse在边界时的部分 
# Button 1 in the corner pieces, with any modifiers, gives resize or raise 
Mouse 1         F       A       Function "Resize-or-Raise" 
# Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise 
Mouse 1         TS      A       Function "Move-or-Raise" 
 
# Button 1 in an icons gives move for a drag, de-iconify for a double-click, 
# nothing for a single click 
# Button 2 in an icon, w/ any modifiers, gives de-iconify 
Mouse 1         I       A       Function "Move-or-Iconify" 
Mouse 2         I       A       Iconify 
 
# Button 2 in the corners, sides, or title-bar gives the window ops menu 
Mouse 2         FST     A       Function "window_ops_func" 
 
# Button 3 anywhere in the decoration (except the title-bar buttons) 
# does a raise-lower 
Mouse 3         TSIF    A       RaiseLower 
 
# Button 3 in the window, with the Modifier-1 key (usually alt or diamond) 
# gives Raise-Lower. Used to use control here, but that interferes with xterm 
Mouse 3         W       M       RaiseLower 
 
#========================================================================# 
 
# Now some keyboard shortcuts. 
# 现在做一些键盘设定 
# Arrow Keys 
# press arrow + control anywhere, and scroll by 1 page 
# Ctrl+方向键  = 向方向键的方向移一个虚拟桌面 
Key Left        A       C       Scroll -100 0 
Key Right       A       C       Scroll +100 +0 
Key Up          A       C       Scroll +0   -100 
Key Down        A       C       Scroll +0   +100 
 
# press arrow + meta key, and scroll by 1/10 of a page 
# Alt+方向键  = 向方向键的方向移1/10个虚拟桌面 
Key Left        A       M       Scroll -10 +0 
Key Right       A       M       Scroll +10 +0 
Key Up          A       M       Scroll +0   -10 
Key Down        A       M       Scroll +0   +10 
 
# press shift arrow + control anywhere, and move the pointer by 1% of a page 
# Shift+Ctrl+方向键  = mouse游标向方向键的方向移1%个虚拟桌面 
Key Left        A       SC      CursorMove -1 0 
Key Right       A       SC      CursorMove +1 +0 
Key Up          A       SC      CursorMove +0   -1 
Key Down        A       SC      CursorMove +0   +1 
 
# press shift arrow + meta key, and move the pointer by 1/10 of a page 
# Shift+Alt+方向键  = mouse游标向方向键的方向移10%个虚拟桌面 
Key Left        A       SM      CursorMove -10 +0 
Key Right       A       SM      CursorMove +10 +0 
Key Up          A       SM      CursorMove +0   -10 
Key Down        A       SM      CursorMove +0   +10 
 
# Keyboard accelerators 
# 设定功能键 
Key F1          A       M       Popup "Utilities" 
Key F1          A       M       Popup "Utilities" 
Key F2          A       M       Popup "Window Ops" 
Key F3          A       M       Module "WindowList" FvwmWinList 
Key F4          A       M       Iconify 
Key F5          A       M       Move 
Key F6          A       M       Resize 
 
#Page Up/Dapge Down keys are used to scroll by one desktop page 
# in any context, press page up/down + control 
# in root context, just pressing page up/down is OK 

# I prefer the non-wrapping scroll. These are for example purposes only 
#Key Next       A       C       Scroll 100000 0 
#Key Next       R       N       Scroll 100000 0 
#Key Prior      A       C       Scroll -100000 0 
#Key Prior      R       N       Scroll -100000 0 
 
Key Tab         A       M       Prev Focus 
Key Tab         A       MS      Next Focus 
 
Key Escape      A       C       WindowList 
 
#========================================================================# 
 
# Definitions used by the modules 
# 模组使用的一些定义 
#------------------ Pager 的部分 
*FvwmPagerBack blue 
#       背景颜色 
*FvwmPagerFore red 
#       前景颜色 
*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmPagerHilight #c0c0c0 
#       Hilight区颜色 
*FvwmPagerGeometry -1500-1500 
#       位置 
*FvwmPagerSmallFont 5x8 
#       小字形 
#*FvwmPagerRows 3 
#       列数 
#*FvwmPagerColumns 2 
#       行数 
#*FvwmPagerLabel 0 Desktop 
#       第 n 个桌面的名称 
 
#------------------ FvwmButtons 的部分(from 2.0.42) 
*FvwmButtonsFore Black 
#       前景颜色 
*FvwmButtonsBack yellow 
#       背景颜色 
*FvwmButtonsFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
# Geometry - really likes to pick its own size, but giving a position is OK 
*FvwmButtonsGeometry -5-34 
#       位置 
# Layout: specify rows or columns, not both 
*FvwmButtonsRows 1 
#       列数 
# Define the buttons to use..... 
# 定义一些在FvwmButton内的东东 
*FvwmButtons(Title xclock, Icon clock.xpm, \ 
             Swallow(UseOld) "xclock" 'Exec xclock -bg \yellow \ 
             -padding 0 -geometry -1500-1500 &') 
*FvwmButtons(2x1, Title load, \ 
             Swallow(UseOld) "xload" 'Exec xload \ 
                     -nolabel -bg yellow -update 5 -geometry -1500-1500 &') 
#*FvwmButtons(Title xterm, Icon xterm.xpm, \ 
             Action 'Exec "XTerm" color-xterm \ 
                     -ls -sb -fn 8x13 -title "Color xterm" &') 
#*FvwmButtons(Title xfm, Icon FileManager.xpm, \ 
             Action 'Exec "Xfm" xfm -title "File Manager" &') 
#*FvwmButtons(Title textedit, Icon TextEditor.xpm, \ 
             Action 'Exec "Textedit" xedit &') 
#*FvwmButtons(Title xcalc, Icon Calculator.xpm, \ 
             Action 'Exec "Calculator" xcalc &') 
#*FvwmButtons(Title xview, Icon xv.color.xpm, \ 
             Action 'Exec "xv" xv &') 
#*FvwmButtons(Title gview, Icon gv.xpm, \ 
             Action 'Exec "ghostview" ghostview &') 
#*FvwmButtons(Title xcin , Icon chinese.xpm, \ 
#            Action 'Exec "xcin" xcin -fnb5 et15 -fn vga8x15 &') 
#*FvwmButtons(Title netscape, Icon netscape_3d.xpm, \ 
             Action 'Exec "Netscape" netscape -geometry 920x622+90+5 &') 
*FvwmButtons(Title xkill, Icon bomb.xpm, Action Destroy) 
*FvwmButtons(2x1, Swallow(UseOld) "Desktop" 'FvwmPager 0 0') 
 
#------------------ Identify 的设定 
*FvwmIdentBack #000080 
#       背景颜色 
*FvwmIdentFore Yellow 
#       前景颜色 
*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* 
#       字形 
 
#------------------ FvwmWinList 的设定 
*FvwmWinListBack #c0c0c0 
#       背景颜色 
*FvwmWinListFore Black 
#       前景颜色 
*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmWinListAction Click1 Iconify -1,Focus 
#       mouse 左键为跳至此window 
*FvwmWinListAction Click2 Iconify 
#       mouse 中键为图示化 
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent 
#       mouse 右键为显示其Window Identification 
*FvwmWinListUseSkipList 
*FvwmWinListGeometry +0-1 
*FvwmWinListShowCurrentDesk 
#       显示目前桌面上的window 
 
#------------------ FvwmTaskBar 
Style "FvwmTaskBar" NoTitle,BorderWidth 4,HandleWidth 4,Sticky,StaysOnTop,WindowListSkip,CirculateSkip 
 
*FvwmTaskBarGeometry +0-0 
#       位置 
*FvwmTaskBarFore Black 
#       前景颜色 
*FvwmTaskBarBack #c0c0c0 
#       背景颜色 
*FvwmTaskBarTipsFore black 
#       提示的前景颜色 
*FvwmTaskBarTipsBack bisque 
#       提示的背景颜色 
*FvwmTaskBarFont -adobe-helvetica-medium-i-*-*-*-120-*-*-*-*-*-* 
#       字形 
*FvwmTaskBarSelFont -adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* 
#       选择到之window的字形 
*FvwmTaskBarAction Click1 Iconify -1,Raise,Focus 
#       左键  ---- 跳至此window 
*FvwmTaskBarAction Click2 Iconify 
#       中键  ---- 图示化 
*FvwmTaskBarAction Click3 Module "FvwmIdent" FvwmIdent 
#       右键  ---- 显示window 资料 
*FvwmTaskBarUseSkipList 
#       ?? 
*FvwmTaskBarAutoStick 
#       自动固定 
*FvwmTaskBarStartName Start 
#       Start 的名称 
*FvwmTaskBarStartMenu StartMenu 
#       Start 使用的选单 
*FvwmTaskBarStartIcon mini-start.xpm 
#       Start 使用的图示 
*FvwmTaskBarShowTips 
#       是否显示提示 
#*FvwmTaskBarShowTransients 
 
#*FvwmTaskBarClockFormat %I:%M%p 
#*FvwmTaskBarHighlightFocus 
*FvwmTaskBarAutoHide 
#       自动隐藏 
*FvwmTaskBarMailCommand Exec color-xterm -T Mail -ls -fn 8x13 -e pine -i 
#       开启邮件命令 
 
-- 
⊙ 我来自: 资讯传奇 BBS 140.128.101.152 [FROM: root@pixel.m19.thu.edu.tw]  
 

BBS水木清华站∶精华区
BBS水木清华站∶精华区
发信人: pixel.bbs@inf.cis.thu.edu.tw (), 看板: Linux 
标  题: Fvwm95之简介 
发信站: 资讯传奇 (Thu Dec 19 02:04:26 1996) 
转信站: sobee!netnews.ntu!linux2.tpml!UUserv.Net.tw!aidebbs!spring!news.cc.nct 
 
FVWM95-2 
 
简述 
 
FVWM95 的全名是 F? Virtual Window Manager,是专门为 X11 所设计,外形和用法都类 
似 Windows 95 的一个 window manager。□作者的说法,那个 F 所代表的意思是什麽, 
他自己也忘记了。而 FVWM95 是由 FVWM 所衍生出来的,FVWM 又是从 twm 衍生出来的。 
fvwm95 提供了 Virtual Desktop 和 Virtual screen,因此如果你的记忆体够大的话, 
要多大的桌面就有多大的桌面,同时它也和95一样,可以经由 keyboard 来控制 window, 
包括window的移动和基本操作等等,keyboard都以可胜任。它同时也提供了 
Configuration command 和 build-in command,方便我们随时作更动。另一个特性是它 
的 focus 方式,它提供了 Sloppy-focus 和 per-window focus 的功能。 
Sloppy-focus 是 focus-follows-mouse,当mouse由 window 移到 root window 时, 
focus 并不会移动,直到 mouse 移到其它 window。 
 
版权 
 
        fvwm95 既是 fvwm 所衍生的,当然就□袭了 fvwm 的版权. 
        fvwm 是由 Evan and Sutherland Computer Corporation 於1988年所取得版权。 
而在1989年由麻省理工学院取得版权。在1993年和1994年由Robert Nation取得版权。 
 
Fvwm95的window 
 
        Fvwm 的 window 就像95一样,提供了 3D-look 的外观,window 大小的调整可 
经由将 mouse 移到 window 的角落,此时会出现一个小L的 mouse cursor,利用它来 
控制 window 的大小。当将 mouse 移至 title bar 时,按下 mouse 左键便可以移动 
此 window,按下中键可以显示出 window 的控制视窗(包含window的移动,放大、缩小、 
关闭、删除等等),当然,当你将 mouse 移到 titile bar 的左方的小图示,并按下 
mouse 任一键也会显示出 window operation 的视窗。 
        Title-bar 里最多可以 10 个 button。而这些 button 都可以经由 user 自 
行定义,default 值是在左方的小图示。其功能如上述. 
 
Virtual Desktop 
 
        FVWM95 提供了多重虚拟桌面给 user 使用。这个 virtual desktop 可以比真 
实的萤幕还大。同时也可以利用 DeskTopSize 的内部指令来控制。当然每个Desktop的 
大小必须要一致。所有在 desktop 内的 window 都可经由 pager(一个小形□ widnow 
desktop)看到。Pager 是一个程式模组。之所以会做成 module 是因为它并不是 window 
使用的必要程式。所有开启的 window 也可利用 FvwmWinList 模组来显示在一个 popup 
menu中。 
        Sticky 是指将某个 window 锁定在 desktop 的某个位置,这种功能通常用在 
将某种程式 window 锁住,如可以将 clock 锁在某地。当然它也适用在 ICON 上。 
        Window 的 geometry 是指相对於目前的 viewport。例如: 
                xterm -grometry +0+0 
        就会将 xterm 开在 screen 可见的部分的最左上角的位置。当然我们也可以利 
用它来设定 widnow 的位置,但这个位置是对整个 Virtual desktop 而言,而非对单独 
的 desktop 而言。 
        或者我们也可以使用下列的方式: 
                xterm -geometry -5-5 
便可使 xterm 的右下角离 window 的右下角5个 pixel。但并非所有的应用程式 
都支援这个负数的指定方式。 
 
初使化(INITIALIZATION) 
 
        在作初始化的时候FVWM95会先找设定档 (configuration file) 来作一些设定。 
首先 fvwm95 会在使用者的目录中找一个叫做 .fvwm2rc95 的档案。如果在使用者的目录 
中找不到这个档案,它就会找 /usr/lib/X11/fvwm/.fvwm2rc95,如果再找不到,那 
fvwm95就无法执行了。 
        fvwm95 会设定两个可以让子视窗继□的环境变数。一个是$DISPLAY,用来描述 
那个 display 要使用 fvwm95,它可以是 unix:0.0 或 :0.0。但是它在透过 rsh 传递 
时并不能做得很好。所以有另一个 $HOSTDISPLAY 也可以使用,它是透过 TCP/IP 的方式 
(即使是在local)。fvwm95 可以利用两种 Function 来作初始化的工作:InitFunction 
和 RestartFunction,很明显的,一个是经由刚开始进入 X 时作设定,一个是经由 
restart来作设定。这些都可以经由rc档中的 AddToFunc 功能来作个性化(customized) 
来起动 modules、xterm 或其它你想要经由 fvwm95 来起动的程式。 
 
图示(icons) 
 
        基本的 FVWM95 设定是使用黑白的位元图示,就好像 twm 一样。但如果 XPM 有 
内建的话,你就可以使用类似 ctwm,MS-windows,machitash 之类的图示了,如果 
SHAPE 和 XPM 的选项都有选择的话,那就会有彩色且有形状的图示出来。 
 
模组(modules) 
 
        模组是一种类似分别执行的 process 分离程式(seperate program),但是却把 
执行指令传给 fvwm95 去执行。使用者可以自行撰写 module 而不会影响整个 fvwm95。 
        模组必须包含在 fvwm95 内,这样才能在 fvwm95 和 module 之间建立两个管线 
(pipe)互相连系。在 X 的执行阶段,Module 可以经由内建的指令来将 module 包含进来 
。Module 可以一直存在 X 中执行,也可以执行一段工作,然後离开。如果 module 正在 
执行时,X 被要求离开,那麽 fvwm95 会先关掉与 module 间的 pipe,而後再等待 
module 的离开回应。若 fvwm95 等了30秒还没收到回应,那它就会自动结束。可以同步 
执行的 module 的数目是受限於作业系统的可同时开档数。通常在 60-256 之间。 
 
M4 preprocessing 和 cpp preprocessing 
        fvwm95 提供了 M4 和 C 的preprocess。你可以使用 M4 或 C 来对你的 
fvwm2rc95 作前置处理。 
 
自动上升(auto-raise) 
 
        当 mouse 移到 window 时,window 可以自动上升或经数个亳秒後再上升。这 
是 FvwmAuto 这个 module 所提供的功能。 
 
设定参数 
 
        Fvwm95也提供了执行参数, 但在此不予介绍. 
 
设定档 
 
        设定档是用来设定 mouse、按键、颜色、虚拟萤幕大小,和其它相关事项。初始 
的设定档是 .fvwm2rc95。是利用内建的 READ 命令来读取。 
        若某行的开头是#的话,那麽那一行是没有作用的。若开头是*,那麽这一行是表 
示用来包含 module 的设定命令。Fvmw95 使得设定命令(configuration commands)和内 
建命令(built-in commnads)没有差别,所以刚才所提到的内建命令可以直接加在任一行 
上,让 fvwm95 去执行它。或者是加在 menu 上或者是加在某个 mouse buttom 或 
keyboard key 上,让使用者在有需要时才呼叫出来。 
        我们附了一个.fvwm2rc95在後面,并加以说明。请参照附一。 
 
 
 
 

# .fvwm2rc95 example configuration file for fvwm95-2.0.41 
# .fvwm2rc95 的设定档□例, 适用於fvwm95-2.0.41版 
 
#========================================================================# 
 

# Fonts - one for window titles, another for icons, and another for the menus 
# 字形 --- 一个用来设定视窗标题, 第二个给图示说明, 第三个给menu用. 
WindowFont      -adobe-times-bold-i-*-*-14-*-*-*-*-*-*-* 
IconFont        fixed 
MenuFont        -adobe-helvetica-medium-r-*-*-*-140-*-*-*-*-*-* 
 

# Set the default window colors. The syntax is: 
#  DefaultColors winforecolor winbackcolor titleforecolor titlebackcolor 
# where: 
#  winbackcolor    is the background (border) color of all windows, 
#                  including the menu windows 
#  winforecolor    is used for the menu text 
#  titlebackcolor  is the background color used for title bars of 
#                  non selected windows 
#  titleforecolor  is the color of the title text of non selected windows 

# 设定内定的视窗频色. 语法如下: 
# DefaultColors 视窗前景颜色 视窗背景颜色 视窗标题前景颜色 视窗标题背景颜色 
# 视窗前景颜色          : 给menu的文字用的颜色 
# 视窗背景颜色          : 给所有视窗用的背景(边界)颜色, 包括menu视窗 
# 视窗标题前景颜色      : 非使用中的视窗标题文字颜色 
# 视窗标题背景颜色      : 非使用中的视窗标题背景颜色 

DefaultColors   Black #c0c0c0 #c0c0c0 grey51 
 

# Text and background color for the title bar of the active (selected) window 
# 使用中的视窗之文字和背景颜色 

HilightColors   yellow #101080 
 

# Text and background color for the title bar of sticky windows 
# 定位视窗之文字和背景颜色 

StickyColors    blue #60c080 
 
# You can also use the Style command to set the colors of individual 
# title bars of some non-selected windows 
# 你也可以使用 Style 命令来设定其它非使用中视窗的标题颜色 

#Style "*" ForeColor #c0c0c0 
#Style "*" BackColor grey51 
 
#========================================================================# 
 

# Set up the major operating modes 
# 设定主要的操作模式 

 
Style "*" MouseFocus 
#Style "*" SloppyFocus 
#Style "*" ClickToFocus 
# Comment the above and uncomment one of the following if you prefer 
# focus follow mouse. 
# 将上述之一解除标示以选择如何选择视窗 
# Style "*" MouseFocus          : 当mouse移到视窗时即可使用该视窗 
# Style "*" SloppyFocus         : 当mouse移到视窗, mmmm...看不出和MouseFocus有何不同? 
# Style "*" ClickToFocus        : 当mouse移到视窗, 且在标题列按一下mouse左键,即可使用该视窗 
 
 
# If we use the FvwmTaskBar we don't need the icons :-) 
# Style "..." Icon are also commented below. 
# 如果我们使用FvwmTaskBar, 那我们就不必用 icon了, 不是吗? Ya...... 
# 至於其它有关Style指令的说明, 请参考man fvwm95-2 
# 其格式为 : 
# Style "视窗名称" 功能       ------ 其视窗名称可使用万用字元 
Style "*" NoIcon 
Style "*" MWMFunctions 
Style "*" HintOverride 
Style "*" MWMDecor 
Style "*" DecorateTransient 
 
OpaqueMoveSize 100 
# 视窗移动时视窗显示之百分比, 其百分比是移动视窗与整个视窗的比例 
# 0 :只显示边界 ---- 100: 完全显示 
EdgeScroll 100 100 
# 虚拟桌面之卷动方式, 当mouse 游标移到桌面之某百分比时, 桌面便会跳到其它桌面 
# EdgeScroll 水平比例 垂直比例 
EdgeResistance 10000 0 
# 虚拟桌面卷动之困难度与视窗移动之困难度 
# 第一个数字是当mouse移到边界多少毫秒之後便移到下个虚拟桌面 
# 第二个数字则表示视窗移动多少个pixel之後才会移到下个视窗 
 
 

# RandomPlacement prevents user interaction while placing windows: 
# RandomPlacement 可以让使用者在开新视窗时, 新视窗可随机选择位置出现 
# SmartPlacement  则可以使新视窗在不占其它视窗的位置的地方出现 
Style "*" RandomPlacement 
Style "*" SmartPlacement 
 

# NoPPosition instructs fvwm to ignore the PPosition field in window 
# geometry hints. Emacs annoyingly sets PPosition to (0,0)! 
# mmmm.....好像不是很重要.... 我找不到比较重要的说明.... ^{^ 
Style "*" NoPPosition 
 
#========================================================================# 
 

# Set the desk top size in units of physical screen size 
# 设定虚拟桌面对於真实桌面的大小 
# DeskTopSize 水平x垂直 
DeskTopSize 3x2 
 
#========================================================================# 
 

# Module path and paths to the icons 
# 模组的路径, 图示的路径 
ModulePath /usr/X11R6/lib/X11/fvwm95-2/ 
PixmapPath /usr/include/X11/pixmaps/:/usr/lib/X11/mini-icons/ 
IconPath   /usr/include/X11/bitmaps/:/usr/lib/TheNextLevel/pixmaps/ 
 
#========================================================================# 
 
# Set the decoration styles and window options 
# If compatible styles are set for a single window in multiple Style 
# commands, then the styles are ORed together. If conflicting styles 
# are set, the last one specified is used. 
# 设定视窗选项和美化功能, 如果对於单一视窗有相容的格式的设定, 那麽格式就会以混合的方式显现, 若有相冲突的格式设定, 那就会以最後设定的为准. 
# These commands should command before any menus or functions are defined, 
# and before the internal pager is started. 
# 这些设定必须在menu或function被定义以前设好, 而且也要在内部的pager开始以前设好 
 

# Default border and handle widths 
# 内定的边界大小 
Style "*" BorderWidth 4, HandleWidth 4 
 
Style "Fvwm*"        NoTitle, Sticky, WindowListSkip 
Style "Fvwm Pager"   StaysOnTop, NoHandles 
Style "FvwmBanner"   StaysOnTop 
Style "FvwmButtons"  NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 3 
Style "*lock"        NoTitle, NoHandles, Sticky, WindowListSkip 
Style "xbiff"        NoTitle,            Sticky, WindowListSkip 
 

# Some mini-icons for the title bar 
# 设定一些在标题列左方的小图示 
Style "*"         TitleIcon mini-x2.xpm 
Style "*xterm*"   TitleIcon mini-term.xpm 
Style "rxvt"      TitleIcon mini-term.xpm 
Style "xcalc"     TitleIcon mini-calc.xpm 
Style "xsession"  TitleIcon mini-bx2.xpm 
Style "xv"        TitleIcon mini-xv.xpm 
Style "Netscape"  TitleIcon mini-nscape.xpm 
Style "xmag"      TitleIcon mini-zoom.xpm 
Style "textedit"  TitleIcon mini-edit.xpm 
Style "tkps"      TitleIcon mini-run.xpm 
Style "Ghostview" TitleIcon mini-gv.xpm 
Style "Xcolorsel" TitleIcon mini-colors.xpm 
Style "IDL*"      TitleIcon mini-zoom.xpm 
Style "xeyes"     TitleIcon mini-eyes.xpm 
Style "*fm*"      TitleIcon mini-filemgr.xpm 
# xman resource names 
# xman 用的小图示 
Style "topBox"    TitleIcon mini-book1.xpm 
Style "help"      TitleIcon mini-book2.xpm 
Style "manualBrowser" TitleIcon mini-book2.xpm 
# xpaint resource names 
# xpaint 用的小图示 
Style "xpaint"    TitleIcon mini-paint.xpm 
Style "Canvas"    TitleIcon mini-paint.xpm 
Style "fatbits"   TitleIcon mini-paint.xpm 
Style "filebrowser" TitleIcon mini-ofolder.xpm 
 
Style "FvwmFile"  TitleIcon mini-ofolder.xpm 
Style "XDbx"      TitleIcon mini-bug2.xpm 
 
 
#Style "rxvt"       Icon  term.xpm 
#Style "xterm"      Icon xterm.xpm 
#Style "color_xterm" Icon rterm.xpm 
#Style "Appointment" Icon datebook.xpm 
#Style "xcalc"      Icon Rcalc.xpm 
#Style "xbiff"      Icon mail1.xpm 
#Style "xmh"        Icon mail1.xpm, StartsOnDesk 2 
#Style "xman"      Icon xman.xpm 
#Style "xvgr"      Icon graphs.xpm 
#Style "matlab"    Icon math4.xpm 
#Style "xmag"      Icon mag_glass.xpm 
#Style "xgraph"    Icon graphs.xpm 
#Style "xv"         Icon xview.xpm 
#Style "FvwmButtons"  Icon toolbox.xpm 
#Style "xconsole"   Icon koala.xpm 
#Style "xsession"   Icon koala.xpm 
#Style "textedit"   Icon textedit.xpm 
#Style "ghostview"  Icon gv.xpm 
 
#========================================================================# 
 

# Stuff to do at start-up 
# 起动fvwm95时该做的一些事 
 
# AddToFunc 功能名称 动作方式 工作事项 
# 动作方式有 "I"        当此功能被使用时, 立即动作 
#            "M"        则是mouse有动作时才启动 
#            "D"        双击mouse键才会动作 
AddToFunc "InitFunction"    "I" Exec xsetroot -solid cyan4 & 
+                          "I" Module FvwmBanner 
+                           "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
+                          "I" Module FvwmPager 0 3 
 
AddToFunc "RestartFunction" "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
#+                          "I" Module FvwmPager 0 3 
 
 
#========================================================================# 
 
# Now define some handy complex functions 
# 现在开始定义一些方便的复杂功能 

# This one moves and then raises the window if you drag the mouse, 
# only raises the window if you click, or does a full maximize if 
# you double click 
# 这个功能是用於当你将mouse移到标题列时按著mouse并移动时, 便可移动并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Move-or-Raise" "M" Move 
+                         "M" Raise 
+                         "C" Raise 
+                         "D" Maximize 100 100 
 

# This one moves and then lowers the window if you drag the mouse, 
# only lowers the window if you click, or does a RaiseLower if you double 
# click 
# 这个功能是用於移动并下降视窗用的 
# 单击一次mouse键则会使视窗下降, 双击则可转换成上升或下降 
 
AddToFunc "Move-or-Lower" "M" Move 
+                         "M" Lower 
+                         "C" Lower 
+                         "D" RaiseLower 
 

# This one moves or (de)iconifies: 
# 这个功能在於移动或做图示化 
AddToFunc "Move-or-Iconify" "M" Move 
+                           "D" Iconify 
 

# This one resizes and then raises the window if you drag the mouse, 
# only raises the window if you click,  or does a RaiseLower if you double 
# click 
# 这个功能是用於改变大小并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Resize-or-Raise" "M" Resize 
+                           "M" Raise 
+                           "C" Raise 
+                           "D" RaiseLower 
 
 
#========================================================================# 
 

# Now define the menus - defer bindings until later 
# 开始定义menus ---- 和binding的方式不同 
 
# This is for the Start menu of the FvwmTaskBar 
# 接下来的是用於 FvwmTaskBar的 Start menu 
# AddToMenu "选单名称"  "显示讯息" Title 
# +     "显示讯息     %图示名称%"           动作    程式名称及参数 
# 动作可分为 :           Exec           执行程式, 後面加程式名称及参数 
#                        Popup          蹦现新选单, 後面加选单名称 
#                        Nop            画分隔线 
#                        Refresh        重新显示萤幕 
AddToMenu "StartMenu" 
+ "New shell        %mini-sh1.xpm%"         Exec    color-xterm -ls -sb -fn 8x13 & 
+ "Manual pages     %mini-book1.xpm%"       Exec    xman & 
+ "Magnifying glass %mini-zoom.xpm%"        Exec    xmag & 
+ "Applications     %mini-x2.xpm%"          Popup   Applications 
+ "Games            %mini-happy.xpm%"       Popup   Games 
+ ""                                        Nop 
+ "Lock Screen      %mini-lock.xpm%"        Exec    xlock & 
+ "Refresh Screen   %mini-ray.xpm%"         Refresh 
+ ""                                        Nop 
+ "Exit Fvwm        %mini-stop.xpm%"        Popup   Quit-Verify 
 
AddToMenu "Shells" "Shells" Title 
+ "Xterm        (7x14 font)%mini-term.xpm%"     Exec xterm -sb -sl 500 -j -ls -fn 7x14 & 
+ "Chinese Cxvt (8x15 font)%chinese.xpm%"       Exec crxvt -fnb5 et15 -fn vga8x15 
-T Chinese-Rxvt -fat & 
# 这一行是我用来加上 crxvt 的, 用来呼叫小字形中文terminal 
+ "Color Xterm  (7x14 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 7x14 -fb 7x14bold -title "Color xterm" & 
+ "Color Xterm  (8x13 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 8x13 -title "Color xterm" & 
+ ""                                            Nop 
+ "Large Crxvt  (12x24 font)%chinese.xpm%"      Exec crxvt & 
# 这一行是我用来加上 crxvt 的, 用来呼叫大字形中文terminal 
+ "Large Xterm  (10x20 font)%mini-display.xpm%"         Exec nxterm -sb -sl 500 -j -ls -fn 10x20 & 
+ "Large Color Xterm    (10x20 font)%mini-display.xpm%" Exec color-xterm -sb -sl 500 -j -ls -fn 10x20 & 
+ ""                                            Nop 
+ "Xcin%chinese.xpm%"                           Exec xcin -in1 cj.tab & 
# 这一行是用来执行中文输入法 xcin用的. 
 
# 接下来的是萤幕保护 
AddToMenu "Screensaver" "Screensaver" Title 
+ "Bat%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode bat & 
+ "Blank%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode blank & 
+ "Blot%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode blot & 
+ "Bounce%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode bounce & 
+ "Flame%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode flame & 
+ "Galaxy%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode galaxy & 
+ "Grav%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode grav & 
+ "Helix%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode helix & 
+ "Hop%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode hop & 
+ "Hyper%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode hyper & 
+ "Kaleid%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode kaleid & 
+ "Life%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode life & 
+ "Life3d%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode life3d & 
+ "Maze%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode maze & 
+ "Pyro%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode pyro & 
+ "Qix%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode qix & 
+ "Random%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode random & 
+ "Rect%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rect & 
+ "Rock%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rock & 
+ "Rotor%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode rotor & 
+ "Sphere%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode sphere & 
+ "Spline%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode spline & 
+ "Swarm%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode swarm & 
+ "Wator%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode wator & 
+ "Worm%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode worm & 
+ "World%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode world & 
 
# 接下来的是萤幕锁定 
AddToMenu "Screenlock" "Lock Screen" Title 
+ "Bat%mini-rball.xpm%"         Exec xlock -nice 0 -mode bat & 
+ "Blank%mini-rball.xpm%"       Exec xlock -nice 0 -mode blank & 
+ "Blot%mini-rball.xpm%"        Exec xlock -nice 0 -mode blot & 
+ "Bounce%mini-rball.xpm%"      Exec xlock -nice 0 -mode bounce & 
+ "Flame%mini-rball.xpm%"       Exec xlock -nice 0 -mode flame & 
+ "Galaxy%mini-rball.xpm%"      Exec xlock -nice 0 -mode galaxy & 
+ "Grav%mini-rball.xpm%"        Exec xlock -nice 0 -mode grav & 
+ "Helix%mini-rball.xpm%"       Exec xlock -nice 0 -mode helix & 
+ "Hop%mini-rball.xpm%"         Exec xlock -nice 0 -mode hop & 
+ "Hyper%mini-rball.xpm%"       Exec xlock -nice 0 -mode hyper & 
+ "Kaleid%mini-rball.xpm%"      Exec xlock -nice 0 -mode kaleid & 
+ "Life%mini-rball.xpm%"        Exec xlock -nice 0 -mode life & 
+ "Life3d%mini-rball.xpm%"      Exec xlock -nice 0 -mode life3d & 
+ "Maze%mini-rball.xpm%"        Exec xlock -nice 0 -mode maze & 
+ "Pyro%mini-rball.xpm%"        Exec xlock -nice 0 -mode pyro & 
+ "Qix%mini-rball.xpm%"         Exec xlock -nice 0 -mode qix & 
+ "Random%mini-rball.xpm%"      Exec xlock -nice 0 -mode random & 
+ "Rect%mini-rball.xpm%"        Exec xlock -nice 0 -mode rect & 
+ "Rock%mini-rball.xpm%"        Exec xlock -nice 0 -mode rock & 
+ "Rotor%mini-rball.xpm%"       Exec xlock -nice 0 -mode rotor & 
+ "Sphere%mini-rball.xpm%"      Exec xlock -nice 0 -mode sphere & 
+ "Spline%mini-rball.xpm%"      Exec xlock -nice 0 -mode spline & 
+ "Swarm%mini-rball.xpm%"       Exec xlock -nice 0 -mode swarm & 
+ "Wator%mini-rball.xpm%"       Exec xlock -nice 0 -mode wator & 
+ "Worm%mini-rball.xpm%"        Exec xlock -nice 0 -mode worm & 
+ "World%mini-rball.xpm%"       Exec xlock -nice 0 -mode world & 
 
# 接下来是执行游戏程式 
AddToMenu "Games" "Games" Title 
+ "Abuse%%"                     Exec abuse & 
+ "Maze%mini-maze.xpm%"         Exec maze & 
+ "Spide%mini-exp.xpm"          Exec exec spider & 
+ "Xplaycd%mini-cdlabel.xpm%"   Exec exec xplaycd & 
+ "Xboard%mini-slon.xpm%"       Exec xboard & 
+ "Xeyes%mini-eyes.xpm%"        Exec xeyes & 
+ "Xhextris%mini-hextris.xpm%"  Exec exec xhextris & 
#+              "Xlander" Exec exec xlander & 
+ "Xlogo%mini-bx2.xpm%"         Exec xlogo & 
+ "Xmahjong%mini-xmahjongg.xpm%"        Exec exec xmahjongg & 
#+ "Xroach%mini-roach.xpm%"     Exec exec xroach & 
+ "Xtetris%mini-tetris.xpm%"    Exec xtetris & 
#+              "Xvier" Exec exec xvier & 
+ "Xbill%mini-cross.xpm%"       Exec xbill & 
+ "Xpcman%mini-question.xpm"    Exec xchomp & 
+ "Bomb%mini-bomb.xpm%"         Exec xdemineur & 
+ "Jewel%mini-question.xpm"     Exec xjewel & 
+ "Xsnow"                       Exec xsnow & 
+ "XEarth%mini-x2.xpm"          Exec xearth & 
 
# 接下来是执行应用程式 
AddToMenu "Applications" "Applications" Title 
+ "Netscape%mini-nscape.xpm%"   Exec netscape & 
+ "Ghostview%mini-gv.xpm%"      Exec ghostview & 
+ "Xview%mini-xv.xpm%"          Exec xv & 
+ "Xedit%mini-edit.xpm%"        Exec xedit -geometry 630x490+95+5 & 
+ "Xedit%mini-edit.xpm%"        Exec xedit & 
#+ "Xfilemanager%mini-filemgr.xpm%" Exec xfilemanager & 
+ "Xfm%mini-filemgr.xpm%"       Exec xfm & 
#+ "Xfractint%mini-fractal.xpm%"        Exec rxvt -font 7x14 -e xfractint map=chroma & 
+ "Xpaint%mini-paint.xpm%"      Exec xpaint & 
+ "Xgrab%mini-camera.xpm%"      Exec xgrab & 
+ "Xcolormap%mini-colors.xpm%"  Exec xcmap & 
+ "Xxgdb%mini-bug2.xpm%"        Exec xxgdb & 
+ "gdb%mini-bug1.xpm%"          Exec gdb & 
+ "Xwpe%mini-x.xpm%"            Exec xwpe & 
 

# This menu is invoked as a sub-menu - it allows you to quit, 
# restart, or switch to another WM. 
# 这个选单是一个子选单, 主要是用来让你离开, 重新开始或更换另一个window manager 
AddToMenu "Quit-Verify" "Really Quit Fvwm?" Title 
+ "Restart%mini-turn.xpm%"              Restart fvwm95-2 
+ ""                                    Nop 
+ "Start Fvwm%mini.fvwm.xpm%"           Restart fvwm 
+ "Start olvwm%mini-olwm.xpm%"          Restart /usr/openwin/bin/olvwm 
+ "Start olwm%mini-olwm.xpm%"           Restart /usr/openwin/bin/olwm 
+ ""                                    Nop 
+ "Yes, Really Quit%mini-exclam.xpm%"   Quit 
+ "No, Don't Quit%mini-cross.xpm%"      Nop 
 

# Provides a list of modules to fire off 
# 提供模组选单..... ^[^ 
AddToMenu "Module-Popup" "Modules" Title 
+ "Buttons"                             Module FvwmButtons 
+ "Audio%mini-audiovol.xpm%"            Module FvwmAudio 
+ "Clean-Up%mini-pencil.xpm%"           Module FvwmClean 
+ "Task bar"                            Module FvwmTaskBar 
+ "Identify%mini-question.xpm%"         Module FvwmIdent 
+ "Save Desktop"                        Module FvwmSave 
+ "Debug%mini-bug2.xpm%"                Module FvwmDebug 
+ "Pager"                               Module FvwmPager 0 3 
+ "Window List%mini-windows.xpm%"       Module FvwmWinList 
+ "Talk"                                Module FvwmTalk 
+ "Configure%mini-hammer.xpm%"          Module FvwmConfig 
 

# This menu will fire up some very common utilities 
# 这个选单用来结合一些选单及工具 
AddToMenu "Utilities" "Utilities" Title 
+ "Top%mini-run.xpm%"                   Exec rxvt -T Top -n Top -e top & 
+ "Calculator%mini-calc.xpm%"           Exec xcalc & 
+ "Manual pages%mini-book1.xpm%"        Exec xman & 
+ "Magnifying glass%mini-zoom.xpm%"     Exec xmag & 
+ "Oclock%mini-clock.xpm%"              Exec oclock & 
+ ""                                    Nop 
+ "Applications%mini-x2.xpm%"           Popup Applications 
+ "Shells%mini-term.xpm"                Popup Shells 
+ "Games%mini-happy.xpm%"               Popup Games 
+ ""                                    Nop 
+ "Screensaver%mini-display.xpm%"       Popup Screensaver 
+ "Lock Screen%mini-lock.xpm%"          Popup Screenlock 
+ ""                                    Nop 
+ "Modules%mini-modules.xpm%"           Popup Module-Popup 
+ ""                                    Nop 
+ "Refresh Screen%mini-ray.xpm%"        Refresh 
+ ""                                    Nop 
+ "Exit Fvwm%mini-stop.xpm%"            Popup Quit-Verify 
 

# This defines the most common window operations 
# 在此定义一些常用的视窗操作功能 
AddToMenu "Window" "Window Ops" Title 
+ "&Move"                     Function Move-or-Raise 
+ "&Resize"                   Function Resize-or-Raise 
+ "R&aise%mini-raise.xpm%"    Raise 
+ "&Lower%mini-lower.xpm%"    Lower 
+ "(De)Iconify"               Iconify 
+ "(Un)Stick"                 Stick 
+ "(Un)Maximize"              Maximize 100 100 
+ ""                          Nop 
+ "Kill"                      Destroy 
+ "&Close"                    Delete 
+ ""                          Nop 
+ "Switch to..."              WindowList 
+ "Refresh Screen%mini-ray.xpm%" Refresh 
 

# A trimmed down version of "Window Ops", good for binding to decorations 
# 另一种版本的视窗操作功能 
AddToMenu "Window-Ops2" "&Restore"        Iconify -1 
+                       "&Move"           Move-or-Raise 
+                       "&Size"           Resize-or-Raise 
+                       "Mi&nimize"       Iconify 1 
+                       "Ma&ximize"       Maximize 100 100 
+                       ""                Nop 
+                       "&Kill"           Destroy 
+                       "&Close Alt+F4"   Delete 
 
#========================================================================# 
 

# One more complex function - couldn't be defined earlier because it used 
# pop-up menus 

# This creates the "system" menu for the title-bar window-ops 
# pop-up 

AddToFunc "window_ops_func" "C" PopUp Window-Ops2 
+              "M" PopUp Window-Ops2 
+              "D" Delete 
 
 
#========================================================================# 
 

# Mouse bindings 
# Mouse 功能设定 
 
# First, for the mouse in the root window 
# Button 1 gives the Utilities menu 
# Button 2 gives the Window Ops menu 
# Button 3 gives the WindowList (like TwmWindows) 
# I use the AnyModifier (A) option for the modifier field, so you can hold down 
# any shift-control-whatever combination you want! 
# 首先, 当mouse在root window时(左, 中, 右 = 1,2,3 ,0=any) 
# 按左键会呈现Utility选单 
# 按中键会呈现Window Ops选单 
# 按右键会呈现WindowList(视窗目录) 
# Context : 描述在何处使用mouse功能. 
#               R : root window 
#               W : 任何应用程式的视窗 
#               T : 标题列 
#               S : 视窗的边界 
#               F : 视窗的四个角 
#               I : 图示 
#           0 - 9 : 标题列上的按钮 
#               A : 除了标题列上的按钮以外的上述各项 
# Modifier : 配合键盘的组合 
#               N : 不配合任何键 
#               C : Control键 
#               S : Shift键 
#               M : Meta键 
#               A : C,S,M任意一个 
# Function : Fvwm95 的内建功能 
 
#     Button    Context Modifi  Function 
Mouse 1         R       A       Menu "Utilities" Nop 
Mouse 2         R       A       Menu "Window Ops" Nop 
Mouse 3         R       A       WindowList 
#Mouse 3        R       A       Module "winlist" FvwmWinList transient 
 
# Now the title bar buttons 
# Any button in the left title-bar button gives the window ops menu 
# Any button in the first right title-bar button Iconifies the window 
# Any button in the second title-bar button full-maximizes 
# Any button in the third (rightmost) title-bar button closes 
# Note the use of "Mouse 0" for AnyButton. 
# 现在定义mouse在标题列时的功能 
#     Button    Context Modif   Function 
Mouse 0         1       A       Function "window_ops_func" 
Mouse 1         2       A       Delete 
Mouse 0         4       A       Maximize 100 100 
Mouse 0         6       A       Iconify 
 

# Now the rest of the frame 
# Here I invoke my complex functions for Move-or-lower, Move-or-raise, 
# and Resize-or-Raise. 
# 现在开始定义mouse在边界时的部分 
# Button 1 in the corner pieces, with any modifiers, gives resize or raise 
Mouse 1         F       A       Function "Resize-or-Raise" 
# Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise 
Mouse 1         TS      A       Function "Move-or-Raise" 
 
# Button 1 in an icons gives move for a drag, de-iconify for a double-click, 
# nothing for a single click 
# Button 2 in an icon, w/ any modifiers, gives de-iconify 
Mouse 1         I       A       Function "Move-or-Iconify" 
Mouse 2         I       A       Iconify 
 
# Button 2 in the corners, sides, or title-bar gives the window ops menu 
Mouse 2         FST     A       Function "window_ops_func" 
 
# Button 3 anywhere in the decoration (except the title-bar buttons) 
# does a raise-lower 
Mouse 3         TSIF    A       RaiseLower 
 
# Button 3 in the window, with the Modifier-1 key (usually alt or diamond) 
# gives Raise-Lower. Used to use control here, but that interferes with xterm 
Mouse 3         W       M       RaiseLower 
 
#========================================================================# 
 
# Now some keyboard shortcuts. 
# 现在做一些键盘设定 
# Arrow Keys 
# press arrow + control anywhere, and scroll by 1 page 
# Ctrl+方向键  = 向方向键的方向移一个虚拟桌面 
Key Left        A       C       Scroll -100 0 
Key Right       A       C       Scroll +100 +0 
Key Up          A       C       Scroll +0   -100 
Key Down        A       C       Scroll +0   +100 
 
# press arrow + meta key, and scroll by 1/10 of a page 
# Alt+方向键  = 向方向键的方向移1/10个虚拟桌面 
Key Left        A       M       Scroll -10 +0 
Key Right       A       M       Scroll +10 +0 
Key Up          A       M       Scroll +0   -10 
Key Down        A       M       Scroll +0   +10 
 
# press shift arrow + control anywhere, and move the pointer by 1% of a page 
# Shift+Ctrl+方向键  = mouse游标向方向键的方向移1%个虚拟桌面 
Key Left        A       SC      CursorMove -1 0 
Key Right       A       SC      CursorMove +1 +0 
Key Up          A       SC      CursorMove +0   -1 
Key Down        A       SC      CursorMove +0   +1 
 
# press shift arrow + meta key, and move the pointer by 1/10 of a page 
# Shift+Alt+方向键  = mouse游标向方向键的方向移10%个虚拟桌面 
Key Left        A       SM      CursorMove -10 +0 
Key Right       A       SM      CursorMove +10 +0 
Key Up          A       SM      CursorMove +0   -10 
Key Down        A       SM      CursorMove +0   +10 
 
# Keyboard accelerators 
# 设定功能键 
Key F1          A       M       Popup "Utilities" 
Key F1          A       M       Popup "Utilities" 
Key F2          A       M       Popup "Window Ops" 
Key F3          A       M       Module "WindowList" FvwmWinList 
Key F4          A       M       Iconify 
Key F5          A       M       Move 
Key F6          A       M       Resize 
 
#Page Up/Dapge Down keys are used to scroll by one desktop page 
# in any context, press page up/down + control 
# in root context, just pressing page up/down is OK 

# I prefer the non-wrapping scroll. These are for example purposes only 
#Key Next       A       C       Scroll 100000 0 
#Key Next       R       N       Scroll 100000 0 
#Key Prior      A       C       Scroll -100000 0 
#Key Prior      R       N       Scroll -100000 0 
 
Key Tab         A       M       Prev Focus 
Key Tab         A       MS      Next Focus 
 
Key Escape      A       C       WindowList 
 
#========================================================================# 
 
# Definitions used by the modules 
# 模组使用的一些定义 
#------------------ Pager 的部分 
*FvwmPagerBack blue 
#       背景颜色 
*FvwmPagerFore red 
#       前景颜色 
*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmPagerHilight #c0c0c0 
#       Hilight区颜色 
*FvwmPagerGeometry -1500-1500 
#       位置 
*FvwmPagerSmallFont 5x8 
#       小字形 
#*FvwmPagerRows 3 
#       列数 
#*FvwmPagerColumns 2 
#       行数 
#*FvwmPagerLabel 0 Desktop 
#       第 n 个桌面的名称 
 
#------------------ FvwmButtons 的部分(from 2.0.42) 
*FvwmButtonsFore Black 
#       前景颜色 
*FvwmButtonsBack yellow 
#       背景颜色 
*FvwmButtonsFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
# Geometry - really likes to pick its own size, but giving a position is OK 
*FvwmButtonsGeometry -5-34 
#       位置 
# Layout: specify rows or columns, not both 
*FvwmButtonsRows 1 
#       列数 
# Define the buttons to use..... 
# 定义一些在FvwmButton内的东东 
*FvwmButtons(Title xclock, Icon clock.xpm, \ 
             Swallow(UseOld) "xclock" 'Exec xclock -bg \yellow \ 
             -padding 0 -geometry -1500-1500 &') 
*FvwmButtons(2x1, Title load, \ 
             Swallow(UseOld) "xload" 'Exec xload \ 
                     -nolabel -bg yellow -update 5 -geometry -1500-1500 &') 
#*FvwmButtons(Title xterm, Icon xterm.xpm, \ 
             Action 'Exec "XTerm" color-xterm \ 
                     -ls -sb -fn 8x13 -title "Color xterm" &') 
#*FvwmButtons(Title xfm, Icon FileManager.xpm, \ 
             Action 'Exec "Xfm" xfm -title "File Manager" &') 
#*FvwmButtons(Title textedit, Icon TextEditor.xpm, \ 
             Action 'Exec "Textedit" xedit &') 
#*FvwmButtons(Title xcalc, Icon Calculator.xpm, \ 
             Action 'Exec "Calculator" xcalc &') 
#*FvwmButtons(Title xview, Icon xv.color.xpm, \ 
             Action 'Exec "xv" xv &') 
#*FvwmButtons(Title gview, Icon gv.xpm, \ 
             Action 'Exec "ghostview" ghostview &') 
#*FvwmButtons(Title xcin , Icon chinese.xpm, \ 
#            Action 'Exec "xcin" xcin -fnb5 et15 -fn vga8x15 &') 
#*FvwmButtons(Title netscape, Icon netscape_3d.xpm, \ 
             Action 'Exec "Netscape" netscape -geometry 920x622+90+5 &') 
*FvwmButtons(Title xkill, Icon bomb.xpm, Action Destroy) 
*FvwmButtons(2x1, Swallow(UseOld) "Desktop" 'FvwmPager 0 0') 
 
#------------------ Identify 的设定 
*FvwmIdentBack #000080 
#       背景颜色 
*FvwmIdentFore Yellow 
#       前景颜色 
*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* 
#       字形 
 
#------------------ FvwmWinList 的设定 
*FvwmWinListBack #c0c0c0 
#       背景颜色 
*FvwmWinListFore Black 
#       前景颜色 
*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmWinListAction Click1 Iconify -1,Focus 
#       mouse 左键为跳至此window 
*FvwmWinListAction Click2 Iconify 
#       mouse 中键为图示化 
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent 
#       mouse 右键为显示其Window Identification 
*FvwmWinListUseSkipList 
*FvwmWinListGeometry +0-1 
*FvwmWinListShowCurrentDesk 
#       显示目前桌面上的window 
 
#------------------ FvwmTaskBar 
Style "FvwmTaskBar" NoTitle,BorderWidth 4,HandleWidth 4,Sticky,StaysOnTop,WindowListSkip,CirculateSkip 
 
*FvwmTaskBarGeometry +0-0 
#       位置 
*FvwmTaskBarFore Black 
#       前景颜色 
*FvwmTaskBarBack #c0c0c0 
#       背景颜色 
*FvwmTaskBarTipsFore black 
#       提示的前景颜色 
*FvwmTaskBarTipsBack bisque 
#       提示的背景颜色 
*FvwmTaskBarFont -adobe-helvetica-medium-i-*-*-*-120-*-*-*-*-*-* 
#       字形 
*FvwmTaskBarSelFont -adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* 
#       选择到之window的字形 
*FvwmTaskBarAction Click1 Iconify -1,Raise,Focus 
#       左键  ---- 跳至此window 
*FvwmTaskBarAction Click2 Iconify 
#       中键  ---- 图示化 
*FvwmTaskBarAction Click3 Module "FvwmIdent" FvwmIdent 
#       右键  ---- 显示window 资料 
*FvwmTaskBarUseSkipList 
#       ?? 
*FvwmTaskBarAutoStick 
#       自动固定 
*FvwmTaskBarStartName Start 
#       Start 的名称 
*FvwmTaskBarStartMenu StartMenu 
#       Start 使用的选单 
*FvwmTaskBarStartIcon mini-start.xpm 
#       Start 使用的图示 
*FvwmTaskBarShowTips 
#       是否显示提示 
#*FvwmTaskBarShowTransients 
 
#*FvwmTaskBarClockFormat %I:%M%p 
#*FvwmTaskBarHighlightFocus 
*FvwmTaskBarAutoHide 
#       自动隐藏 
*FvwmTaskBarMailCommand Exec color-xterm -T Mail -ls -fn 8x13 -e pine -i 
#       开启邮件命令 
 
-- 
⊙ 我来自: 资讯传奇 BBS 140.128.101.152 [FROM: root@pixel.m19.thu.edu.tw]  
 

BBS水木清华站∶精华区
BBS水木清华站∶精华区
发信人: pixel.bbs@inf.cis.thu.edu.tw (), 看板: Linux 
标  题: Fvwm95之简介 
发信站: 资讯传奇 (Thu Dec 19 02:04:26 1996) 
转信站: sobee!netnews.ntu!linux2.tpml!UUserv.Net.tw!aidebbs!spring!news.cc.nct 
 
FVWM95-2 
 
简述 
 
FVWM95 的全名是 F? Virtual Window Manager,是专门为 X11 所设计,外形和用法都类 
似 Windows 95 的一个 window manager。□作者的说法,那个 F 所代表的意思是什麽, 
他自己也忘记了。而 FVWM95 是由 FVWM 所衍生出来的,FVWM 又是从 twm 衍生出来的。 
fvwm95 提供了 Virtual Desktop 和 Virtual screen,因此如果你的记忆体够大的话, 
要多大的桌面就有多大的桌面,同时它也和95一样,可以经由 keyboard 来控制 window, 
包括window的移动和基本操作等等,keyboard都以可胜任。它同时也提供了 
Configuration command 和 build-in command,方便我们随时作更动。另一个特性是它 
的 focus 方式,它提供了 Sloppy-focus 和 per-window focus 的功能。 
Sloppy-focus 是 focus-follows-mouse,当mouse由 window 移到 root window 时, 
focus 并不会移动,直到 mouse 移到其它 window。 
 
版权 
 
        fvwm95 既是 fvwm 所衍生的,当然就□袭了 fvwm 的版权. 
        fvwm 是由 Evan and Sutherland Computer Corporation 於1988年所取得版权。 
而在1989年由麻省理工学院取得版权。在1993年和1994年由Robert Nation取得版权。 
 
Fvwm95的window 
 
        Fvwm 的 window 就像95一样,提供了 3D-look 的外观,window 大小的调整可 
经由将 mouse 移到 window 的角落,此时会出现一个小L的 mouse cursor,利用它来 
控制 window 的大小。当将 mouse 移至 title bar 时,按下 mouse 左键便可以移动 
此 window,按下中键可以显示出 window 的控制视窗(包含window的移动,放大、缩小、 
关闭、删除等等),当然,当你将 mouse 移到 titile bar 的左方的小图示,并按下 
mouse 任一键也会显示出 window operation 的视窗。 
        Title-bar 里最多可以 10 个 button。而这些 button 都可以经由 user 自 
行定义,default 值是在左方的小图示。其功能如上述. 
 
Virtual Desktop 
 
        FVWM95 提供了多重虚拟桌面给 user 使用。这个 virtual desktop 可以比真 
实的萤幕还大。同时也可以利用 DeskTopSize 的内部指令来控制。当然每个Desktop的 
大小必须要一致。所有在 desktop 内的 window 都可经由 pager(一个小形□ widnow 
desktop)看到。Pager 是一个程式模组。之所以会做成 module 是因为它并不是 window 
使用的必要程式。所有开启的 window 也可利用 FvwmWinList 模组来显示在一个 popup 
menu中。 
        Sticky 是指将某个 window 锁定在 desktop 的某个位置,这种功能通常用在 
将某种程式 window 锁住,如可以将 clock 锁在某地。当然它也适用在 ICON 上。 
        Window 的 geometry 是指相对於目前的 viewport。例如: 
                xterm -grometry +0+0 
        就会将 xterm 开在 screen 可见的部分的最左上角的位置。当然我们也可以利 
用它来设定 widnow 的位置,但这个位置是对整个 Virtual desktop 而言,而非对单独 
的 desktop 而言。 
        或者我们也可以使用下列的方式: 
                xterm -geometry -5-5 
便可使 xterm 的右下角离 window 的右下角5个 pixel。但并非所有的应用程式 
都支援这个负数的指定方式。 
 
初使化(INITIALIZATION) 
 
        在作初始化的时候FVWM95会先找设定档 (configuration file) 来作一些设定。 
首先 fvwm95 会在使用者的目录中找一个叫做 .fvwm2rc95 的档案。如果在使用者的目录 
中找不到这个档案,它就会找 /usr/lib/X11/fvwm/.fvwm2rc95,如果再找不到,那 
fvwm95就无法执行了。 
        fvwm95 会设定两个可以让子视窗继□的环境变数。一个是$DISPLAY,用来描述 
那个 display 要使用 fvwm95,它可以是 unix:0.0 或 :0.0。但是它在透过 rsh 传递 
时并不能做得很好。所以有另一个 $HOSTDISPLAY 也可以使用,它是透过 TCP/IP 的方式 
(即使是在local)。fvwm95 可以利用两种 Function 来作初始化的工作:InitFunction 
和 RestartFunction,很明显的,一个是经由刚开始进入 X 时作设定,一个是经由 
restart来作设定。这些都可以经由rc档中的 AddToFunc 功能来作个性化(customized) 
来起动 modules、xterm 或其它你想要经由 fvwm95 来起动的程式。 
 
图示(icons) 
 
        基本的 FVWM95 设定是使用黑白的位元图示,就好像 twm 一样。但如果 XPM 有 
内建的话,你就可以使用类似 ctwm,MS-windows,machitash 之类的图示了,如果 
SHAPE 和 XPM 的选项都有选择的话,那就会有彩色且有形状的图示出来。 
 
模组(modules) 
 
        模组是一种类似分别执行的 process 分离程式(seperate program),但是却把 
执行指令传给 fvwm95 去执行。使用者可以自行撰写 module 而不会影响整个 fvwm95。 
        模组必须包含在 fvwm95 内,这样才能在 fvwm95 和 module 之间建立两个管线 
(pipe)互相连系。在 X 的执行阶段,Module 可以经由内建的指令来将 module 包含进来 
。Module 可以一直存在 X 中执行,也可以执行一段工作,然後离开。如果 module 正在 
执行时,X 被要求离开,那麽 fvwm95 会先关掉与 module 间的 pipe,而後再等待 
module 的离开回应。若 fvwm95 等了30秒还没收到回应,那它就会自动结束。可以同步 
执行的 module 的数目是受限於作业系统的可同时开档数。通常在 60-256 之间。 
 
M4 preprocessing 和 cpp preprocessing 
        fvwm95 提供了 M4 和 C 的preprocess。你可以使用 M4 或 C 来对你的 
fvwm2rc95 作前置处理。 
 
自动上升(auto-raise) 
 
        当 mouse 移到 window 时,window 可以自动上升或经数个亳秒後再上升。这 
是 FvwmAuto 这个 module 所提供的功能。 
 
设定参数 
 
        Fvwm95也提供了执行参数, 但在此不予介绍. 
 
设定档 
 
        设定档是用来设定 mouse、按键、颜色、虚拟萤幕大小,和其它相关事项。初始 
的设定档是 .fvwm2rc95。是利用内建的 READ 命令来读取。 
        若某行的开头是#的话,那麽那一行是没有作用的。若开头是*,那麽这一行是表 
示用来包含 module 的设定命令。Fvmw95 使得设定命令(configuration commands)和内 
建命令(built-in commnads)没有差别,所以刚才所提到的内建命令可以直接加在任一行 
上,让 fvwm95 去执行它。或者是加在 menu 上或者是加在某个 mouse buttom 或 
keyboard key 上,让使用者在有需要时才呼叫出来。 
        我们附了一个.fvwm2rc95在後面,并加以说明。请参照附一。 
 
 
 
 

# .fvwm2rc95 example configuration file for fvwm95-2.0.41 
# .fvwm2rc95 的设定档□例, 适用於fvwm95-2.0.41版 
 
#========================================================================# 
 

# Fonts - one for window titles, another for icons, and another for the menus 
# 字形 --- 一个用来设定视窗标题, 第二个给图示说明, 第三个给menu用. 
WindowFont      -adobe-times-bold-i-*-*-14-*-*-*-*-*-*-* 
IconFont        fixed 
MenuFont        -adobe-helvetica-medium-r-*-*-*-140-*-*-*-*-*-* 
 

# Set the default window colors. The syntax is: 
#  DefaultColors winforecolor winbackcolor titleforecolor titlebackcolor 
# where: 
#  winbackcolor    is the background (border) color of all windows, 
#                  including the menu windows 
#  winforecolor    is used for the menu text 
#  titlebackcolor  is the background color used for title bars of 
#                  non selected windows 
#  titleforecolor  is the color of the title text of non selected windows 

# 设定内定的视窗频色. 语法如下: 
# DefaultColors 视窗前景颜色 视窗背景颜色 视窗标题前景颜色 视窗标题背景颜色 
# 视窗前景颜色          : 给menu的文字用的颜色 
# 视窗背景颜色          : 给所有视窗用的背景(边界)颜色, 包括menu视窗 
# 视窗标题前景颜色      : 非使用中的视窗标题文字颜色 
# 视窗标题背景颜色      : 非使用中的视窗标题背景颜色 

DefaultColors   Black #c0c0c0 #c0c0c0 grey51 
 

# Text and background color for the title bar of the active (selected) window 
# 使用中的视窗之文字和背景颜色 

HilightColors   yellow #101080 
 

# Text and background color for the title bar of sticky windows 
# 定位视窗之文字和背景颜色 

StickyColors    blue #60c080 
 
# You can also use the Style command to set the colors of individual 
# title bars of some non-selected windows 
# 你也可以使用 Style 命令来设定其它非使用中视窗的标题颜色 

#Style "*" ForeColor #c0c0c0 
#Style "*" BackColor grey51 
 
#========================================================================# 
 

# Set up the major operating modes 
# 设定主要的操作模式 

 
Style "*" MouseFocus 
#Style "*" SloppyFocus 
#Style "*" ClickToFocus 
# Comment the above and uncomment one of the following if you prefer 
# focus follow mouse. 
# 将上述之一解除标示以选择如何选择视窗 
# Style "*" MouseFocus          : 当mouse移到视窗时即可使用该视窗 
# Style "*" SloppyFocus         : 当mouse移到视窗, mmmm...看不出和MouseFocus有何不同? 
# Style "*" ClickToFocus        : 当mouse移到视窗, 且在标题列按一下mouse左键,即可使用该视窗 
 
 
# If we use the FvwmTaskBar we don't need the icons :-) 
# Style "..." Icon are also commented below. 
# 如果我们使用FvwmTaskBar, 那我们就不必用 icon了, 不是吗? Ya...... 
# 至於其它有关Style指令的说明, 请参考man fvwm95-2 
# 其格式为 : 
# Style "视窗名称" 功能       ------ 其视窗名称可使用万用字元 
Style "*" NoIcon 
Style "*" MWMFunctions 
Style "*" HintOverride 
Style "*" MWMDecor 
Style "*" DecorateTransient 
 
OpaqueMoveSize 100 
# 视窗移动时视窗显示之百分比, 其百分比是移动视窗与整个视窗的比例 
# 0 :只显示边界 ---- 100: 完全显示 
EdgeScroll 100 100 
# 虚拟桌面之卷动方式, 当mouse 游标移到桌面之某百分比时, 桌面便会跳到其它桌面 
# EdgeScroll 水平比例 垂直比例 
EdgeResistance 10000 0 
# 虚拟桌面卷动之困难度与视窗移动之困难度 
# 第一个数字是当mouse移到边界多少毫秒之後便移到下个虚拟桌面 
# 第二个数字则表示视窗移动多少个pixel之後才会移到下个视窗 
 
 

# RandomPlacement prevents user interaction while placing windows: 
# RandomPlacement 可以让使用者在开新视窗时, 新视窗可随机选择位置出现 
# SmartPlacement  则可以使新视窗在不占其它视窗的位置的地方出现 
Style "*" RandomPlacement 
Style "*" SmartPlacement 
 

# NoPPosition instructs fvwm to ignore the PPosition field in window 
# geometry hints. Emacs annoyingly sets PPosition to (0,0)! 
# mmmm.....好像不是很重要.... 我找不到比较重要的说明.... ^{^ 
Style "*" NoPPosition 
 
#========================================================================# 
 

# Set the desk top size in units of physical screen size 
# 设定虚拟桌面对於真实桌面的大小 
# DeskTopSize 水平x垂直 
DeskTopSize 3x2 
 
#========================================================================# 
 

# Module path and paths to the icons 
# 模组的路径, 图示的路径 
ModulePath /usr/X11R6/lib/X11/fvwm95-2/ 
PixmapPath /usr/include/X11/pixmaps/:/usr/lib/X11/mini-icons/ 
IconPath   /usr/include/X11/bitmaps/:/usr/lib/TheNextLevel/pixmaps/ 
 
#========================================================================# 
 
# Set the decoration styles and window options 
# If compatible styles are set for a single window in multiple Style 
# commands, then the styles are ORed together. If conflicting styles 
# are set, the last one specified is used. 
# 设定视窗选项和美化功能, 如果对於单一视窗有相容的格式的设定, 那麽格式就会以混合的方式显现, 若有相冲突的格式设定, 那就会以最後设定的为准. 
# These commands should command before any menus or functions are defined, 
# and before the internal pager is started. 
# 这些设定必须在menu或function被定义以前设好, 而且也要在内部的pager开始以前设好 
 

# Default border and handle widths 
# 内定的边界大小 
Style "*" BorderWidth 4, HandleWidth 4 
 
Style "Fvwm*"        NoTitle, Sticky, WindowListSkip 
Style "Fvwm Pager"   StaysOnTop, NoHandles 
Style "FvwmBanner"   StaysOnTop 
Style "FvwmButtons"  NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 3 
Style "*lock"        NoTitle, NoHandles, Sticky, WindowListSkip 
Style "xbiff"        NoTitle,            Sticky, WindowListSkip 
 

# Some mini-icons for the title bar 
# 设定一些在标题列左方的小图示 
Style "*"         TitleIcon mini-x2.xpm 
Style "*xterm*"   TitleIcon mini-term.xpm 
Style "rxvt"      TitleIcon mini-term.xpm 
Style "xcalc"     TitleIcon mini-calc.xpm 
Style "xsession"  TitleIcon mini-bx2.xpm 
Style "xv"        TitleIcon mini-xv.xpm 
Style "Netscape"  TitleIcon mini-nscape.xpm 
Style "xmag"      TitleIcon mini-zoom.xpm 
Style "textedit"  TitleIcon mini-edit.xpm 
Style "tkps"      TitleIcon mini-run.xpm 
Style "Ghostview" TitleIcon mini-gv.xpm 
Style "Xcolorsel" TitleIcon mini-colors.xpm 
Style "IDL*"      TitleIcon mini-zoom.xpm 
Style "xeyes"     TitleIcon mini-eyes.xpm 
Style "*fm*"      TitleIcon mini-filemgr.xpm 
# xman resource names 
# xman 用的小图示 
Style "topBox"    TitleIcon mini-book1.xpm 
Style "help"      TitleIcon mini-book2.xpm 
Style "manualBrowser" TitleIcon mini-book2.xpm 
# xpaint resource names 
# xpaint 用的小图示 
Style "xpaint"    TitleIcon mini-paint.xpm 
Style "Canvas"    TitleIcon mini-paint.xpm 
Style "fatbits"   TitleIcon mini-paint.xpm 
Style "filebrowser" TitleIcon mini-ofolder.xpm 
 
Style "FvwmFile"  TitleIcon mini-ofolder.xpm 
Style "XDbx"      TitleIcon mini-bug2.xpm 
 
 
#Style "rxvt"       Icon  term.xpm 
#Style "xterm"      Icon xterm.xpm 
#Style "color_xterm" Icon rterm.xpm 
#Style "Appointment" Icon datebook.xpm 
#Style "xcalc"      Icon Rcalc.xpm 
#Style "xbiff"      Icon mail1.xpm 
#Style "xmh"        Icon mail1.xpm, StartsOnDesk 2 
#Style "xman"      Icon xman.xpm 
#Style "xvgr"      Icon graphs.xpm 
#Style "matlab"    Icon math4.xpm 
#Style "xmag"      Icon mag_glass.xpm 
#Style "xgraph"    Icon graphs.xpm 
#Style "xv"         Icon xview.xpm 
#Style "FvwmButtons"  Icon toolbox.xpm 
#Style "xconsole"   Icon koala.xpm 
#Style "xsession"   Icon koala.xpm 
#Style "textedit"   Icon textedit.xpm 
#Style "ghostview"  Icon gv.xpm 
 
#========================================================================# 
 

# Stuff to do at start-up 
# 起动fvwm95时该做的一些事 
 
# AddToFunc 功能名称 动作方式 工作事项 
# 动作方式有 "I"        当此功能被使用时, 立即动作 
#            "M"        则是mouse有动作时才启动 
#            "D"        双击mouse键才会动作 
AddToFunc "InitFunction"    "I" Exec xsetroot -solid cyan4 & 
+                          "I" Module FvwmBanner 
+                           "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
+                          "I" Module FvwmPager 0 3 
 
AddToFunc "RestartFunction" "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
#+                          "I" Module FvwmPager 0 3 
 
 
#========================================================================# 
 
# Now define some handy complex functions 
# 现在开始定义一些方便的复杂功能 

# This one moves and then raises the window if you drag the mouse, 
# only raises the window if you click, or does a full maximize if 
# you double click 
# 这个功能是用於当你将mouse移到标题列时按著mouse并移动时, 便可移动并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Move-or-Raise" "M" Move 
+                         "M" Raise 
+                         "C" Raise 
+                         "D" Maximize 100 100 
 

# This one moves and then lowers the window if you drag the mouse, 
# only lowers the window if you click, or does a RaiseLower if you double 
# click 
# 这个功能是用於移动并下降视窗用的 
# 单击一次mouse键则会使视窗下降, 双击则可转换成上升或下降 
 
AddToFunc "Move-or-Lower" "M" Move 
+                         "M" Lower 
+                         "C" Lower 
+                         "D" RaiseLower 
 

# This one moves or (de)iconifies: 
# 这个功能在於移动或做图示化 
AddToFunc "Move-or-Iconify" "M" Move 
+                           "D" Iconify 
 

# This one resizes and then raises the window if you drag the mouse, 
# only raises the window if you click,  or does a RaiseLower if you double 
# click 
# 这个功能是用於改变大小并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Resize-or-Raise" "M" Resize 
+                           "M" Raise 
+                           "C" Raise 
+                           "D" RaiseLower 
 
 
#========================================================================# 
 

# Now define the menus - defer bindings until later 
# 开始定义menus ---- 和binding的方式不同 
 
# This is for the Start menu of the FvwmTaskBar 
# 接下来的是用於 FvwmTaskBar的 Start menu 
# AddToMenu "选单名称"  "显示讯息" Title 
# +     "显示讯息     %图示名称%"           动作    程式名称及参数 
# 动作可分为 :           Exec           执行程式, 後面加程式名称及参数 
#                        Popup          蹦现新选单, 後面加选单名称 
#                        Nop            画分隔线 
#                        Refresh        重新显示萤幕 
AddToMenu "StartMenu" 
+ "New shell        %mini-sh1.xpm%"         Exec    color-xterm -ls -sb -fn 8x13 & 
+ "Manual pages     %mini-book1.xpm%"       Exec    xman & 
+ "Magnifying glass %mini-zoom.xpm%"        Exec    xmag & 
+ "Applications     %mini-x2.xpm%"          Popup   Applications 
+ "Games            %mini-happy.xpm%"       Popup   Games 
+ ""                                        Nop 
+ "Lock Screen      %mini-lock.xpm%"        Exec    xlock & 
+ "Refresh Screen   %mini-ray.xpm%"         Refresh 
+ ""                                        Nop 
+ "Exit Fvwm        %mini-stop.xpm%"        Popup   Quit-Verify 
 
AddToMenu "Shells" "Shells" Title 
+ "Xterm        (7x14 font)%mini-term.xpm%"     Exec xterm -sb -sl 500 -j -ls -fn 7x14 & 
+ "Chinese Cxvt (8x15 font)%chinese.xpm%"       Exec crxvt -fnb5 et15 -fn vga8x15 
-T Chinese-Rxvt -fat & 
# 这一行是我用来加上 crxvt 的, 用来呼叫小字形中文terminal 
+ "Color Xterm  (7x14 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 7x14 -fb 7x14bold -title "Color xterm" & 
+ "Color Xterm  (8x13 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 8x13 -title "Color xterm" & 
+ ""                                            Nop 
+ "Large Crxvt  (12x24 font)%chinese.xpm%"      Exec crxvt & 
# 这一行是我用来加上 crxvt 的, 用来呼叫大字形中文terminal 
+ "Large Xterm  (10x20 font)%mini-display.xpm%"         Exec nxterm -sb -sl 500 -j -ls -fn 10x20 & 
+ "Large Color Xterm    (10x20 font)%mini-display.xpm%" Exec color-xterm -sb -sl 500 -j -ls -fn 10x20 & 
+ ""                                            Nop 
+ "Xcin%chinese.xpm%"                           Exec xcin -in1 cj.tab & 
# 这一行是用来执行中文输入法 xcin用的. 
 
# 接下来的是萤幕保护 
AddToMenu "Screensaver" "Screensaver" Title 
+ "Bat%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode bat & 
+ "Blank%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode blank & 
+ "Blot%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode blot & 
+ "Bounce%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode bounce & 
+ "Flame%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode flame & 
+ "Galaxy%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode galaxy & 
+ "Grav%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode grav & 
+ "Helix%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode helix & 
+ "Hop%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode hop & 
+ "Hyper%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode hyper & 
+ "Kaleid%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode kaleid & 
+ "Life%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode life & 
+ "Life3d%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode life3d & 
+ "Maze%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode maze & 
+ "Pyro%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode pyro & 
+ "Qix%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode qix & 
+ "Random%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode random & 
+ "Rect%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rect & 
+ "Rock%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rock & 
+ "Rotor%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode rotor & 
+ "Sphere%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode sphere & 
+ "Spline%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode spline & 
+ "Swarm%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode swarm & 
+ "Wator%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode wator & 
+ "Worm%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode worm & 
+ "World%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode world & 
 
# 接下来的是萤幕锁定 
AddToMenu "Screenlock" "Lock Screen" Title 
+ "Bat%mini-rball.xpm%"         Exec xlock -nice 0 -mode bat & 
+ "Blank%mini-rball.xpm%"       Exec xlock -nice 0 -mode blank & 
+ "Blot%mini-rball.xpm%"        Exec xlock -nice 0 -mode blot & 
+ "Bounce%mini-rball.xpm%"      Exec xlock -nice 0 -mode bounce & 
+ "Flame%mini-rball.xpm%"       Exec xlock -nice 0 -mode flame & 
+ "Galaxy%mini-rball.xpm%"      Exec xlock -nice 0 -mode galaxy & 
+ "Grav%mini-rball.xpm%"        Exec xlock -nice 0 -mode grav & 
+ "Helix%mini-rball.xpm%"       Exec xlock -nice 0 -mode helix & 
+ "Hop%mini-rball.xpm%"         Exec xlock -nice 0 -mode hop & 
+ "Hyper%mini-rball.xpm%"       Exec xlock -nice 0 -mode hyper & 
+ "Kaleid%mini-rball.xpm%"      Exec xlock -nice 0 -mode kaleid & 
+ "Life%mini-rball.xpm%"        Exec xlock -nice 0 -mode life & 
+ "Life3d%mini-rball.xpm%"      Exec xlock -nice 0 -mode life3d & 
+ "Maze%mini-rball.xpm%"        Exec xlock -nice 0 -mode maze & 
+ "Pyro%mini-rball.xpm%"        Exec xlock -nice 0 -mode pyro & 
+ "Qix%mini-rball.xpm%"         Exec xlock -nice 0 -mode qix & 
+ "Random%mini-rball.xpm%"      Exec xlock -nice 0 -mode random & 
+ "Rect%mini-rball.xpm%"        Exec xlock -nice 0 -mode rect & 
+ "Rock%mini-rball.xpm%"        Exec xlock -nice 0 -mode rock & 
+ "Rotor%mini-rball.xpm%"       Exec xlock -nice 0 -mode rotor & 
+ "Sphere%mini-rball.xpm%"      Exec xlock -nice 0 -mode sphere & 
+ "Spline%mini-rball.xpm%"      Exec xlock -nice 0 -mode spline & 
+ "Swarm%mini-rball.xpm%"       Exec xlock -nice 0 -mode swarm & 
+ "Wator%mini-rball.xpm%"       Exec xlock -nice 0 -mode wator & 
+ "Worm%mini-rball.xpm%"        Exec xlock -nice 0 -mode worm & 
+ "World%mini-rball.xpm%"       Exec xlock -nice 0 -mode world & 
 
# 接下来是执行游戏程式 
AddToMenu "Games" "Games" Title 
+ "Abuse%%"                     Exec abuse & 
+ "Maze%mini-maze.xpm%"         Exec maze & 
+ "Spide%mini-exp.xpm"          Exec exec spider & 
+ "Xplaycd%mini-cdlabel.xpm%"   Exec exec xplaycd & 
+ "Xboard%mini-slon.xpm%"       Exec xboard & 
+ "Xeyes%mini-eyes.xpm%"        Exec xeyes & 
+ "Xhextris%mini-hextris.xpm%"  Exec exec xhextris & 
#+              "Xlander" Exec exec xlander & 
+ "Xlogo%mini-bx2.xpm%"         Exec xlogo & 
+ "Xmahjong%mini-xmahjongg.xpm%"        Exec exec xmahjongg & 
#+ "Xroach%mini-roach.xpm%"     Exec exec xroach & 
+ "Xtetris%mini-tetris.xpm%"    Exec xtetris & 
#+              "Xvier" Exec exec xvier & 
+ "Xbill%mini-cross.xpm%"       Exec xbill & 
+ "Xpcman%mini-question.xpm"    Exec xchomp & 
+ "Bomb%mini-bomb.xpm%"         Exec xdemineur & 
+ "Jewel%mini-question.xpm"     Exec xjewel & 
+ "Xsnow"                       Exec xsnow & 
+ "XEarth%mini-x2.xpm"          Exec xearth & 
 
# 接下来是执行应用程式 
AddToMenu "Applications" "Applications" Title 
+ "Netscape%mini-nscape.xpm%"   Exec netscape & 
+ "Ghostview%mini-gv.xpm%"      Exec ghostview & 
+ "Xview%mini-xv.xpm%"          Exec xv & 
+ "Xedit%mini-edit.xpm%"        Exec xedit -geometry 630x490+95+5 & 
+ "Xedit%mini-edit.xpm%"        Exec xedit & 
#+ "Xfilemanager%mini-filemgr.xpm%" Exec xfilemanager & 
+ "Xfm%mini-filemgr.xpm%"       Exec xfm & 
#+ "Xfractint%mini-fractal.xpm%"        Exec rxvt -font 7x14 -e xfractint map=chroma & 
+ "Xpaint%mini-paint.xpm%"      Exec xpaint & 
+ "Xgrab%mini-camera.xpm%"      Exec xgrab & 
+ "Xcolormap%mini-colors.xpm%"  Exec xcmap & 
+ "Xxgdb%mini-bug2.xpm%"        Exec xxgdb & 
+ "gdb%mini-bug1.xpm%"          Exec gdb & 
+ "Xwpe%mini-x.xpm%"            Exec xwpe & 
 

# This menu is invoked as a sub-menu - it allows you to quit, 
# restart, or switch to another WM. 
# 这个选单是一个子选单, 主要是用来让你离开, 重新开始或更换另一个window manager 
AddToMenu "Quit-Verify" "Really Quit Fvwm?" Title 
+ "Restart%mini-turn.xpm%"              Restart fvwm95-2 
+ ""                                    Nop 
+ "Start Fvwm%mini.fvwm.xpm%"           Restart fvwm 
+ "Start olvwm%mini-olwm.xpm%"          Restart /usr/openwin/bin/olvwm 
+ "Start olwm%mini-olwm.xpm%"           Restart /usr/openwin/bin/olwm 
+ ""                                    Nop 
+ "Yes, Really Quit%mini-exclam.xpm%"   Quit 
+ "No, Don't Quit%mini-cross.xpm%"      Nop 
 

# Provides a list of modules to fire off 
# 提供模组选单..... ^[^ 
AddToMenu "Module-Popup" "Modules" Title 
+ "Buttons"                             Module FvwmButtons 
+ "Audio%mini-audiovol.xpm%"            Module FvwmAudio 
+ "Clean-Up%mini-pencil.xpm%"           Module FvwmClean 
+ "Task bar"                            Module FvwmTaskBar 
+ "Identify%mini-question.xpm%"         Module FvwmIdent 
+ "Save Desktop"                        Module FvwmSave 
+ "Debug%mini-bug2.xpm%"                Module FvwmDebug 
+ "Pager"                               Module FvwmPager 0 3 
+ "Window List%mini-windows.xpm%"       Module FvwmWinList 
+ "Talk"                                Module FvwmTalk 
+ "Configure%mini-hammer.xpm%"          Module FvwmConfig 
 

# This menu will fire up some very common utilities 
# 这个选单用来结合一些选单及工具 
AddToMenu "Utilities" "Utilities" Title 
+ "Top%mini-run.xpm%"                   Exec rxvt -T Top -n Top -e top & 
+ "Calculator%mini-calc.xpm%"           Exec xcalc & 
+ "Manual pages%mini-book1.xpm%"        Exec xman & 
+ "Magnifying glass%mini-zoom.xpm%"     Exec xmag & 
+ "Oclock%mini-clock.xpm%"              Exec oclock & 
+ ""                                    Nop 
+ "Applications%mini-x2.xpm%"           Popup Applications 
+ "Shells%mini-term.xpm"                Popup Shells 
+ "Games%mini-happy.xpm%"               Popup Games 
+ ""                                    Nop 
+ "Screensaver%mini-display.xpm%"       Popup Screensaver 
+ "Lock Screen%mini-lock.xpm%"          Popup Screenlock 
+ ""                                    Nop 
+ "Modules%mini-modules.xpm%"           Popup Module-Popup 
+ ""                                    Nop 
+ "Refresh Screen%mini-ray.xpm%"        Refresh 
+ ""                                    Nop 
+ "Exit Fvwm%mini-stop.xpm%"            Popup Quit-Verify 
 

# This defines the most common window operations 
# 在此定义一些常用的视窗操作功能 
AddToMenu "Window" "Window Ops" Title 
+ "&Move"                     Function Move-or-Raise 
+ "&Resize"                   Function Resize-or-Raise 
+ "R&aise%mini-raise.xpm%"    Raise 
+ "&Lower%mini-lower.xpm%"    Lower 
+ "(De)Iconify"               Iconify 
+ "(Un)Stick"                 Stick 
+ "(Un)Maximize"              Maximize 100 100 
+ ""                          Nop 
+ "Kill"                      Destroy 
+ "&Close"                    Delete 
+ ""                          Nop 
+ "Switch to..."              WindowList 
+ "Refresh Screen%mini-ray.xpm%" Refresh 
 

# A trimmed down version of "Window Ops", good for binding to decorations 
# 另一种版本的视窗操作功能 
AddToMenu "Window-Ops2" "&Restore"        Iconify -1 
+                       "&Move"           Move-or-Raise 
+                       "&Size"           Resize-or-Raise 
+                       "Mi&nimize"       Iconify 1 
+                       "Ma&ximize"       Maximize 100 100 
+                       ""                Nop 
+                       "&Kill"           Destroy 
+                       "&Close Alt+F4"   Delete 
 
#========================================================================# 
 

# One more complex function - couldn't be defined earlier because it used 
# pop-up menus 

# This creates the "system" menu for the title-bar window-ops 
# pop-up 

AddToFunc "window_ops_func" "C" PopUp Window-Ops2 
+              "M" PopUp Window-Ops2 
+              "D" Delete 
 
 
#========================================================================# 
 

# Mouse bindings 
# Mouse 功能设定 
 
# First, for the mouse in the root window 
# Button 1 gives the Utilities menu 
# Button 2 gives the Window Ops menu 
# Button 3 gives the WindowList (like TwmWindows) 
# I use the AnyModifier (A) option for the modifier field, so you can hold down 
# any shift-control-whatever combination you want! 
# 首先, 当mouse在root window时(左, 中, 右 = 1,2,3 ,0=any) 
# 按左键会呈现Utility选单 
# 按中键会呈现Window Ops选单 
# 按右键会呈现WindowList(视窗目录) 
# Context : 描述在何处使用mouse功能. 
#               R : root window 
#               W : 任何应用程式的视窗 
#               T : 标题列 
#               S : 视窗的边界 
#               F : 视窗的四个角 
#               I : 图示 
#           0 - 9 : 标题列上的按钮 
#               A : 除了标题列上的按钮以外的上述各项 
# Modifier : 配合键盘的组合 
#               N : 不配合任何键 
#               C : Control键 
#               S : Shift键 
#               M : Meta键 
#               A : C,S,M任意一个 
# Function : Fvwm95 的内建功能 
 
#     Button    Context Modifi  Function 
Mouse 1         R       A       Menu "Utilities" Nop 
Mouse 2         R       A       Menu "Window Ops" Nop 
Mouse 3         R       A       WindowList 
#Mouse 3        R       A       Module "winlist" FvwmWinList transient 
 
# Now the title bar buttons 
# Any button in the left title-bar button gives the window ops menu 
# Any button in the first right title-bar button Iconifies the window 
# Any button in the second title-bar button full-maximizes 
# Any button in the third (rightmost) title-bar button closes 
# Note the use of "Mouse 0" for AnyButton. 
# 现在定义mouse在标题列时的功能 
#     Button    Context Modif   Function 
Mouse 0         1       A       Function "window_ops_func" 
Mouse 1         2       A       Delete 
Mouse 0         4       A       Maximize 100 100 
Mouse 0         6       A       Iconify 
 

# Now the rest of the frame 
# Here I invoke my complex functions for Move-or-lower, Move-or-raise, 
# and Resize-or-Raise. 
# 现在开始定义mouse在边界时的部分 
# Button 1 in the corner pieces, with any modifiers, gives resize or raise 
Mouse 1         F       A       Function "Resize-or-Raise" 
# Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise 
Mouse 1         TS      A       Function "Move-or-Raise" 
 
# Button 1 in an icons gives move for a drag, de-iconify for a double-click, 
# nothing for a single click 
# Button 2 in an icon, w/ any modifiers, gives de-iconify 
Mouse 1         I       A       Function "Move-or-Iconify" 
Mouse 2         I       A       Iconify 
 
# Button 2 in the corners, sides, or title-bar gives the window ops menu 
Mouse 2         FST     A       Function "window_ops_func" 
 
# Button 3 anywhere in the decoration (except the title-bar buttons) 
# does a raise-lower 
Mouse 3         TSIF    A       RaiseLower 
 
# Button 3 in the window, with the Modifier-1 key (usually alt or diamond) 
# gives Raise-Lower. Used to use control here, but that interferes with xterm 
Mouse 3         W       M       RaiseLower 
 
#========================================================================# 
 
# Now some keyboard shortcuts. 
# 现在做一些键盘设定 
# Arrow Keys 
# press arrow + control anywhere, and scroll by 1 page 
# Ctrl+方向键  = 向方向键的方向移一个虚拟桌面 
Key Left        A       C       Scroll -100 0 
Key Right       A       C       Scroll +100 +0 
Key Up          A       C       Scroll +0   -100 
Key Down        A       C       Scroll +0   +100 
 
# press arrow + meta key, and scroll by 1/10 of a page 
# Alt+方向键  = 向方向键的方向移1/10个虚拟桌面 
Key Left        A       M       Scroll -10 +0 
Key Right       A       M       Scroll +10 +0 
Key Up          A       M       Scroll +0   -10 
Key Down        A       M       Scroll +0   +10 
 
# press shift arrow + control anywhere, and move the pointer by 1% of a page 
# Shift+Ctrl+方向键  = mouse游标向方向键的方向移1%个虚拟桌面 
Key Left        A       SC      CursorMove -1 0 
Key Right       A       SC      CursorMove +1 +0 
Key Up          A       SC      CursorMove +0   -1 
Key Down        A       SC      CursorMove +0   +1 
 
# press shift arrow + meta key, and move the pointer by 1/10 of a page 
# Shift+Alt+方向键  = mouse游标向方向键的方向移10%个虚拟桌面 
Key Left        A       SM      CursorMove -10 +0 
Key Right       A       SM      CursorMove +10 +0 
Key Up          A       SM      CursorMove +0   -10 
Key Down        A       SM      CursorMove +0   +10 
 
# Keyboard accelerators 
# 设定功能键 
Key F1          A       M       Popup "Utilities" 
Key F1          A       M       Popup "Utilities" 
Key F2          A       M       Popup "Window Ops" 
Key F3          A       M       Module "WindowList" FvwmWinList 
Key F4          A       M       Iconify 
Key F5          A       M       Move 
Key F6          A       M       Resize 
 
#Page Up/Dapge Down keys are used to scroll by one desktop page 
# in any context, press page up/down + control 
# in root context, just pressing page up/down is OK 

# I prefer the non-wrapping scroll. These are for example purposes only 
#Key Next       A       C       Scroll 100000 0 
#Key Next       R       N       Scroll 100000 0 
#Key Prior      A       C       Scroll -100000 0 
#Key Prior      R       N       Scroll -100000 0 
 
Key Tab         A       M       Prev Focus 
Key Tab         A       MS      Next Focus 
 
Key Escape      A       C       WindowList 
 
#========================================================================# 
 
# Definitions used by the modules 
# 模组使用的一些定义 
#------------------ Pager 的部分 
*FvwmPagerBack blue 
#       背景颜色 
*FvwmPagerFore red 
#       前景颜色 
*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmPagerHilight #c0c0c0 
#       Hilight区颜色 
*FvwmPagerGeometry -1500-1500 
#       位置 
*FvwmPagerSmallFont 5x8 
#       小字形 
#*FvwmPagerRows 3 
#       列数 
#*FvwmPagerColumns 2 
#       行数 
#*FvwmPagerLabel 0 Desktop 
#       第 n 个桌面的名称 
 
#------------------ FvwmButtons 的部分(from 2.0.42) 
*FvwmButtonsFore Black 
#       前景颜色 
*FvwmButtonsBack yellow 
#       背景颜色 
*FvwmButtonsFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
# Geometry - really likes to pick its own size, but giving a position is OK 
*FvwmButtonsGeometry -5-34 
#       位置 
# Layout: specify rows or columns, not both 
*FvwmButtonsRows 1 
#       列数 
# Define the buttons to use..... 
# 定义一些在FvwmButton内的东东 
*FvwmButtons(Title xclock, Icon clock.xpm, \ 
             Swallow(UseOld) "xclock" 'Exec xclock -bg \yellow \ 
             -padding 0 -geometry -1500-1500 &') 
*FvwmButtons(2x1, Title load, \ 
             Swallow(UseOld) "xload" 'Exec xload \ 
                     -nolabel -bg yellow -update 5 -geometry -1500-1500 &') 
#*FvwmButtons(Title xterm, Icon xterm.xpm, \ 
             Action 'Exec "XTerm" color-xterm \ 
                     -ls -sb -fn 8x13 -title "Color xterm" &') 
#*FvwmButtons(Title xfm, Icon FileManager.xpm, \ 
             Action 'Exec "Xfm" xfm -title "File Manager" &') 
#*FvwmButtons(Title textedit, Icon TextEditor.xpm, \ 
             Action 'Exec "Textedit" xedit &') 
#*FvwmButtons(Title xcalc, Icon Calculator.xpm, \ 
             Action 'Exec "Calculator" xcalc &') 
#*FvwmButtons(Title xview, Icon xv.color.xpm, \ 
             Action 'Exec "xv" xv &') 
#*FvwmButtons(Title gview, Icon gv.xpm, \ 
             Action 'Exec "ghostview" ghostview &') 
#*FvwmButtons(Title xcin , Icon chinese.xpm, \ 
#            Action 'Exec "xcin" xcin -fnb5 et15 -fn vga8x15 &') 
#*FvwmButtons(Title netscape, Icon netscape_3d.xpm, \ 
             Action 'Exec "Netscape" netscape -geometry 920x622+90+5 &') 
*FvwmButtons(Title xkill, Icon bomb.xpm, Action Destroy) 
*FvwmButtons(2x1, Swallow(UseOld) "Desktop" 'FvwmPager 0 0') 
 
#------------------ Identify 的设定 
*FvwmIdentBack #000080 
#       背景颜色 
*FvwmIdentFore Yellow 
#       前景颜色 
*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* 
#       字形 
 
#------------------ FvwmWinList 的设定 
*FvwmWinListBack #c0c0c0 
#       背景颜色 
*FvwmWinListFore Black 
#       前景颜色 
*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmWinListAction Click1 Iconify -1,Focus 
#       mouse 左键为跳至此window 
*FvwmWinListAction Click2 Iconify 
#       mouse 中键为图示化 
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent 
#       mouse 右键为显示其Window Identification 
*FvwmWinListUseSkipList 
*FvwmWinListGeometry +0-1 
*FvwmWinListShowCurrentDesk 
#       显示目前桌面上的window 
 
#------------------ FvwmTaskBar 
Style "FvwmTaskBar" NoTitle,BorderWidth 4,HandleWidth 4,Sticky,StaysOnTop,WindowListSkip,CirculateSkip 
 
*FvwmTaskBarGeometry +0-0 
#       位置 
*FvwmTaskBarFore Black 
#       前景颜色 
*FvwmTaskBarBack #c0c0c0 
#       背景颜色 
*FvwmTaskBarTipsFore black 
#       提示的前景颜色 
*FvwmTaskBarTipsBack bisque 
#       提示的背景颜色 
*FvwmTaskBarFont -adobe-helvetica-medium-i-*-*-*-120-*-*-*-*-*-* 
#       字形 
*FvwmTaskBarSelFont -adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* 
#       选择到之window的字形 
*FvwmTaskBarAction Click1 Iconify -1,Raise,Focus 
#       左键  ---- 跳至此window 
*FvwmTaskBarAction Click2 Iconify 
#       中键  ---- 图示化 
*FvwmTaskBarAction Click3 Module "FvwmIdent" FvwmIdent 
#       右键  ---- 显示window 资料 
*FvwmTaskBarUseSkipList 
#       ?? 
*FvwmTaskBarAutoStick 
#       自动固定 
*FvwmTaskBarStartName Start 
#       Start 的名称 
*FvwmTaskBarStartMenu StartMenu 
#       Start 使用的选单 
*FvwmTaskBarStartIcon mini-start.xpm 
#       Start 使用的图示 
*FvwmTaskBarShowTips 
#       是否显示提示 
#*FvwmTaskBarShowTransients 
 
#*FvwmTaskBarClockFormat %I:%M%p 
#*FvwmTaskBarHighlightFocus 
*FvwmTaskBarAutoHide 
#       自动隐藏 
*FvwmTaskBarMailCommand Exec color-xterm -T Mail -ls -fn 8x13 -e pine -i 
#       开启邮件命令 
 
-- 
⊙ 我来自: 资讯传奇 BBS 140.128.101.152 [FROM: root@pixel.m19.thu.edu.tw]  
 

BBS水木清华站∶精华区






















































































































































BBS水木清华站∶精华区
发信人: pixel.bbs@inf.cis.thu.edu.tw (), 看板: Linux 
标  题: Fvwm95之简介 
发信站: 资讯传奇 (Thu Dec 19 02:04:26 1996) 
转信站: sobee!netnews.ntu!linux2.tpml!UUserv.Net.tw!aidebbs!spring!news.cc.nct 
 
FVWM95-2 
 
简述 
 
FVWM95 的全名是 F? Virtual Window Manager,是专门为 X11 所设计,外形和用法都类 
似 Windows 95 的一个 window manager。□作者的说法,那个 F 所代表的意思是什麽, 
他自己也忘记了。而 FVWM95 是由 FVWM 所衍生出来的,FVWM 又是从 twm 衍生出来的。 
fvwm95 提供了 Virtual Desktop 和 Virtual screen,因此如果你的记忆体够大的话, 
要多大的桌面就有多大的桌面,同时它也和95一样,可以经由 keyboard 来控制 window, 
包括window的移动和基本操作等等,keyboard都以可胜任。它同时也提供了 
Configuration command 和 build-in command,方便我们随时作更动。另一个特性是它 
的 focus 方式,它提供了 Sloppy-focus 和 per-window focus 的功能。 
Sloppy-focus 是 focus-follows-mouse,当mouse由 window 移到 root window 时, 
focus 并不会移动,直到 mouse 移到其它 window。 
 
版权 
 
        fvwm95 既是 fvwm 所衍生的,当然就□袭了 fvwm 的版权. 
        fvwm 是由 Evan and Sutherland Computer Corporation 於1988年所取得版权。 
而在1989年由麻省理工学院取得版权。在1993年和1994年由Robert Nation取得版权。 
 
Fvwm95的window 
 
        Fvwm 的 window 就像95一样,提供了 3D-look 的外观,window 大小的调整可 
经由将 mouse 移到 window 的角落,此时会出现一个小L的 mouse cursor,利用它来 
控制 window 的大小。当将 mouse 移至 title bar 时,按下 mouse 左键便可以移动 
此 window,按下中键可以显示出 window 的控制视窗(包含window的移动,放大、缩小、 
关闭、删除等等),当然,当你将 mouse 移到 titile bar 的左方的小图示,并按下 
mouse 任一键也会显示出 window operation 的视窗。 
        Title-bar 里最多可以 10 个 button。而这些 button 都可以经由 user 自 
行定义,default 值是在左方的小图示。其功能如上述. 
 
Virtual Desktop 
 
        FVWM95 提供了多重虚拟桌面给 user 使用。这个 virtual desktop 可以比真 
实的萤幕还大。同时也可以利用 DeskTopSize 的内部指令来控制。当然每个Desktop的 
大小必须要一致。所有在 desktop 内的 window 都可经由 pager(一个小形□ widnow 
desktop)看到。Pager 是一个程式模组。之所以会做成 module 是因为它并不是 window 
使用的必要程式。所有开启的 window 也可利用 FvwmWinList 模组来显示在一个 popup 
menu中。 
        Sticky 是指将某个 window 锁定在 desktop 的某个位置,这种功能通常用在 
将某种程式 window 锁住,如可以将 clock 锁在某地。当然它也适用在 ICON 上。 
        Window 的 geometry 是指相对於目前的 viewport。例如: 
                xterm -grometry +0+0 
        就会将 xterm 开在 screen 可见的部分的最左上角的位置。当然我们也可以利 
用它来设定 widnow 的位置,但这个位置是对整个 Virtual desktop 而言,而非对单独 
的 desktop 而言。 
        或者我们也可以使用下列的方式: 
                xterm -geometry -5-5 
便可使 xterm 的右下角离 window 的右下角5个 pixel。但并非所有的应用程式 
都支援这个负数的指定方式。 
 
初使化(INITIALIZATION) 
 
        在作初始化的时候FVWM95会先找设定档 (configuration file) 来作一些设定。 
首先 fvwm95 会在使用者的目录中找一个叫做 .fvwm2rc95 的档案。如果在使用者的目录 
中找不到这个档案,它就会找 /usr/lib/X11/fvwm/.fvwm2rc95,如果再找不到,那 
fvwm95就无法执行了。 
        fvwm95 会设定两个可以让子视窗继□的环境变数。一个是$DISPLAY,用来描述 
那个 display 要使用 fvwm95,它可以是 unix:0.0 或 :0.0。但是它在透过 rsh 传递 
时并不能做得很好。所以有另一个 $HOSTDISPLAY 也可以使用,它是透过 TCP/IP 的方式 
(即使是在local)。fvwm95 可以利用两种 Function 来作初始化的工作:InitFunction 
和 RestartFunction,很明显的,一个是经由刚开始进入 X 时作设定,一个是经由 
restart来作设定。这些都可以经由rc档中的 AddToFunc 功能来作个性化(customized) 
来起动 modules、xterm 或其它你想要经由 fvwm95 来起动的程式。 
 
图示(icons) 
 
        基本的 FVWM95 设定是使用黑白的位元图示,就好像 twm 一样。但如果 XPM 有 
内建的话,你就可以使用类似 ctwm,MS-windows,machitash 之类的图示了,如果 
SHAPE 和 XPM 的选项都有选择的话,那就会有彩色且有形状的图示出来。 
 
模组(modules) 
 
        模组是一种类似分别执行的 process 分离程式(seperate program),但是却把 
执行指令传给 fvwm95 去执行。使用者可以自行撰写 module 而不会影响整个 fvwm95。 
        模组必须包含在 fvwm95 内,这样才能在 fvwm95 和 module 之间建立两个管线 
(pipe)互相连系。在 X 的执行阶段,Module 可以经由内建的指令来将 module 包含进来 
。Module 可以一直存在 X 中执行,也可以执行一段工作,然後离开。如果 module 正在 
执行时,X 被要求离开,那麽 fvwm95 会先关掉与 module 间的 pipe,而後再等待 
module 的离开回应。若 fvwm95 等了30秒还没收到回应,那它就会自动结束。可以同步 
执行的 module 的数目是受限於作业系统的可同时开档数。通常在 60-256 之间。 
 
M4 preprocessing 和 cpp preprocessing 
        fvwm95 提供了 M4 和 C 的preprocess。你可以使用 M4 或 C 来对你的 
fvwm2rc95 作前置处理。 
 
自动上升(auto-raise) 
 
        当 mouse 移到 window 时,window 可以自动上升或经数个亳秒後再上升。这 
是 FvwmAuto 这个 module 所提供的功能。 
 
设定参数 
 
        Fvwm95也提供了执行参数, 但在此不予介绍. 
 
设定档 
 
        设定档是用来设定 mouse、按键、颜色、虚拟萤幕大小,和其它相关事项。初始 
的设定档是 .fvwm2rc95。是利用内建的 READ 命令来读取。 
        若某行的开头是#的话,那麽那一行是没有作用的。若开头是*,那麽这一行是表 
示用来包含 module 的设定命令。Fvmw95 使得设定命令(configuration commands)和内 
建命令(built-in commnads)没有差别,所以刚才所提到的内建命令可以直接加在任一行 
上,让 fvwm95 去执行它。或者是加在 menu 上或者是加在某个 mouse buttom 或 
keyboard key 上,让使用者在有需要时才呼叫出来。 
        我们附了一个.fvwm2rc95在後面,并加以说明。请参照附一。 
 
 
 
 

# .fvwm2rc95 example configuration file for fvwm95-2.0.41 
# .fvwm2rc95 的设定档□例, 适用於fvwm95-2.0.41版 
 
#========================================================================# 
 

# Fonts - one for window titles, another for icons, and another for the menus 
# 字形 --- 一个用来设定视窗标题, 第二个给图示说明, 第三个给menu用. 
WindowFont      -adobe-times-bold-i-*-*-14-*-*-*-*-*-*-* 
IconFont        fixed 
MenuFont        -adobe-helvetica-medium-r-*-*-*-140-*-*-*-*-*-* 
 

# Set the default window colors. The syntax is: 
#  DefaultColors winforecolor winbackcolor titleforecolor titlebackcolor 
# where: 
#  winbackcolor    is the background (border) color of all windows, 
#                  including the menu windows 
#  winforecolor    is used for the menu text 
#  titlebackcolor  is the background color used for title bars of 
#                  non selected windows 
#  titleforecolor  is the color of the title text of non selected windows 

# 设定内定的视窗频色. 语法如下: 
# DefaultColors 视窗前景颜色 视窗背景颜色 视窗标题前景颜色 视窗标题背景颜色 
# 视窗前景颜色          : 给menu的文字用的颜色 
# 视窗背景颜色          : 给所有视窗用的背景(边界)颜色, 包括menu视窗 
# 视窗标题前景颜色      : 非使用中的视窗标题文字颜色 
# 视窗标题背景颜色      : 非使用中的视窗标题背景颜色 

DefaultColors   Black #c0c0c0 #c0c0c0 grey51 
 

# Text and background color for the title bar of the active (selected) window 
# 使用中的视窗之文字和背景颜色 

HilightColors   yellow #101080 
 

# Text and background color for the title bar of sticky windows 
# 定位视窗之文字和背景颜色 

StickyColors    blue #60c080 
 
# You can also use the Style command to set the colors of individual 
# title bars of some non-selected windows 
# 你也可以使用 Style 命令来设定其它非使用中视窗的标题颜色 

#Style "*" ForeColor #c0c0c0 
#Style "*" BackColor grey51 
 
#========================================================================# 
 

# Set up the major operating modes 
# 设定主要的操作模式 

 
Style "*" MouseFocus 
#Style "*" SloppyFocus 
#Style "*" ClickToFocus 
# Comment the above and uncomment one of the following if you prefer 
# focus follow mouse. 
# 将上述之一解除标示以选择如何选择视窗 
# Style "*" MouseFocus          : 当mouse移到视窗时即可使用该视窗 
# Style "*" SloppyFocus         : 当mouse移到视窗, mmmm...看不出和MouseFocus有何不同? 
# Style "*" ClickToFocus        : 当mouse移到视窗, 且在标题列按一下mouse左键,即可使用该视窗 
 
 
# If we use the FvwmTaskBar we don't need the icons :-) 
# Style "..." Icon are also commented below. 
# 如果我们使用FvwmTaskBar, 那我们就不必用 icon了, 不是吗? Ya...... 
# 至於其它有关Style指令的说明, 请参考man fvwm95-2 
# 其格式为 : 
# Style "视窗名称" 功能       ------ 其视窗名称可使用万用字元 
Style "*" NoIcon 
Style "*" MWMFunctions 
Style "*" HintOverride 
Style "*" MWMDecor 
Style "*" DecorateTransient 
 
OpaqueMoveSize 100 
# 视窗移动时视窗显示之百分比, 其百分比是移动视窗与整个视窗的比例 
# 0 :只显示边界 ---- 100: 完全显示 
EdgeScroll 100 100 
# 虚拟桌面之卷动方式, 当mouse 游标移到桌面之某百分比时, 桌面便会跳到其它桌面 
# EdgeScroll 水平比例 垂直比例 
EdgeResistance 10000 0 
# 虚拟桌面卷动之困难度与视窗移动之困难度 
# 第一个数字是当mouse移到边界多少毫秒之後便移到下个虚拟桌面 
# 第二个数字则表示视窗移动多少个pixel之後才会移到下个视窗 
 
 

# RandomPlacement prevents user interaction while placing windows: 
# RandomPlacement 可以让使用者在开新视窗时, 新视窗可随机选择位置出现 
# SmartPlacement  则可以使新视窗在不占其它视窗的位置的地方出现 
Style "*" RandomPlacement 
Style "*" SmartPlacement 
 

# NoPPosition instructs fvwm to ignore the PPosition field in window 
# geometry hints. Emacs annoyingly sets PPosition to (0,0)! 
# mmmm.....好像不是很重要.... 我找不到比较重要的说明.... ^{^ 
Style "*" NoPPosition 
 
#========================================================================# 
 

# Set the desk top size in units of physical screen size 
# 设定虚拟桌面对於真实桌面的大小 
# DeskTopSize 水平x垂直 
DeskTopSize 3x2 
 
#========================================================================# 
 

# Module path and paths to the icons 
# 模组的路径, 图示的路径 
ModulePath /usr/X11R6/lib/X11/fvwm95-2/ 
PixmapPath /usr/include/X11/pixmaps/:/usr/lib/X11/mini-icons/ 
IconPath   /usr/include/X11/bitmaps/:/usr/lib/TheNextLevel/pixmaps/ 
 
#========================================================================# 
 
# Set the decoration styles and window options 
# If compatible styles are set for a single window in multiple Style 
# commands, then the styles are ORed together. If conflicting styles 
# are set, the last one specified is used. 
# 设定视窗选项和美化功能, 如果对於单一视窗有相容的格式的设定, 那麽格式就会以混合的方式显现, 若有相冲突的格式设定, 那就会以最後设定的为准. 
# These commands should command before any menus or functions are defined, 
# and before the internal pager is started. 
# 这些设定必须在menu或function被定义以前设好, 而且也要在内部的pager开始以前设好 
 

# Default border and handle widths 
# 内定的边界大小 
Style "*" BorderWidth 4, HandleWidth 4 
 
Style "Fvwm*"        NoTitle, Sticky, WindowListSkip 
Style "Fvwm Pager"   StaysOnTop, NoHandles 
Style "FvwmBanner"   StaysOnTop 
Style "FvwmButtons"  NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 3 
Style "*lock"        NoTitle, NoHandles, Sticky, WindowListSkip 
Style "xbiff"        NoTitle,            Sticky, WindowListSkip 
 

# Some mini-icons for the title bar 
# 设定一些在标题列左方的小图示 
Style "*"         TitleIcon mini-x2.xpm 
Style "*xterm*"   TitleIcon mini-term.xpm 
Style "rxvt"      TitleIcon mini-term.xpm 
Style "xcalc"     TitleIcon mini-calc.xpm 
Style "xsession"  TitleIcon mini-bx2.xpm 
Style "xv"        TitleIcon mini-xv.xpm 
Style "Netscape"  TitleIcon mini-nscape.xpm 
Style "xmag"      TitleIcon mini-zoom.xpm 
Style "textedit"  TitleIcon mini-edit.xpm 
Style "tkps"      TitleIcon mini-run.xpm 
Style "Ghostview" TitleIcon mini-gv.xpm 
Style "Xcolorsel" TitleIcon mini-colors.xpm 
Style "IDL*"      TitleIcon mini-zoom.xpm 
Style "xeyes"     TitleIcon mini-eyes.xpm 
Style "*fm*"      TitleIcon mini-filemgr.xpm 
# xman resource names 
# xman 用的小图示 
Style "topBox"    TitleIcon mini-book1.xpm 
Style "help"      TitleIcon mini-book2.xpm 
Style "manualBrowser" TitleIcon mini-book2.xpm 
# xpaint resource names 
# xpaint 用的小图示 
Style "xpaint"    TitleIcon mini-paint.xpm 
Style "Canvas"    TitleIcon mini-paint.xpm 
Style "fatbits"   TitleIcon mini-paint.xpm 
Style "filebrowser" TitleIcon mini-ofolder.xpm 
 
Style "FvwmFile"  TitleIcon mini-ofolder.xpm 
Style "XDbx"      TitleIcon mini-bug2.xpm 
 
 
#Style "rxvt"       Icon  term.xpm 
#Style "xterm"      Icon xterm.xpm 
#Style "color_xterm" Icon rterm.xpm 
#Style "Appointment" Icon datebook.xpm 
#Style "xcalc"      Icon Rcalc.xpm 
#Style "xbiff"      Icon mail1.xpm 
#Style "xmh"        Icon mail1.xpm, StartsOnDesk 2 
#Style "xman"      Icon xman.xpm 
#Style "xvgr"      Icon graphs.xpm 
#Style "matlab"    Icon math4.xpm 
#Style "xmag"      Icon mag_glass.xpm 
#Style "xgraph"    Icon graphs.xpm 
#Style "xv"         Icon xview.xpm 
#Style "FvwmButtons"  Icon toolbox.xpm 
#Style "xconsole"   Icon koala.xpm 
#Style "xsession"   Icon koala.xpm 
#Style "textedit"   Icon textedit.xpm 
#Style "ghostview"  Icon gv.xpm 
 
#========================================================================# 
 

# Stuff to do at start-up 
# 起动fvwm95时该做的一些事 
 
# AddToFunc 功能名称 动作方式 工作事项 
# 动作方式有 "I"        当此功能被使用时, 立即动作 
#            "M"        则是mouse有动作时才启动 
#            "D"        双击mouse键才会动作 
AddToFunc "InitFunction"    "I" Exec xsetroot -solid cyan4 & 
+                          "I" Module FvwmBanner 
+                           "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
+                          "I" Module FvwmPager 0 3 
 
AddToFunc "RestartFunction" "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
#+                          "I" Module FvwmPager 0 3 
 
 
#========================================================================# 
 
# Now define some handy complex functions 
# 现在开始定义一些方便的复杂功能 

# This one moves and then raises the window if you drag the mouse, 
# only raises the window if you click, or does a full maximize if 
# you double click 
# 这个功能是用於当你将mouse移到标题列时按著mouse并移动时, 便可移动并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Move-or-Raise" "M" Move 
+                         "M" Raise 
+                         "C" Raise 
+                         "D" Maximize 100 100 
 

# This one moves and then lowers the window if you drag the mouse, 
# only lowers the window if you click, or does a RaiseLower if you double 
# click 
# 这个功能是用於移动并下降视窗用的 
# 单击一次mouse键则会使视窗下降, 双击则可转换成上升或下降 
 
AddToFunc "Move-or-Lower" "M" Move 
+                         "M" Lower 
+                         "C" Lower 
+                         "D" RaiseLower 
 

# This one moves or (de)iconifies: 
# 这个功能在於移动或做图示化 
AddToFunc "Move-or-Iconify" "M" Move 
+                           "D" Iconify 
 

# This one resizes and then raises the window if you drag the mouse, 
# only raises the window if you click,  or does a RaiseLower if you double 
# click 
# 这个功能是用於改变大小并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Resize-or-Raise" "M" Resize 
+                           "M" Raise 
+                           "C" Raise 
+                           "D" RaiseLower 
 
 
#========================================================================# 
 

# Now define the menus - defer bindings until later 
# 开始定义menus ---- 和binding的方式不同 
 
# This is for the Start menu of the FvwmTaskBar 
# 接下来的是用於 FvwmTaskBar的 Start menu 
# AddToMenu "选单名称"  "显示讯息" Title 
# +     "显示讯息     %图示名称%"           动作    程式名称及参数 
# 动作可分为 :           Exec           执行程式, 後面加程式名称及参数 
#                        Popup          蹦现新选单, 後面加选单名称 
#                        Nop            画分隔线 
#                        Refresh        重新显示萤幕 
AddToMenu "StartMenu" 
+ "New shell        %mini-sh1.xpm%"         Exec    color-xterm -ls -sb -fn 8x13 & 
+ "Manual pages     %mini-book1.xpm%"       Exec    xman & 
+ "Magnifying glass %mini-zoom.xpm%"        Exec    xmag & 
+ "Applications     %mini-x2.xpm%"          Popup   Applications 
+ "Games            %mini-happy.xpm%"       Popup   Games 
+ ""                                        Nop 
+ "Lock Screen      %mini-lock.xpm%"        Exec    xlock & 
+ "Refresh Screen   %mini-ray.xpm%"         Refresh 
+ ""                                        Nop 
+ "Exit Fvwm        %mini-stop.xpm%"        Popup   Quit-Verify 
 
AddToMenu "Shells" "Shells" Title 
+ "Xterm        (7x14 font)%mini-term.xpm%"     Exec xterm -sb -sl 500 -j -ls -fn 7x14 & 
+ "Chinese Cxvt (8x15 font)%chinese.xpm%"       Exec crxvt -fnb5 et15 -fn vga8x15 
-T Chinese-Rxvt -fat & 
# 这一行是我用来加上 crxvt 的, 用来呼叫小字形中文terminal 
+ "Color Xterm  (7x14 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 7x14 -fb 7x14bold -title "Color xterm" & 
+ "Color Xterm  (8x13 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 8x13 -title "Color xterm" & 
+ ""                                            Nop 
+ "Large Crxvt  (12x24 font)%chinese.xpm%"      Exec crxvt & 
# 这一行是我用来加上 crxvt 的, 用来呼叫大字形中文terminal 
+ "Large Xterm  (10x20 font)%mini-display.xpm%"         Exec nxterm -sb -sl 500 -j -ls -fn 10x20 & 
+ "Large Color Xterm    (10x20 font)%mini-display.xpm%" Exec color-xterm -sb -sl 500 -j -ls -fn 10x20 & 
+ ""                                            Nop 
+ "Xcin%chinese.xpm%"                           Exec xcin -in1 cj.tab & 
# 这一行是用来执行中文输入法 xcin用的. 
 
# 接下来的是萤幕保护 
AddToMenu "Screensaver" "Screensaver" Title 
+ "Bat%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode bat & 
+ "Blank%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode blank & 
+ "Blot%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode blot & 
+ "Bounce%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode bounce & 
+ "Flame%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode flame & 
+ "Galaxy%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode galaxy & 
+ "Grav%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode grav & 
+ "Helix%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode helix & 
+ "Hop%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode hop & 
+ "Hyper%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode hyper & 
+ "Kaleid%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode kaleid & 
+ "Life%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode life & 
+ "Life3d%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode life3d & 
+ "Maze%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode maze & 
+ "Pyro%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode pyro & 
+ "Qix%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode qix & 
+ "Random%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode random & 
+ "Rect%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rect & 
+ "Rock%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rock & 
+ "Rotor%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode rotor & 
+ "Sphere%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode sphere & 
+ "Spline%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode spline & 
+ "Swarm%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode swarm & 
+ "Wator%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode wator & 
+ "Worm%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode worm & 
+ "World%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode world & 
 
# 接下来的是萤幕锁定 
AddToMenu "Screenlock" "Lock Screen" Title 
+ "Bat%mini-rball.xpm%"         Exec xlock -nice 0 -mode bat & 
+ "Blank%mini-rball.xpm%"       Exec xlock -nice 0 -mode blank & 
+ "Blot%mini-rball.xpm%"        Exec xlock -nice 0 -mode blot & 
+ "Bounce%mini-rball.xpm%"      Exec xlock -nice 0 -mode bounce & 
+ "Flame%mini-rball.xpm%"       Exec xlock -nice 0 -mode flame & 
+ "Galaxy%mini-rball.xpm%"      Exec xlock -nice 0 -mode galaxy & 
+ "Grav%mini-rball.xpm%"        Exec xlock -nice 0 -mode grav & 
+ "Helix%mini-rball.xpm%"       Exec xlock -nice 0 -mode helix & 
+ "Hop%mini-rball.xpm%"         Exec xlock -nice 0 -mode hop & 
+ "Hyper%mini-rball.xpm%"       Exec xlock -nice 0 -mode hyper & 
+ "Kaleid%mini-rball.xpm%"      Exec xlock -nice 0 -mode kaleid & 
+ "Life%mini-rball.xpm%"        Exec xlock -nice 0 -mode life & 
+ "Life3d%mini-rball.xpm%"      Exec xlock -nice 0 -mode life3d & 
+ "Maze%mini-rball.xpm%"        Exec xlock -nice 0 -mode maze & 
+ "Pyro%mini-rball.xpm%"        Exec xlock -nice 0 -mode pyro & 
+ "Qix%mini-rball.xpm%"         Exec xlock -nice 0 -mode qix & 
+ "Random%mini-rball.xpm%"      Exec xlock -nice 0 -mode random & 
+ "Rect%mini-rball.xpm%"        Exec xlock -nice 0 -mode rect & 
+ "Rock%mini-rball.xpm%"        Exec xlock -nice 0 -mode rock & 
+ "Rotor%mini-rball.xpm%"       Exec xlock -nice 0 -mode rotor & 
+ "Sphere%mini-rball.xpm%"      Exec xlock -nice 0 -mode sphere & 
+ "Spline%mini-rball.xpm%"      Exec xlock -nice 0 -mode spline & 
+ "Swarm%mini-rball.xpm%"       Exec xlock -nice 0 -mode swarm & 
+ "Wator%mini-rball.xpm%"       Exec xlock -nice 0 -mode wator & 
+ "Worm%mini-rball.xpm%"        Exec xlock -nice 0 -mode worm & 
+ "World%mini-rball.xpm%"       Exec xlock -nice 0 -mode world & 
 
# 接下来是执行游戏程式 
AddToMenu "Games" "Games" Title 
+ "Abuse%%"                     Exec abuse & 
+ "Maze%mini-maze.xpm%"         Exec maze & 
+ "Spide%mini-exp.xpm"          Exec exec spider & 
+ "Xplaycd%mini-cdlabel.xpm%"   Exec exec xplaycd & 
+ "Xboard%mini-slon.xpm%"       Exec xboard & 
+ "Xeyes%mini-eyes.xpm%"        Exec xeyes & 
+ "Xhextris%mini-hextris.xpm%"  Exec exec xhextris & 
#+              "Xlander" Exec exec xlander & 
+ "Xlogo%mini-bx2.xpm%"         Exec xlogo & 
+ "Xmahjong%mini-xmahjongg.xpm%"        Exec exec xmahjongg & 
#+ "Xroach%mini-roach.xpm%"     Exec exec xroach & 
+ "Xtetris%mini-tetris.xpm%"    Exec xtetris & 
#+              "Xvier" Exec exec xvier & 
+ "Xbill%mini-cross.xpm%"       Exec xbill & 
+ "Xpcman%mini-question.xpm"    Exec xchomp & 
+ "Bomb%mini-bomb.xpm%"         Exec xdemineur & 
+ "Jewel%mini-question.xpm"     Exec xjewel & 
+ "Xsnow"                       Exec xsnow & 
+ "XEarth%mini-x2.xpm"          Exec xearth & 
 
# 接下来是执行应用程式 
AddToMenu "Applications" "Applications" Title 
+ "Netscape%mini-nscape.xpm%"   Exec netscape & 
+ "Ghostview%mini-gv.xpm%"      Exec ghostview & 
+ "Xview%mini-xv.xpm%"          Exec xv & 
+ "Xedit%mini-edit.xpm%"        Exec xedit -geometry 630x490+95+5 & 
+ "Xedit%mini-edit.xpm%"        Exec xedit & 
#+ "Xfilemanager%mini-filemgr.xpm%" Exec xfilemanager & 
+ "Xfm%mini-filemgr.xpm%"       Exec xfm & 
#+ "Xfractint%mini-fractal.xpm%"        Exec rxvt -font 7x14 -e xfractint map=chroma & 
+ "Xpaint%mini-paint.xpm%"      Exec xpaint & 
+ "Xgrab%mini-camera.xpm%"      Exec xgrab & 
+ "Xcolormap%mini-colors.xpm%"  Exec xcmap & 
+ "Xxgdb%mini-bug2.xpm%"        Exec xxgdb & 
+ "gdb%mini-bug1.xpm%"          Exec gdb & 
+ "Xwpe%mini-x.xpm%"            Exec xwpe & 
 

# This menu is invoked as a sub-menu - it allows you to quit, 
# restart, or switch to another WM. 
# 这个选单是一个子选单, 主要是用来让你离开, 重新开始或更换另一个window manager 
AddToMenu "Quit-Verify" "Really Quit Fvwm?" Title 
+ "Restart%mini-turn.xpm%"              Restart fvwm95-2 
+ ""                                    Nop 
+ "Start Fvwm%mini.fvwm.xpm%"           Restart fvwm 
+ "Start olvwm%mini-olwm.xpm%"          Restart /usr/openwin/bin/olvwm 
+ "Start olwm%mini-olwm.xpm%"           Restart /usr/openwin/bin/olwm 
+ ""                                    Nop 
+ "Yes, Really Quit%mini-exclam.xpm%"   Quit 
+ "No, Don't Quit%mini-cross.xpm%"      Nop 
 

# Provides a list of modules to fire off 
# 提供模组选单..... ^[^ 
AddToMenu "Module-Popup" "Modules" Title 
+ "Buttons"                             Module FvwmButtons 
+ "Audio%mini-audiovol.xpm%"            Module FvwmAudio 
+ "Clean-Up%mini-pencil.xpm%"           Module FvwmClean 
+ "Task bar"                            Module FvwmTaskBar 
+ "Identify%mini-question.xpm%"         Module FvwmIdent 
+ "Save Desktop"                        Module FvwmSave 
+ "Debug%mini-bug2.xpm%"                Module FvwmDebug 
+ "Pager"                               Module FvwmPager 0 3 
+ "Window List%mini-windows.xpm%"       Module FvwmWinList 
+ "Talk"                                Module FvwmTalk 
+ "Configure%mini-hammer.xpm%"          Module FvwmConfig 
 

# This menu will fire up some very common utilities 
# 这个选单用来结合一些选单及工具 
AddToMenu "Utilities" "Utilities" Title 
+ "Top%mini-run.xpm%"                   Exec rxvt -T Top -n Top -e top & 
+ "Calculator%mini-calc.xpm%"           Exec xcalc & 
+ "Manual pages%mini-book1.xpm%"        Exec xman & 
+ "Magnifying glass%mini-zoom.xpm%"     Exec xmag & 
+ "Oclock%mini-clock.xpm%"              Exec oclock & 
+ ""                                    Nop 
+ "Applications%mini-x2.xpm%"           Popup Applications 
+ "Shells%mini-term.xpm"                Popup Shells 
+ "Games%mini-happy.xpm%"               Popup Games 
+ ""                                    Nop 
+ "Screensaver%mini-display.xpm%"       Popup Screensaver 
+ "Lock Screen%mini-lock.xpm%"          Popup Screenlock 
+ ""                                    Nop 
+ "Modules%mini-modules.xpm%"           Popup Module-Popup 
+ ""                                    Nop 
+ "Refresh Screen%mini-ray.xpm%"        Refresh 
+ ""                                    Nop 
+ "Exit Fvwm%mini-stop.xpm%"            Popup Quit-Verify 
 

# This defines the most common window operations 
# 在此定义一些常用的视窗操作功能 
AddToMenu "Window" "Window Ops" Title 
+ "&Move"                     Function Move-or-Raise 
+ "&Resize"                   Function Resize-or-Raise 
+ "R&aise%mini-raise.xpm%"    Raise 
+ "&Lower%mini-lower.xpm%"    Lower 
+ "(De)Iconify"               Iconify 
+ "(Un)Stick"                 Stick 
+ "(Un)Maximize"              Maximize 100 100 
+ ""                          Nop 
+ "Kill"                      Destroy 
+ "&Close"                    Delete 
+ ""                          Nop 
+ "Switch to..."              WindowList 
+ "Refresh Screen%mini-ray.xpm%" Refresh 
 

# A trimmed down version of "Window Ops", good for binding to decorations 
# 另一种版本的视窗操作功能 
AddToMenu "Window-Ops2" "&Restore"        Iconify -1 
+                       "&Move"           Move-or-Raise 
+                       "&Size"           Resize-or-Raise 
+                       "Mi&nimize"       Iconify 1 
+                       "Ma&ximize"       Maximize 100 100 
+                       ""                Nop 
+                       "&Kill"           Destroy 
+                       "&Close Alt+F4"   Delete 
 
#========================================================================# 
 

# One more complex function - couldn't be defined earlier because it used 
# pop-up menus 

# This creates the "system" menu for the title-bar window-ops 
# pop-up 

AddToFunc "window_ops_func" "C" PopUp Window-Ops2 
+              "M" PopUp Window-Ops2 
+              "D" Delete 
 
 
#========================================================================# 
 

# Mouse bindings 
# Mouse 功能设定 
 
# First, for the mouse in the root window 
# Button 1 gives the Utilities menu 
# Button 2 gives the Window Ops menu 
# Button 3 gives the WindowList (like TwmWindows) 
# I use the AnyModifier (A) option for the modifier field, so you can hold down 
# any shift-control-whatever combination you want! 
# 首先, 当mouse在root window时(左, 中, 右 = 1,2,3 ,0=any) 
# 按左键会呈现Utility选单 
# 按中键会呈现Window Ops选单 
# 按右键会呈现WindowList(视窗目录) 
# Context : 描述在何处使用mouse功能. 
#               R : root window 
#               W : 任何应用程式的视窗 
#               T : 标题列 
#               S : 视窗的边界 
#               F : 视窗的四个角 
#               I : 图示 
#           0 - 9 : 标题列上的按钮 
#               A : 除了标题列上的按钮以外的上述各项 
# Modifier : 配合键盘的组合 
#               N : 不配合任何键 
#               C : Control键 
#               S : Shift键 
#               M : Meta键 
#               A : C,S,M任意一个 
# Function : Fvwm95 的内建功能 
 
#     Button    Context Modifi  Function 
Mouse 1         R       A       Menu "Utilities" Nop 
Mouse 2         R       A       Menu "Window Ops" Nop 
Mouse 3         R       A       WindowList 
#Mouse 3        R       A       Module "winlist" FvwmWinList transient 
 
# Now the title bar buttons 
# Any button in the left title-bar button gives the window ops menu 
# Any button in the first right title-bar button Iconifies the window 
# Any button in the second title-bar button full-maximizes 
# Any button in the third (rightmost) title-bar button closes 
# Note the use of "Mouse 0" for AnyButton. 
# 现在定义mouse在标题列时的功能 
#     Button    Context Modif   Function 
Mouse 0         1       A       Function "window_ops_func" 
Mouse 1         2       A       Delete 
Mouse 0         4       A       Maximize 100 100 
Mouse 0         6       A       Iconify 
 

# Now the rest of the frame 
# Here I invoke my complex functions for Move-or-lower, Move-or-raise, 
# and Resize-or-Raise. 
# 现在开始定义mouse在边界时的部分 
# Button 1 in the corner pieces, with any modifiers, gives resize or raise 
Mouse 1         F       A       Function "Resize-or-Raise" 
# Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise 
Mouse 1         TS      A       Function "Move-or-Raise" 
 
# Button 1 in an icons gives move for a drag, de-iconify for a double-click, 
# nothing for a single click 
# Button 2 in an icon, w/ any modifiers, gives de-iconify 
Mouse 1         I       A       Function "Move-or-Iconify" 
Mouse 2         I       A       Iconify 
 
# Button 2 in the corners, sides, or title-bar gives the window ops menu 
Mouse 2         FST     A       Function "window_ops_func" 
 
# Button 3 anywhere in the decoration (except the title-bar buttons) 
# does a raise-lower 
Mouse 3         TSIF    A       RaiseLower 
 
# Button 3 in the window, with the Modifier-1 key (usually alt or diamond) 
# gives Raise-Lower. Used to use control here, but that interferes with xterm 
Mouse 3         W       M       RaiseLower 
 
#========================================================================# 
 
# Now some keyboard shortcuts. 
# 现在做一些键盘设定 
# Arrow Keys 
# press arrow + control anywhere, and scroll by 1 page 
# Ctrl+方向键  = 向方向键的方向移一个虚拟桌面 
Key Left        A       C       Scroll -100 0 
Key Right       A       C       Scroll +100 +0 
Key Up          A       C       Scroll +0   -100 
Key Down        A       C       Scroll +0   +100 
 
# press arrow + meta key, and scroll by 1/10 of a page 
# Alt+方向键  = 向方向键的方向移1/10个虚拟桌面 
Key Left        A       M       Scroll -10 +0 
Key Right       A       M       Scroll +10 +0 
Key Up          A       M       Scroll +0   -10 
Key Down        A       M       Scroll +0   +10 
 
# press shift arrow + control anywhere, and move the pointer by 1% of a page 
# Shift+Ctrl+方向键  = mouse游标向方向键的方向移1%个虚拟桌面 
Key Left        A       SC      CursorMove -1 0 
Key Right       A       SC      CursorMove +1 +0 
Key Up          A       SC      CursorMove +0   -1 
Key Down        A       SC      CursorMove +0   +1 
 
# press shift arrow + meta key, and move the pointer by 1/10 of a page 
# Shift+Alt+方向键  = mouse游标向方向键的方向移10%个虚拟桌面 
Key Left        A       SM      CursorMove -10 +0 
Key Right       A       SM      CursorMove +10 +0 
Key Up          A       SM      CursorMove +0   -10 
Key Down        A       SM      CursorMove +0   +10 
 
# Keyboard accelerators 
# 设定功能键 
Key F1          A       M       Popup "Utilities" 
Key F1          A       M       Popup "Utilities" 
Key F2          A       M       Popup "Window Ops" 
Key F3          A       M       Module "WindowList" FvwmWinList 
Key F4          A       M       Iconify 
Key F5          A       M       Move 
Key F6          A       M       Resize 
 
#Page Up/Dapge Down keys are used to scroll by one desktop page 
# in any context, press page up/down + control 
# in root context, just pressing page up/down is OK 

# I prefer the non-wrapping scroll. These are for example purposes only 
#Key Next       A       C       Scroll 100000 0 
#Key Next       R       N       Scroll 100000 0 
#Key Prior      A       C       Scroll -100000 0 
#Key Prior      R       N       Scroll -100000 0 
 
Key Tab         A       M       Prev Focus 
Key Tab         A       MS      Next Focus 
 
Key Escape      A       C       WindowList 
 
#========================================================================# 
 
# Definitions used by the modules 
# 模组使用的一些定义 
#------------------ Pager 的部分 
*FvwmPagerBack blue 
#       背景颜色 
*FvwmPagerFore red 
#       前景颜色 
*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmPagerHilight #c0c0c0 
#       Hilight区颜色 
*FvwmPagerGeometry -1500-1500 
#       位置 
*FvwmPagerSmallFont 5x8 
#       小字形 
#*FvwmPagerRows 3 
#       列数 
#*FvwmPagerColumns 2 
#       行数 
#*FvwmPagerLabel 0 Desktop 
#       第 n 个桌面的名称 
 
#------------------ FvwmButtons 的部分(from 2.0.42) 
*FvwmButtonsFore Black 
#       前景颜色 
*FvwmButtonsBack yellow 
#       背景颜色 
*FvwmButtonsFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
# Geometry - really likes to pick its own size, but giving a position is OK 
*FvwmButtonsGeometry -5-34 
#       位置 
# Layout: specify rows or columns, not both 
*FvwmButtonsRows 1 
#       列数 
# Define the buttons to use..... 
# 定义一些在FvwmButton内的东东 
*FvwmButtons(Title xclock, Icon clock.xpm, \ 
             Swallow(UseOld) "xclock" 'Exec xclock -bg \yellow \ 
             -padding 0 -geometry -1500-1500 &') 
*FvwmButtons(2x1, Title load, \ 
             Swallow(UseOld) "xload" 'Exec xload \ 
                     -nolabel -bg yellow -update 5 -geometry -1500-1500 &') 
#*FvwmButtons(Title xterm, Icon xterm.xpm, \ 
             Action 'Exec "XTerm" color-xterm \ 
                     -ls -sb -fn 8x13 -title "Color xterm" &') 
#*FvwmButtons(Title xfm, Icon FileManager.xpm, \ 
             Action 'Exec "Xfm" xfm -title "File Manager" &') 
#*FvwmButtons(Title textedit, Icon TextEditor.xpm, \ 
             Action 'Exec "Textedit" xedit &') 
#*FvwmButtons(Title xcalc, Icon Calculator.xpm, \ 
             Action 'Exec "Calculator" xcalc &') 
#*FvwmButtons(Title xview, Icon xv.color.xpm, \ 
             Action 'Exec "xv" xv &') 
#*FvwmButtons(Title gview, Icon gv.xpm, \ 
             Action 'Exec "ghostview" ghostview &') 
#*FvwmButtons(Title xcin , Icon chinese.xpm, \ 
#            Action 'Exec "xcin" xcin -fnb5 et15 -fn vga8x15 &') 
#*FvwmButtons(Title netscape, Icon netscape_3d.xpm, \ 
             Action 'Exec "Netscape" netscape -geometry 920x622+90+5 &') 
*FvwmButtons(Title xkill, Icon bomb.xpm, Action Destroy) 
*FvwmButtons(2x1, Swallow(UseOld) "Desktop" 'FvwmPager 0 0') 
 
#------------------ Identify 的设定 
*FvwmIdentBack #000080 
#       背景颜色 
*FvwmIdentFore Yellow 
#       前景颜色 
*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* 
#       字形 
 
#------------------ FvwmWinList 的设定 
*FvwmWinListBack #c0c0c0 
#       背景颜色 
*FvwmWinListFore Black 
#       前景颜色 
*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmWinListAction Click1 Iconify -1,Focus 
#       mouse 左键为跳至此window 
*FvwmWinListAction Click2 Iconify 
#       mouse 中键为图示化 
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent 
#       mouse 右键为显示其Window Identification 
*FvwmWinListUseSkipList 
*FvwmWinListGeometry +0-1 
*FvwmWinListShowCurrentDesk 
#       显示目前桌面上的window 
 
#------------------ FvwmTaskBar 
Style "FvwmTaskBar" NoTitle,BorderWidth 4,HandleWidth 4,Sticky,StaysOnTop,WindowListSkip,CirculateSkip 
 
*FvwmTaskBarGeometry +0-0 
#       位置 
*FvwmTaskBarFore Black 
#       前景颜色 
*FvwmTaskBarBack #c0c0c0 
#       背景颜色 
*FvwmTaskBarTipsFore black 
#       提示的前景颜色 
*FvwmTaskBarTipsBack bisque 
#       提示的背景颜色 
*FvwmTaskBarFont -adobe-helvetica-medium-i-*-*-*-120-*-*-*-*-*-* 
#       字形 
*FvwmTaskBarSelFont -adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* 
#       选择到之window的字形 
*FvwmTaskBarAction Click1 Iconify -1,Raise,Focus 
#       左键  ---- 跳至此window 
*FvwmTaskBarAction Click2 Iconify 
#       中键  ---- 图示化 
*FvwmTaskBarAction Click3 Module "FvwmIdent" FvwmIdent 
#       右键  ---- 显示window 资料 
*FvwmTaskBarUseSkipList 
#       ?? 
*FvwmTaskBarAutoStick 
#       自动固定 
*FvwmTaskBarStartName Start 
#       Start 的名称 
*FvwmTaskBarStartMenu StartMenu 
#       Start 使用的选单 
*FvwmTaskBarStartIcon mini-start.xpm 
#       Start 使用的图示 
*FvwmTaskBarShowTips 
#       是否显示提示 
#*FvwmTaskBarShowTransients 
 
#*FvwmTaskBarClockFormat %I:%M%p 
#*FvwmTaskBarHighlightFocus 
*FvwmTaskBarAutoHide 
#       自动隐藏 
*FvwmTaskBarMailCommand Exec color-xterm -T Mail -ls -fn 8x13 -e pine -i 
#       开启邮件命令 
 
-- 
⊙ 我来自: 资讯传奇 BBS 140.128.101.152 [FROM: root@pixel.m19.thu.edu.tw]  
 

BBS水木清华站∶精华区BBS水木清华站∶精华区
发信人: pixel.bbs@inf.cis.thu.edu.tw (), 看板: Linux 
标  题: Fvwm95之简介 
发信站: 资讯传奇 (Thu Dec 19 02:04:26 1996) 
转信站: sobee!netnews.ntu!linux2.tpml!UUserv.Net.tw!aidebbs!spring!news.cc.nct 
 
FVWM95-2 
 
简述 
 
FVWM95 的全名是 F? Virtual Window Manager,是专门为 X11 所设计,外形和用法都类 
似 Windows 95 的一个 window manager。□作者的说法,那个 F 所代表的意思是什麽, 
他自己也忘记了。而 FVWM95 是由 FVWM 所衍生出来的,FVWM 又是从 twm 衍生出来的。 
fvwm95 提供了 Virtual Desktop 和 Virtual screen,因此如果你的记忆体够大的话, 
要多大的桌面就有多大的桌面,同时它也和95一样,可以经由 keyboard 来控制 window, 
包括window的移动和基本操作等等,keyboard都以可胜任。它同时也提供了 
Configuration command 和 build-in command,方便我们随时作更动。另一个特性是它 
的 focus 方式,它提供了 Sloppy-focus 和 per-window focus 的功能。 
Sloppy-focus 是 focus-follows-mouse,当mouse由 window 移到 root window 时, 
focus 并不会移动,直到 mouse 移到其它 window。 
 
版权 
 
        fvwm95 既是 fvwm 所衍生的,当然就□袭了 fvwm 的版权. 
        fvwm 是由 Evan and Sutherland Computer Corporation 於1988年所取得版权。 
而在1989年由麻省理工学院取得版权。在1993年和1994年由Robert Nation取得版权。 
 
Fvwm95的window 
 
        Fvwm 的 window 就像95一样,提供了 3D-look 的外观,window 大小的调整可 
经由将 mouse 移到 window 的角落,此时会出现一个小L的 mouse cursor,利用它来 
控制 window 的大小。当将 mouse 移至 title bar 时,按下 mouse 左键便可以移动 
此 window,按下中键可以显示出 window 的控制视窗(包含window的移动,放大、缩小、 
关闭、删除等等),当然,当你将 mouse 移到 titile bar 的左方的小图示,并按下 
mouse 任一键也会显示出 window operation 的视窗。 
        Title-bar 里最多可以 10 个 button。而这些 button 都可以经由 user 自 
行定义,default 值是在左方的小图示。其功能如上述. 
 
Virtual Desktop 
 
        FVWM95 提供了多重虚拟桌面给 user 使用。这个 virtual desktop 可以比真 
实的萤幕还大。同时也可以利用 DeskTopSize 的内部指令来控制。当然每个Desktop的 
大小必须要一致。所有在 desktop 内的 window 都可经由 pager(一个小形□ widnow 
desktop)看到。Pager 是一个程式模组。之所以会做成 module 是因为它并不是 window 
使用的必要程式。所有开启的 window 也可利用 FvwmWinList 模组来显示在一个 popup 
menu中。 
        Sticky 是指将某个 window 锁定在 desktop 的某个位置,这种功能通常用在 
将某种程式 window 锁住,如可以将 clock 锁在某地。当然它也适用在 ICON 上。 
        Window 的 geometry 是指相对於目前的 viewport。例如: 
                xterm -grometry +0+0 
        就会将 xterm 开在 screen 可见的部分的最左上角的位置。当然我们也可以利 
用它来设定 widnow 的位置,但这个位置是对整个 Virtual desktop 而言,而非对单独 
的 desktop 而言。 
        或者我们也可以使用下列的方式: 
                xterm -geometry -5-5 
便可使 xterm 的右下角离 window 的右下角5个 pixel。但并非所有的应用程式 
都支援这个负数的指定方式。 
 
初使化(INITIALIZATION) 
 
        在作初始化的时候FVWM95会先找设定档 (configuration file) 来作一些设定。 
首先 fvwm95 会在使用者的目录中找一个叫做 .fvwm2rc95 的档案。如果在使用者的目录 
中找不到这个档案,它就会找 /usr/lib/X11/fvwm/.fvwm2rc95,如果再找不到,那 
fvwm95就无法执行了。 
        fvwm95 会设定两个可以让子视窗继□的环境变数。一个是$DISPLAY,用来描述 
那个 display 要使用 fvwm95,它可以是 unix:0.0 或 :0.0。但是它在透过 rsh 传递 
时并不能做得很好。所以有另一个 $HOSTDISPLAY 也可以使用,它是透过 TCP/IP 的方式 
(即使是在local)。fvwm95 可以利用两种 Function 来作初始化的工作:InitFunction 
和 RestartFunction,很明显的,一个是经由刚开始进入 X 时作设定,一个是经由 
restart来作设定。这些都可以经由rc档中的 AddToFunc 功能来作个性化(customized) 
来起动 modules、xterm 或其它你想要经由 fvwm95 来起动的程式。 
 
图示(icons) 
 
        基本的 FVWM95 设定是使用黑白的位元图示,就好像 twm 一样。但如果 XPM 有 
内建的话,你就可以使用类似 ctwm,MS-windows,machitash 之类的图示了,如果 
SHAPE 和 XPM 的选项都有选择的话,那就会有彩色且有形状的图示出来。 
 
模组(modules) 
 
        模组是一种类似分别执行的 process 分离程式(seperate program),但是却把 
执行指令传给 fvwm95 去执行。使用者可以自行撰写 module 而不会影响整个 fvwm95。 
        模组必须包含在 fvwm95 内,这样才能在 fvwm95 和 module 之间建立两个管线 
(pipe)互相连系。在 X 的执行阶段,Module 可以经由内建的指令来将 module 包含进来 
。Module 可以一直存在 X 中执行,也可以执行一段工作,然後离开。如果 module 正在 
执行时,X 被要求离开,那麽 fvwm95 会先关掉与 module 间的 pipe,而後再等待 
module 的离开回应。若 fvwm95 等了30秒还没收到回应,那它就会自动结束。可以同步 
执行的 module 的数目是受限於作业系统的可同时开档数。通常在 60-256 之间。 
 
M4 preprocessing 和 cpp preprocessing 
        fvwm95 提供了 M4 和 C 的preprocess。你可以使用 M4 或 C 来对你的 
fvwm2rc95 作前置处理。 
 
自动上升(auto-raise) 
 
        当 mouse 移到 window 时,window 可以自动上升或经数个亳秒後再上升。这 
是 FvwmAuto 这个 module 所提供的功能。 
 
设定参数 
 
        Fvwm95也提供了执行参数, 但在此不予介绍. 
 
设定档 
 
        设定档是用来设定 mouse、按键、颜色、虚拟萤幕大小,和其它相关事项。初始 
的设定档是 .fvwm2rc95。是利用内建的 READ 命令来读取。 
        若某行的开头是#的话,那麽那一行是没有作用的。若开头是*,那麽这一行是表 
示用来包含 module 的设定命令。Fvmw95 使得设定命令(configuration commands)和内 
建命令(built-in commnads)没有差别,所以刚才所提到的内建命令可以直接加在任一行 
上,让 fvwm95 去执行它。或者是加在 menu 上或者是加在某个 mouse buttom 或 
keyboard key 上,让使用者在有需要时才呼叫出来。 
        我们附了一个.fvwm2rc95在後面,并加以说明。请参照附一。 
 
 
 
 

# .fvwm2rc95 example configuration file for fvwm95-2.0.41 
# .fvwm2rc95 的设定档□例, 适用於fvwm95-2.0.41版 
 
#========================================================================# 
 

# Fonts - one for window titles, another for icons, and another for the menus 
# 字形 --- 一个用来设定视窗标题, 第二个给图示说明, 第三个给menu用. 
WindowFont      -adobe-times-bold-i-*-*-14-*-*-*-*-*-*-* 
IconFont        fixed 
MenuFont        -adobe-helvetica-medium-r-*-*-*-140-*-*-*-*-*-* 
 

# Set the default window colors. The syntax is: 
#  DefaultColors winforecolor winbackcolor titleforecolor titlebackcolor 
# where: 
#  winbackcolor    is the background (border) color of all windows, 
#                  including the menu windows 
#  winforecolor    is used for the menu text 
#  titlebackcolor  is the background color used for title bars of 
#                  non selected windows 
#  titleforecolor  is the color of the title text of non selected windows 

# 设定内定的视窗频色. 语法如下: 
# DefaultColors 视窗前景颜色 视窗背景颜色 视窗标题前景颜色 视窗标题背景颜色 
# 视窗前景颜色          : 给menu的文字用的颜色 
# 视窗背景颜色          : 给所有视窗用的背景(边界)颜色, 包括menu视窗 
# 视窗标题前景颜色      : 非使用中的视窗标题文字颜色 
# 视窗标题背景颜色      : 非使用中的视窗标题背景颜色 

DefaultColors   Black #c0c0c0 #c0c0c0 grey51 
 

# Text and background color for the title bar of the active (selected) window 
# 使用中的视窗之文字和背景颜色 

HilightColors   yellow #101080 
 

# Text and background color for the title bar of sticky windows 
# 定位视窗之文字和背景颜色 

StickyColors    blue #60c080 
 
# You can also use the Style command to set the colors of individual 
# title bars of some non-selected windows 
# 你也可以使用 Style 命令来设定其它非使用中视窗的标题颜色 

#Style "*" ForeColor #c0c0c0 
#Style "*" BackColor grey51 
 
#========================================================================# 
 

# Set up the major operating modes 
# 设定主要的操作模式 

 
Style "*" MouseFocus 
#Style "*" SloppyFocus 
#Style "*" ClickToFocus 
# Comment the above and uncomment one of the following if you prefer 
# focus follow mouse. 
# 将上述之一解除标示以选择如何选择视窗 
# Style "*" MouseFocus          : 当mouse移到视窗时即可使用该视窗 
# Style "*" SloppyFocus         : 当mouse移到视窗, mmmm...看不出和MouseFocus有何不同? 
# Style "*" ClickToFocus        : 当mouse移到视窗, 且在标题列按一下mouse左键,即可使用该视窗 
 
 
# If we use the FvwmTaskBar we don't need the icons :-) 
# Style "..." Icon are also commented below. 
# 如果我们使用FvwmTaskBar, 那我们就不必用 icon了, 不是吗? Ya...... 
# 至於其它有关Style指令的说明, 请参考man fvwm95-2 
# 其格式为 : 
# Style "视窗名称" 功能       ------ 其视窗名称可使用万用字元 
Style "*" NoIcon 
Style "*" MWMFunctions 
Style "*" HintOverride 
Style "*" MWMDecor 
Style "*" DecorateTransient 
 
OpaqueMoveSize 100 
# 视窗移动时视窗显示之百分比, 其百分比是移动视窗与整个视窗的比例 
# 0 :只显示边界 ---- 100: 完全显示 
EdgeScroll 100 100 
# 虚拟桌面之卷动方式, 当mouse 游标移到桌面之某百分比时, 桌面便会跳到其它桌面 
# EdgeScroll 水平比例 垂直比例 
EdgeResistance 10000 0 
# 虚拟桌面卷动之困难度与视窗移动之困难度 
# 第一个数字是当mouse移到边界多少毫秒之後便移到下个虚拟桌面 
# 第二个数字则表示视窗移动多少个pixel之後才会移到下个视窗 
 
 

# RandomPlacement prevents user interaction while placing windows: 
# RandomPlacement 可以让使用者在开新视窗时, 新视窗可随机选择位置出现 
# SmartPlacement  则可以使新视窗在不占其它视窗的位置的地方出现 
Style "*" RandomPlacement 
Style "*" SmartPlacement 
 

# NoPPosition instructs fvwm to ignore the PPosition field in window 
# geometry hints. Emacs annoyingly sets PPosition to (0,0)! 
# mmmm.....好像不是很重要.... 我找不到比较重要的说明.... ^{^ 
Style "*" NoPPosition 
 
#========================================================================# 
 

# Set the desk top size in units of physical screen size 
# 设定虚拟桌面对於真实桌面的大小 
# DeskTopSize 水平x垂直 
DeskTopSize 3x2 
 
#========================================================================# 
 

# Module path and paths to the icons 
# 模组的路径, 图示的路径 
ModulePath /usr/X11R6/lib/X11/fvwm95-2/ 
PixmapPath /usr/include/X11/pixmaps/:/usr/lib/X11/mini-icons/ 
IconPath   /usr/include/X11/bitmaps/:/usr/lib/TheNextLevel/pixmaps/ 
 
#========================================================================# 
 
# Set the decoration styles and window options 
# If compatible styles are set for a single window in multiple Style 
# commands, then the styles are ORed together. If conflicting styles 
# are set, the last one specified is used. 
# 设定视窗选项和美化功能, 如果对於单一视窗有相容的格式的设定, 那麽格式就会以混合的方式显现, 若有相冲突的格式设定, 那就会以最後设定的为准. 
# These commands should command before any menus or functions are defined, 
# and before the internal pager is started. 
# 这些设定必须在menu或function被定义以前设好, 而且也要在内部的pager开始以前设好 
 

# Default border and handle widths 
# 内定的边界大小 
Style "*" BorderWidth 4, HandleWidth 4 
 
Style "Fvwm*"        NoTitle, Sticky, WindowListSkip 
Style "Fvwm Pager"   StaysOnTop, NoHandles 
Style "FvwmBanner"   StaysOnTop 
Style "FvwmButtons"  NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 3 
Style "*lock"        NoTitle, NoHandles, Sticky, WindowListSkip 
Style "xbiff"        NoTitle,            Sticky, WindowListSkip 
 

# Some mini-icons for the title bar 
# 设定一些在标题列左方的小图示 
Style "*"         TitleIcon mini-x2.xpm 
Style "*xterm*"   TitleIcon mini-term.xpm 
Style "rxvt"      TitleIcon mini-term.xpm 
Style "xcalc"     TitleIcon mini-calc.xpm 
Style "xsession"  TitleIcon mini-bx2.xpm 
Style "xv"        TitleIcon mini-xv.xpm 
Style "Netscape"  TitleIcon mini-nscape.xpm 
Style "xmag"      TitleIcon mini-zoom.xpm 
Style "textedit"  TitleIcon mini-edit.xpm 
Style "tkps"      TitleIcon mini-run.xpm 
Style "Ghostview" TitleIcon mini-gv.xpm 
Style "Xcolorsel" TitleIcon mini-colors.xpm 
Style "IDL*"      TitleIcon mini-zoom.xpm 
Style "xeyes"     TitleIcon mini-eyes.xpm 
Style "*fm*"      TitleIcon mini-filemgr.xpm 
# xman resource names 
# xman 用的小图示 
Style "topBox"    TitleIcon mini-book1.xpm 
Style "help"      TitleIcon mini-book2.xpm 
Style "manualBrowser" TitleIcon mini-book2.xpm 
# xpaint resource names 
# xpaint 用的小图示 
Style "xpaint"    TitleIcon mini-paint.xpm 
Style "Canvas"    TitleIcon mini-paint.xpm 
Style "fatbits"   TitleIcon mini-paint.xpm 
Style "filebrowser" TitleIcon mini-ofolder.xpm 
 
Style "FvwmFile"  TitleIcon mini-ofolder.xpm 
Style "XDbx"      TitleIcon mini-bug2.xpm 
 
 
#Style "rxvt"       Icon  term.xpm 
#Style "xterm"      Icon xterm.xpm 
#Style "color_xterm" Icon rterm.xpm 
#Style "Appointment" Icon datebook.xpm 
#Style "xcalc"      Icon Rcalc.xpm 
#Style "xbiff"      Icon mail1.xpm 
#Style "xmh"        Icon mail1.xpm, StartsOnDesk 2 
#Style "xman"      Icon xman.xpm 
#Style "xvgr"      Icon graphs.xpm 
#Style "matlab"    Icon math4.xpm 
#Style "xmag"      Icon mag_glass.xpm 
#Style "xgraph"    Icon graphs.xpm 
#Style "xv"         Icon xview.xpm 
#Style "FvwmButtons"  Icon toolbox.xpm 
#Style "xconsole"   Icon koala.xpm 
#Style "xsession"   Icon koala.xpm 
#Style "textedit"   Icon textedit.xpm 
#Style "ghostview"  Icon gv.xpm 
 
#========================================================================# 
 

# Stuff to do at start-up 
# 起动fvwm95时该做的一些事 
 
# AddToFunc 功能名称 动作方式 工作事项 
# 动作方式有 "I"        当此功能被使用时, 立即动作 
#            "M"        则是mouse有动作时才启动 
#            "D"        双击mouse键才会动作 
AddToFunc "InitFunction"    "I" Exec xsetroot -solid cyan4 & 
+                          "I" Module FvwmBanner 
+                           "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
+                          "I" Module FvwmPager 0 3 
 
AddToFunc "RestartFunction" "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
#+                          "I" Module FvwmPager 0 3 
 
 
#========================================================================# 
 
# Now define some handy complex functions 
# 现在开始定义一些方便的复杂功能 

# This one moves and then raises the window if you drag the mouse, 
# only raises the window if you click, or does a full maximize if 
# you double click 
# 这个功能是用於当你将mouse移到标题列时按著mouse并移动时, 便可移动并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Move-or-Raise" "M" Move 
+                         "M" Raise 
+                         "C" Raise 
+                         "D" Maximize 100 100 
 

# This one moves and then lowers the window if you drag the mouse, 
# only lowers the window if you click, or does a RaiseLower if you double 
# click 
# 这个功能是用於移动并下降视窗用的 
# 单击一次mouse键则会使视窗下降, 双击则可转换成上升或下降 
 
AddToFunc "Move-or-Lower" "M" Move 
+                         "M" Lower 
+                         "C" Lower 
+                         "D" RaiseLower 
 

# This one moves or (de)iconifies: 
# 这个功能在於移动或做图示化 
AddToFunc "Move-or-Iconify" "M" Move 
+                           "D" Iconify 
 

# This one resizes and then raises the window if you drag the mouse, 
# only raises the window if you click,  or does a RaiseLower if you double 
# click 
# 这个功能是用於改变大小并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Resize-or-Raise" "M" Resize 
+                           "M" Raise 
+                           "C" Raise 
+                           "D" RaiseLower 
 
 
#========================================================================# 
 

# Now define the menus - defer bindings until later 
# 开始定义menus ---- 和binding的方式不同 
 
# This is for the Start menu of the FvwmTaskBar 
# 接下来的是用於 FvwmTaskBar的 Start menu 
# AddToMenu "选单名称"  "显示讯息" Title 
# +     "显示讯息     %图示名称%"           动作    程式名称及参数 
# 动作可分为 :           Exec           执行程式, 後面加程式名称及参数 
#                        Popup          蹦现新选单, 後面加选单名称 
#                        Nop            画分隔线 
#                        Refresh        重新显示萤幕 
AddToMenu "StartMenu" 
+ "New shell        %mini-sh1.xpm%"         Exec    color-xterm -ls -sb -fn 8x13 & 
+ "Manual pages     %mini-book1.xpm%"       Exec    xman & 
+ "Magnifying glass %mini-zoom.xpm%"        Exec    xmag & 
+ "Applications     %mini-x2.xpm%"          Popup   Applications 
+ "Games            %mini-happy.xpm%"       Popup   Games 
+ ""                                        Nop 
+ "Lock Screen      %mini-lock.xpm%"        Exec    xlock & 
+ "Refresh Screen   %mini-ray.xpm%"         Refresh 
+ ""                                        Nop 
+ "Exit Fvwm        %mini-stop.xpm%"        Popup   Quit-Verify 
 
AddToMenu "Shells" "Shells" Title 
+ "Xterm        (7x14 font)%mini-term.xpm%"     Exec xterm -sb -sl 500 -j -ls -fn 7x14 & 
+ "Chinese Cxvt (8x15 font)%chinese.xpm%"       Exec crxvt -fnb5 et15 -fn vga8x15 
-T Chinese-Rxvt -fat & 
# 这一行是我用来加上 crxvt 的, 用来呼叫小字形中文terminal 
+ "Color Xterm  (7x14 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 7x14 -fb 7x14bold -title "Color xterm" & 
+ "Color Xterm  (8x13 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 8x13 -title "Color xterm" & 
+ ""                                            Nop 
+ "Large Crxvt  (12x24 font)%chinese.xpm%"      Exec crxvt & 
# 这一行是我用来加上 crxvt 的, 用来呼叫大字形中文terminal 
+ "Large Xterm  (10x20 font)%mini-display.xpm%"         Exec nxterm -sb -sl 500 -j -ls -fn 10x20 & 
+ "Large Color Xterm    (10x20 font)%mini-display.xpm%" Exec color-xterm -sb -sl 500 -j -ls -fn 10x20 & 
+ ""                                            Nop 
+ "Xcin%chinese.xpm%"                           Exec xcin -in1 cj.tab & 
# 这一行是用来执行中文输入法 xcin用的. 
 
# 接下来的是萤幕保护 
AddToMenu "Screensaver" "Screensaver" Title 
+ "Bat%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode bat & 
+ "Blank%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode blank & 
+ "Blot%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode blot & 
+ "Bounce%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode bounce & 
+ "Flame%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode flame & 
+ "Galaxy%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode galaxy & 
+ "Grav%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode grav & 
+ "Helix%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode helix & 
+ "Hop%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode hop & 
+ "Hyper%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode hyper & 
+ "Kaleid%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode kaleid & 
+ "Life%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode life & 
+ "Life3d%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode life3d & 
+ "Maze%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode maze & 
+ "Pyro%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode pyro & 
+ "Qix%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode qix & 
+ "Random%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode random & 
+ "Rect%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rect & 
+ "Rock%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rock & 
+ "Rotor%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode rotor & 
+ "Sphere%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode sphere & 
+ "Spline%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode spline & 
+ "Swarm%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode swarm & 
+ "Wator%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode wator & 
+ "Worm%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode worm & 
+ "World%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode world & 
 
# 接下来的是萤幕锁定 
AddToMenu "Screenlock" "Lock Screen" Title 
+ "Bat%mini-rball.xpm%"         Exec xlock -nice 0 -mode bat & 
+ "Blank%mini-rball.xpm%"       Exec xlock -nice 0 -mode blank & 
+ "Blot%mini-rball.xpm%"        Exec xlock -nice 0 -mode blot & 
+ "Bounce%mini-rball.xpm%"      Exec xlock -nice 0 -mode bounce & 
+ "Flame%mini-rball.xpm%"       Exec xlock -nice 0 -mode flame & 
+ "Galaxy%mini-rball.xpm%"      Exec xlock -nice 0 -mode galaxy & 
+ "Grav%mini-rball.xpm%"        Exec xlock -nice 0 -mode grav & 
+ "Helix%mini-rball.xpm%"       Exec xlock -nice 0 -mode helix & 
+ "Hop%mini-rball.xpm%"         Exec xlock -nice 0 -mode hop & 
+ "Hyper%mini-rball.xpm%"       Exec xlock -nice 0 -mode hyper & 
+ "Kaleid%mini-rball.xpm%"      Exec xlock -nice 0 -mode kaleid & 
+ "Life%mini-rball.xpm%"        Exec xlock -nice 0 -mode life & 
+ "Life3d%mini-rball.xpm%"      Exec xlock -nice 0 -mode life3d & 
+ "Maze%mini-rball.xpm%"        Exec xlock -nice 0 -mode maze & 
+ "Pyro%mini-rball.xpm%"        Exec xlock -nice 0 -mode pyro & 
+ "Qix%mini-rball.xpm%"         Exec xlock -nice 0 -mode qix & 
+ "Random%mini-rball.xpm%"      Exec xlock -nice 0 -mode random & 
+ "Rect%mini-rball.xpm%"        Exec xlock -nice 0 -mode rect & 
+ "Rock%mini-rball.xpm%"        Exec xlock -nice 0 -mode rock & 
+ "Rotor%mini-rball.xpm%"       Exec xlock -nice 0 -mode rotor & 
+ "Sphere%mini-rball.xpm%"      Exec xlock -nice 0 -mode sphere & 
+ "Spline%mini-rball.xpm%"      Exec xlock -nice 0 -mode spline & 
+ "Swarm%mini-rball.xpm%"       Exec xlock -nice 0 -mode swarm & 
+ "Wator%mini-rball.xpm%"       Exec xlock -nice 0 -mode wator & 
+ "Worm%mini-rball.xpm%"        Exec xlock -nice 0 -mode worm & 
+ "World%mini-rball.xpm%"       Exec xlock -nice 0 -mode world & 
 
# 接下来是执行游戏程式 
AddToMenu "Games" "Games" Title 
+ "Abuse%%"                     Exec abuse & 
+ "Maze%mini-maze.xpm%"         Exec maze & 
+ "Spide%mini-exp.xpm"          Exec exec spider & 
+ "Xplaycd%mini-cdlabel.xpm%"   Exec exec xplaycd & 
+ "Xboard%mini-slon.xpm%"       Exec xboard & 
+ "Xeyes%mini-eyes.xpm%"        Exec xeyes & 
+ "Xhextris%mini-hextris.xpm%"  Exec exec xhextris & 
#+              "Xlander" Exec exec xlander & 
+ "Xlogo%mini-bx2.xpm%"         Exec xlogo & 
+ "Xmahjong%mini-xmahjongg.xpm%"        Exec exec xmahjongg & 
#+ "Xroach%mini-roach.xpm%"     Exec exec xroach & 
+ "Xtetris%mini-tetris.xpm%"    Exec xtetris & 
#+              "Xvier" Exec exec xvier & 
+ "Xbill%mini-cross.xpm%"       Exec xbill & 
+ "Xpcman%mini-question.xpm"    Exec xchomp & 
+ "Bomb%mini-bomb.xpm%"         Exec xdemineur & 
+ "Jewel%mini-question.xpm"     Exec xjewel & 
+ "Xsnow"                       Exec xsnow & 
+ "XEarth%mini-x2.xpm"          Exec xearth & 
 
# 接下来是执行应用程式 
AddToMenu "Applications" "Applications" Title 
+ "Netscape%mini-nscape.xpm%"   Exec netscape & 
+ "Ghostview%mini-gv.xpm%"      Exec ghostview & 
+ "Xview%mini-xv.xpm%"          Exec xv & 
+ "Xedit%mini-edit.xpm%"        Exec xedit -geometry 630x490+95+5 & 
+ "Xedit%mini-edit.xpm%"        Exec xedit & 
#+ "Xfilemanager%mini-filemgr.xpm%" Exec xfilemanager & 
+ "Xfm%mini-filemgr.xpm%"       Exec xfm & 
#+ "Xfractint%mini-fractal.xpm%"        Exec rxvt -font 7x14 -e xfractint map=chroma & 
+ "Xpaint%mini-paint.xpm%"      Exec xpaint & 
+ "Xgrab%mini-camera.xpm%"      Exec xgrab & 
+ "Xcolormap%mini-colors.xpm%"  Exec xcmap & 
+ "Xxgdb%mini-bug2.xpm%"        Exec xxgdb & 
+ "gdb%mini-bug1.xpm%"          Exec gdb & 
+ "Xwpe%mini-x.xpm%"            Exec xwpe & 
 

# This menu is invoked as a sub-menu - it allows you to quit, 
# restart, or switch to another WM. 
# 这个选单是一个子选单, 主要是用来让你离开, 重新开始或更换另一个window manager 
AddToMenu "Quit-Verify" "Really Quit Fvwm?" Title 
+ "Restart%mini-turn.xpm%"              Restart fvwm95-2 
+ ""                                    Nop 
+ "Start Fvwm%mini.fvwm.xpm%"           Restart fvwm 
+ "Start olvwm%mini-olwm.xpm%"          Restart /usr/openwin/bin/olvwm 
+ "Start olwm%mini-olwm.xpm%"           Restart /usr/openwin/bin/olwm 
+ ""                                    Nop 
+ "Yes, Really Quit%mini-exclam.xpm%"   Quit 
+ "No, Don't Quit%mini-cross.xpm%"      Nop 
 

# Provides a list of modules to fire off 
# 提供模组选单..... ^[^ 
AddToMenu "Module-Popup" "Modules" Title 
+ "Buttons"                             Module FvwmButtons 
+ "Audio%mini-audiovol.xpm%"            Module FvwmAudio 
+ "Clean-Up%mini-pencil.xpm%"           Module FvwmClean 
+ "Task bar"                            Module FvwmTaskBar 
+ "Identify%mini-question.xpm%"         Module FvwmIdent 
+ "Save Desktop"                        Module FvwmSave 
+ "Debug%mini-bug2.xpm%"                Module FvwmDebug 
+ "Pager"                               Module FvwmPager 0 3 
+ "Window List%mini-windows.xpm%"       Module FvwmWinList 
+ "Talk"                                Module FvwmTalk 
+ "Configure%mini-hammer.xpm%"          Module FvwmConfig 
 

# This menu will fire up some very common utilities 
# 这个选单用来结合一些选单及工具 
AddToMenu "Utilities" "Utilities" Title 
+ "Top%mini-run.xpm%"                   Exec rxvt -T Top -n Top -e top & 
+ "Calculator%mini-calc.xpm%"           Exec xcalc & 
+ "Manual pages%mini-book1.xpm%"        Exec xman & 
+ "Magnifying glass%mini-zoom.xpm%"     Exec xmag & 
+ "Oclock%mini-clock.xpm%"              Exec oclock & 
+ ""                                    Nop 
+ "Applications%mini-x2.xpm%"           Popup Applications 
+ "Shells%mini-term.xpm"                Popup Shells 
+ "Games%mini-happy.xpm%"               Popup Games 
+ ""                                    Nop 
+ "Screensaver%mini-display.xpm%"       Popup Screensaver 
+ "Lock Screen%mini-lock.xpm%"          Popup Screenlock 
+ ""                                    Nop 
+ "Modules%mini-modules.xpm%"           Popup Module-Popup 
+ ""                                    Nop 
+ "Refresh Screen%mini-ray.xpm%"        Refresh 
+ ""                                    Nop 
+ "Exit Fvwm%mini-stop.xpm%"            Popup Quit-Verify 
 

# This defines the most common window operations 
# 在此定义一些常用的视窗操作功能 
AddToMenu "Window" "Window Ops" Title 
+ "&Move"                     Function Move-or-Raise 
+ "&Resize"                   Function Resize-or-Raise 
+ "R&aise%mini-raise.xpm%"    Raise 
+ "&Lower%mini-lower.xpm%"    Lower 
+ "(De)Iconify"               Iconify 
+ "(Un)Stick"                 Stick 
+ "(Un)Maximize"              Maximize 100 100 
+ ""                          Nop 
+ "Kill"                      Destroy 
+ "&Close"                    Delete 
+ ""                          Nop 
+ "Switch to..."              WindowList 
+ "Refresh Screen%mini-ray.xpm%" Refresh 
 

# A trimmed down version of "Window Ops", good for binding to decorations 
# 另一种版本的视窗操作功能 
AddToMenu "Window-Ops2" "&Restore"        Iconify -1 
+                       "&Move"           Move-or-Raise 
+                       "&Size"           Resize-or-Raise 
+                       "Mi&nimize"       Iconify 1 
+                       "Ma&ximize"       Maximize 100 100 
+                       ""                Nop 
+                       "&Kill"           Destroy 
+                       "&Close Alt+F4"   Delete 
 
#========================================================================# 
 

# One more complex function - couldn't be defined earlier because it used 
# pop-up menus 

# This creates the "system" menu for the title-bar window-ops 
# pop-up 

AddToFunc "window_ops_func" "C" PopUp Window-Ops2 
+              "M" PopUp Window-Ops2 
+              "D" Delete 
 
 
#========================================================================# 
 

# Mouse bindings 
# Mouse 功能设定 
 
# First, for the mouse in the root window 
# Button 1 gives the Utilities menu 
# Button 2 gives the Window Ops menu 
# Button 3 gives the WindowList (like TwmWindows) 
# I use the AnyModifier (A) option for the modifier field, so you can hold down 
# any shift-control-whatever combination you want! 
# 首先, 当mouse在root window时(左, 中, 右 = 1,2,3 ,0=any) 
# 按左键会呈现Utility选单 
# 按中键会呈现Window Ops选单 
# 按右键会呈现WindowList(视窗目录) 
# Context : 描述在何处使用mouse功能. 
#               R : root window 
#               W : 任何应用程式的视窗 
#               T : 标题列 
#               S : 视窗的边界 
#               F : 视窗的四个角 
#               I : 图示 
#           0 - 9 : 标题列上的按钮 
#               A : 除了标题列上的按钮以外的上述各项 
# Modifier : 配合键盘的组合 
#               N : 不配合任何键 
#               C : Control键 
#               S : Shift键 
#               M : Meta键 
#               A : C,S,M任意一个 
# Function : Fvwm95 的内建功能 
 
#     Button    Context Modifi  Function 
Mouse 1         R       A       Menu "Utilities" Nop 
Mouse 2         R       A       Menu "Window Ops" Nop 
Mouse 3         R       A       WindowList 
#Mouse 3        R       A       Module "winlist" FvwmWinList transient 
 
# Now the title bar buttons 
# Any button in the left title-bar button gives the window ops menu 
# Any button in the first right title-bar button Iconifies the window 
# Any button in the second title-bar button full-maximizes 
# Any button in the third (rightmost) title-bar button closes 
# Note the use of "Mouse 0" for AnyButton. 
# 现在定义mouse在标题列时的功能 
#     Button    Context Modif   Function 
Mouse 0         1       A       Function "window_ops_func" 
Mouse 1         2       A       Delete 
Mouse 0         4       A       Maximize 100 100 
Mouse 0         6       A       Iconify 
 

# Now the rest of the frame 
# Here I invoke my complex functions for Move-or-lower, Move-or-raise, 
# and Resize-or-Raise. 
# 现在开始定义mouse在边界时的部分 
# Button 1 in the corner pieces, with any modifiers, gives resize or raise 
Mouse 1         F       A       Function "Resize-or-Raise" 
# Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise 
Mouse 1         TS      A       Function "Move-or-Raise" 
 
# Button 1 in an icons gives move for a drag, de-iconify for a double-click, 
# nothing for a single click 
# Button 2 in an icon, w/ any modifiers, gives de-iconify 
Mouse 1         I       A       Function "Move-or-Iconify" 
Mouse 2         I       A       Iconify 
 
# Button 2 in the corners, sides, or title-bar gives the window ops menu 
Mouse 2         FST     A       Function "window_ops_func" 
 
# Button 3 anywhere in the decoration (except the title-bar buttons) 
# does a raise-lower 
Mouse 3         TSIF    A       RaiseLower 
 
# Button 3 in the window, with the Modifier-1 key (usually alt or diamond) 
# gives Raise-Lower. Used to use control here, but that interferes with xterm 
Mouse 3         W       M       RaiseLower 
 
#========================================================================# 
 
# Now some keyboard shortcuts. 
# 现在做一些键盘设定 
# Arrow Keys 
# press arrow + control anywhere, and scroll by 1 page 
# Ctrl+方向键  = 向方向键的方向移一个虚拟桌面 
Key Left        A       C       Scroll -100 0 
Key Right       A       C       Scroll +100 +0 
Key Up          A       C       Scroll +0   -100 
Key Down        A       C       Scroll +0   +100 
 
# press arrow + meta key, and scroll by 1/10 of a page 
# Alt+方向键  = 向方向键的方向移1/10个虚拟桌面 
Key Left        A       M       Scroll -10 +0 
Key Right       A       M       Scroll +10 +0 
Key Up          A       M       Scroll +0   -10 
Key Down        A       M       Scroll +0   +10 
 
# press shift arrow + control anywhere, and move the pointer by 1% of a page 
# Shift+Ctrl+方向键  = mouse游标向方向键的方向移1%个虚拟桌面 
Key Left        A       SC      CursorMove -1 0 
Key Right       A       SC      CursorMove +1 +0 
Key Up          A       SC      CursorMove +0   -1 
Key Down        A       SC      CursorMove +0   +1 
 
# press shift arrow + meta key, and move the pointer by 1/10 of a page 
# Shift+Alt+方向键  = mouse游标向方向键的方向移10%个虚拟桌面 
Key Left        A       SM      CursorMove -10 +0 
Key Right       A       SM      CursorMove +10 +0 
Key Up          A       SM      CursorMove +0   -10 
Key Down        A       SM      CursorMove +0   +10 
 
# Keyboard accelerators 
# 设定功能键 
Key F1          A       M       Popup "Utilities" 
Key F1          A       M       Popup "Utilities" 
Key F2          A       M       Popup "Window Ops" 
Key F3          A       M       Module "WindowList" FvwmWinList 
Key F4          A       M       Iconify 
Key F5          A       M       Move 
Key F6          A       M       Resize 
 
#Page Up/Dapge Down keys are used to scroll by one desktop page 
# in any context, press page up/down + control 
# in root context, just pressing page up/down is OK 

# I prefer the non-wrapping scroll. These are for example purposes only 
#Key Next       A       C       Scroll 100000 0 
#Key Next       R       N       Scroll 100000 0 
#Key Prior      A       C       Scroll -100000 0 
#Key Prior      R       N       Scroll -100000 0 
 
Key Tab         A       M       Prev Focus 
Key Tab         A       MS      Next Focus 
 
Key Escape      A       C       WindowList 
 
#========================================================================# 
 
# Definitions used by the modules 
# 模组使用的一些定义 
#------------------ Pager 的部分 
*FvwmPagerBack blue 
#       背景颜色 
*FvwmPagerFore red 
#       前景颜色 
*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmPagerHilight #c0c0c0 
#       Hilight区颜色 
*FvwmPagerGeometry -1500-1500 
#       位置 
*FvwmPagerSmallFont 5x8 
#       小字形 
#*FvwmPagerRows 3 
#       列数 
#*FvwmPagerColumns 2 
#       行数 
#*FvwmPagerLabel 0 Desktop 
#       第 n 个桌面的名称 
 
#------------------ FvwmButtons 的部分(from 2.0.42) 
*FvwmButtonsFore Black 
#       前景颜色 
*FvwmButtonsBack yellow 
#       背景颜色 
*FvwmButtonsFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
# Geometry - really likes to pick its own size, but giving a position is OK 
*FvwmButtonsGeometry -5-34 
#       位置 
# Layout: specify rows or columns, not both 
*FvwmButtonsRows 1 
#       列数 
# Define the buttons to use..... 
# 定义一些在FvwmButton内的东东 
*FvwmButtons(Title xclock, Icon clock.xpm, \ 
             Swallow(UseOld) "xclock" 'Exec xclock -bg \yellow \ 
             -padding 0 -geometry -1500-1500 &') 
*FvwmButtons(2x1, Title load, \ 
             Swallow(UseOld) "xload" 'Exec xload \ 
                     -nolabel -bg yellow -update 5 -geometry -1500-1500 &') 
#*FvwmButtons(Title xterm, Icon xterm.xpm, \ 
             Action 'Exec "XTerm" color-xterm \ 
                     -ls -sb -fn 8x13 -title "Color xterm" &') 
#*FvwmButtons(Title xfm, Icon FileManager.xpm, \ 
             Action 'Exec "Xfm" xfm -title "File Manager" &') 
#*FvwmButtons(Title textedit, Icon TextEditor.xpm, \ 
             Action 'Exec "Textedit" xedit &') 
#*FvwmButtons(Title xcalc, Icon Calculator.xpm, \ 
             Action 'Exec "Calculator" xcalc &') 
#*FvwmButtons(Title xview, Icon xv.color.xpm, \ 
             Action 'Exec "xv" xv &') 
#*FvwmButtons(Title gview, Icon gv.xpm, \ 
             Action 'Exec "ghostview" ghostview &') 
#*FvwmButtons(Title xcin , Icon chinese.xpm, \ 
#            Action 'Exec "xcin" xcin -fnb5 et15 -fn vga8x15 &') 
#*FvwmButtons(Title netscape, Icon netscape_3d.xpm, \ 
             Action 'Exec "Netscape" netscape -geometry 920x622+90+5 &') 
*FvwmButtons(Title xkill, Icon bomb.xpm, Action Destroy) 
*FvwmButtons(2x1, Swallow(UseOld) "Desktop" 'FvwmPager 0 0') 
 
#------------------ Identify 的设定 
*FvwmIdentBack #000080 
#       背景颜色 
*FvwmIdentFore Yellow 
#       前景颜色 
*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* 
#       字形 
 
#------------------ FvwmWinList 的设定 
*FvwmWinListBack #c0c0c0 
#       背景颜色 
*FvwmWinListFore Black 
#       前景颜色 
*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmWinListAction Click1 Iconify -1,Focus 
#       mouse 左键为跳至此window 
*FvwmWinListAction Click2 Iconify 
#       mouse 中键为图示化 
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent 
#       mouse 右键为显示其Window Identification 
*FvwmWinListUseSkipList 
*FvwmWinListGeometry +0-1 
*FvwmWinListShowCurrentDesk 
#       显示目前桌面上的window 
 
#------------------ FvwmTaskBar 
Style "FvwmTaskBar" NoTitle,BorderWidth 4,HandleWidth 4,Sticky,StaysOnTop,WindowListSkip,CirculateSkip 
 
*FvwmTaskBarGeometry +0-0 
#       位置 
*FvwmTaskBarFore Black 
#       前景颜色 
*FvwmTaskBarBack #c0c0c0 
#       背景颜色 
*FvwmTaskBarTipsFore black 
#       提示的前景颜色 
*FvwmTaskBarTipsBack bisque 
#       提示的背景颜色 
*FvwmTaskBarFont -adobe-helvetica-medium-i-*-*-*-120-*-*-*-*-*-* 
#       字形 
*FvwmTaskBarSelFont -adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* 
#       选择到之window的字形 
*FvwmTaskBarAction Click1 Iconify -1,Raise,Focus 
#       左键  ---- 跳至此window 
*FvwmTaskBarAction Click2 Iconify 
#       中键  ---- 图示化 
*FvwmTaskBarAction Click3 Module "FvwmIdent" FvwmIdent 
#       右键  ---- 显示window 资料 
*FvwmTaskBarUseSkipList 
#       ?? 
*FvwmTaskBarAutoStick 
#       自动固定 
*FvwmTaskBarStartName Start 
#       Start 的名称 
*FvwmTaskBarStartMenu StartMenu 
#       Start 使用的选单 
*FvwmTaskBarStartIcon mini-start.xpm 
#       Start 使用的图示 
*FvwmTaskBarShowTips 
#       是否显示提示 
#*FvwmTaskBarShowTransients 
 
#*FvwmTaskBarClockFormat %I:%M%p 
#*FvwmTaskBarHighlightFocus 
*FvwmTaskBarAutoHide 
#       自动隐藏 
*FvwmTaskBarMailCommand Exec color-xterm -T Mail -ls -fn 8x13 -e pine -i 
#       开启邮件命令 
 
-- 
⊙ 我来自: 资讯传奇 BBS 140.128.101.152 [FROM: root@pixel.m19.thu.edu.tw]  
 

BBS水木清华站∶精华区
































































































































































































































































































BBS水木清华站∶精华区
发信人: pixel.bbs@inf.cis.thu.edu.tw (), 看板: Linux 
标  题: Fvwm95之简介 
发信站: 资讯传奇 (Thu Dec 19 02:04:26 1996) 
转信站: sobee!netnews.ntu!linux2.tpml!UUserv.Net.tw!aidebbs!spring!news.cc.nct 
 
FVWM95-2 
 
简述 
 
FVWM95 的全名是 F? Virtual Window Manager,是专门为 X11 所设计,外形和用法都类 
似 Windows 95 的一个 window manager。□作者的说法,那个 F 所代表的意思是什麽, 
他自己也忘记了。而 FVWM95 是由 FVWM 所衍生出来的,FVWM 又是从 twm 衍生出来的。 
fvwm95 提供了 Virtual Desktop 和 Virtual screen,因此如果你的记忆体够大的话, 
要多大的桌面就有多大的桌面,同时它也和95一样,可以经由 keyboard 来控制 window, 
包括window的移动和基本操作等等,keyboard都以可胜任。它同时也提供了 
Configuration command 和 build-in command,方便我们随时作更动。另一个特性是它 
的 focus 方式,它提供了 Sloppy-focus 和 per-window focus 的功能。 
Sloppy-focus 是 focus-follows-mouse,当mouse由 window 移到 root window 时, 
focus 并不会移动,直到 mouse 移到其它 window。 
 
版权 
 
        fvwm95 既是 fvwm 所衍生的,当然就□袭了 fvwm 的版权. 
        fvwm 是由 Evan and Sutherland Computer Corporation 於1988年所取得版权。 
而在1989年由麻省理工学院取得版权。在1993年和1994年由Robert Nation取得版权。 
 
Fvwm95的window 
 
        Fvwm 的 window 就像95一样,提供了 3D-look 的外观,window 大小的调整可 
经由将 mouse 移到 window 的角落,此时会出现一个小L的 mouse cursor,利用它来 
控制 window 的大小。当将 mouse 移至 title bar 时,按下 mouse 左键便可以移动 
此 window,按下中键可以显示出 window 的控制视窗(包含window的移动,放大、缩小、 
关闭、删除等等),当然,当你将 mouse 移到 titile bar 的左方的小图示,并按下 
mouse 任一键也会显示出 window operation 的视窗。 
        Title-bar 里最多可以 10 个 button。而这些 button 都可以经由 user 自 
行定义,default 值是在左方的小图示。其功能如上述. 
 
Virtual Desktop 
 
        FVWM95 提供了多重虚拟桌面给 user 使用。这个 virtual desktop 可以比真 
实的萤幕还大。同时也可以利用 DeskTopSize 的内部指令来控制。当然每个Desktop的 
大小必须要一致。所有在 desktop 内的 window 都可经由 pager(一个小形□ widnow 
desktop)看到。Pager 是一个程式模组。之所以会做成 module 是因为它并不是 window 
使用的必要程式。所有开启的 window 也可利用 FvwmWinList 模组来显示在一个 popup 
menu中。 
        Sticky 是指将某个 window 锁定在 desktop 的某个位置,这种功能通常用在 
将某种程式 window 锁住,如可以将 clock 锁在某地。当然它也适用在 ICON 上。 
        Window 的 geometry 是指相对於目前的 viewport。例如: 
                xterm -grometry +0+0 
        就会将 xterm 开在 screen 可见的部分的最左上角的位置。当然我们也可以利 
用它来设定 widnow 的位置,但这个位置是对整个 Virtual desktop 而言,而非对单独 
的 desktop 而言。 
        或者我们也可以使用下列的方式: 
                xterm -geometry -5-5 
便可使 xterm 的右下角离 window 的右下角5个 pixel。但并非所有的应用程式 
都支援这个负数的指定方式。 
 
初使化(INITIALIZATION) 
 
        在作初始化的时候FVWM95会先找设定档 (configuration file) 来作一些设定。 
首先 fvwm95 会在使用者的目录中找一个叫做 .fvwm2rc95 的档案。如果在使用者的目录 
中找不到这个档案,它就会找 /usr/lib/X11/fvwm/.fvwm2rc95,如果再找不到,那 
fvwm95就无法执行了。 
        fvwm95 会设定两个可以让子视窗继□的环境变数。一个是$DISPLAY,用来描述 
那个 display 要使用 fvwm95,它可以是 unix:0.0 或 :0.0。但是它在透过 rsh 传递 
时并不能做得很好。所以有另一个 $HOSTDISPLAY 也可以使用,它是透过 TCP/IP 的方式 
(即使是在local)。fvwm95 可以利用两种 Function 来作初始化的工作:InitFunction 
和 RestartFunction,很明显的,一个是经由刚开始进入 X 时作设定,一个是经由 
restart来作设定。这些都可以经由rc档中的 AddToFunc 功能来作个性化(customized) 
来起动 modules、xterm 或其它你想要经由 fvwm95 来起动的程式。 
 
图示(icons) 
 
        基本的 FVWM95 设定是使用黑白的位元图示,就好像 twm 一样。但如果 XPM 有 
内建的话,你就可以使用类似 ctwm,MS-windows,machitash 之类的图示了,如果 
SHAPE 和 XPM 的选项都有选择的话,那就会有彩色且有形状的图示出来。 
 
模组(modules) 
 
        模组是一种类似分别执行的 process 分离程式(seperate program),但是却把 
执行指令传给 fvwm95 去执行。使用者可以自行撰写 module 而不会影响整个 fvwm95。 
        模组必须包含在 fvwm95 内,这样才能在 fvwm95 和 module 之间建立两个管线 
(pipe)互相连系。在 X 的执行阶段,Module 可以经由内建的指令来将 module 包含进来 
。Module 可以一直存在 X 中执行,也可以执行一段工作,然後离开。如果 module 正在 
执行时,X 被要求离开,那麽 fvwm95 会先关掉与 module 间的 pipe,而後再等待 
module 的离开回应。若 fvwm95 等了30秒还没收到回应,那它就会自动结束。可以同步 
执行的 module 的数目是受限於作业系统的可同时开档数。通常在 60-256 之间。 
 
M4 preprocessing 和 cpp preprocessing 
        fvwm95 提供了 M4 和 C 的preprocess。你可以使用 M4 或 C 来对你的 
fvwm2rc95 作前置处理。 
 
自动上升(auto-raise) 
 
        当 mouse 移到 window 时,window 可以自动上升或经数个亳秒後再上升。这 
是 FvwmAuto 这个 module 所提供的功能。 
 
设定参数 
 
        Fvwm95也提供了执行参数, 但在此不予介绍. 
 
设定档 
 
        设定档是用来设定 mouse、按键、颜色、虚拟萤幕大小,和其它相关事项。初始 
的设定档是 .fvwm2rc95。是利用内建的 READ 命令来读取。 
        若某行的开头是#的话,那麽那一行是没有作用的。若开头是*,那麽这一行是表 
示用来包含 module 的设定命令。Fvmw95 使得设定命令(configuration commands)和内 
建命令(built-in commnads)没有差别,所以刚才所提到的内建命令可以直接加在任一行 
上,让 fvwm95 去执行它。或者是加在 menu 上或者是加在某个 mouse buttom 或 
keyboard key 上,让使用者在有需要时才呼叫出来。 
        我们附了一个.fvwm2rc95在後面,并加以说明。请参照附一。 
 
 
 
 

# .fvwm2rc95 example configuration file for fvwm95-2.0.41 
# .fvwm2rc95 的设定档□例, 适用於fvwm95-2.0.41版 
 
#========================================================================# 
 

# Fonts - one for window titles, another for icons, and another for the menus 
# 字形 --- 一个用来设定视窗标题, 第二个给图示说明, 第三个给menu用. 
WindowFont      -adobe-times-bold-i-*-*-14-*-*-*-*-*-*-* 
IconFont        fixed 
MenuFont        -adobe-helvetica-medium-r-*-*-*-140-*-*-*-*-*-* 
 

# Set the default window colors. The syntax is: 
#  DefaultColors winforecolor winbackcolor titleforecolor titlebackcolor 
# where: 
#  winbackcolor    is the background (border) color of all windows, 
#                  including the menu windows 
#  winforecolor    is used for the menu text 
#  titlebackcolor  is the background color used for title bars of 
#                  non selected windows 
#  titleforecolor  is the color of the title text of non selected windows 

# 设定内定的视窗频色. 语法如下: 
# DefaultColors 视窗前景颜色 视窗背景颜色 视窗标题前景颜色 视窗标题背景颜色 
# 视窗前景颜色          : 给menu的文字用的颜色 
# 视窗背景颜色          : 给所有视窗用的背景(边界)颜色, 包括menu视窗 
# 视窗标题前景颜色      : 非使用中的视窗标题文字颜色 
# 视窗标题背景颜色      : 非使用中的视窗标题背景颜色 

DefaultColors   Black #c0c0c0 #c0c0c0 grey51 
 

# Text and background color for the title bar of the active (selected) window 
# 使用中的视窗之文字和背景颜色 

HilightColors   yellow #101080 
 

# Text and background color for the title bar of sticky windows 
# 定位视窗之文字和背景颜色 

StickyColors    blue #60c080 
 
# You can also use the Style command to set the colors of individual 
# title bars of some non-selected windows 
# 你也可以使用 Style 命令来设定其它非使用中视窗的标题颜色 

#Style "*" ForeColor #c0c0c0 
#Style "*" BackColor grey51 
 
#========================================================================# 
 

# Set up the major operating modes 
# 设定主要的操作模式 

 
Style "*" MouseFocus 
#Style "*" SloppyFocus 
#Style "*" ClickToFocus 
# Comment the above and uncomment one of the following if you prefer 
# focus follow mouse. 
# 将上述之一解除标示以选择如何选择视窗 
# Style "*" MouseFocus          : 当mouse移到视窗时即可使用该视窗 
# Style "*" SloppyFocus         : 当mouse移到视窗, mmmm...看不出和MouseFocus有何不同? 
# Style "*" ClickToFocus        : 当mouse移到视窗, 且在标题列按一下mouse左键,即可使用该视窗 
 
 
# If we use the FvwmTaskBar we don't need the icons :-) 
# Style "..." Icon are also commented below. 
# 如果我们使用FvwmTaskBar, 那我们就不必用 icon了, 不是吗? Ya...... 
# 至於其它有关Style指令的说明, 请参考man fvwm95-2 
# 其格式为 : 
# Style "视窗名称" 功能       ------ 其视窗名称可使用万用字元 
Style "*" NoIcon 
Style "*" MWMFunctions 
Style "*" HintOverride 
Style "*" MWMDecor 
Style "*" DecorateTransient 
 
OpaqueMoveSize 100 
# 视窗移动时视窗显示之百分比, 其百分比是移动视窗与整个视窗的比例 
# 0 :只显示边界 ---- 100: 完全显示 
EdgeScroll 100 100 
# 虚拟桌面之卷动方式, 当mouse 游标移到桌面之某百分比时, 桌面便会跳到其它桌面 
# EdgeScroll 水平比例 垂直比例 
EdgeResistance 10000 0 
# 虚拟桌面卷动之困难度与视窗移动之困难度 
# 第一个数字是当mouse移到边界多少毫秒之後便移到下个虚拟桌面 
# 第二个数字则表示视窗移动多少个pixel之後才会移到下个视窗 
 
 

# RandomPlacement prevents user interaction while placing windows: 
# RandomPlacement 可以让使用者在开新视窗时, 新视窗可随机选择位置出现 
# SmartPlacement  则可以使新视窗在不占其它视窗的位置的地方出现 
Style "*" RandomPlacement 
Style "*" SmartPlacement 
 

# NoPPosition instructs fvwm to ignore the PPosition field in window 
# geometry hints. Emacs annoyingly sets PPosition to (0,0)! 
# mmmm.....好像不是很重要.... 我找不到比较重要的说明.... ^{^ 
Style "*" NoPPosition 
 
#========================================================================# 
 

# Set the desk top size in units of physical screen size 
# 设定虚拟桌面对於真实桌面的大小 
# DeskTopSize 水平x垂直 
DeskTopSize 3x2 
 
#========================================================================# 
 

# Module path and paths to the icons 
# 模组的路径, 图示的路径 
ModulePath /usr/X11R6/lib/X11/fvwm95-2/ 
PixmapPath /usr/include/X11/pixmaps/:/usr/lib/X11/mini-icons/ 
IconPath   /usr/include/X11/bitmaps/:/usr/lib/TheNextLevel/pixmaps/ 
 
#========================================================================# 
 
# Set the decoration styles and window options 
# If compatible styles are set for a single window in multiple Style 
# commands, then the styles are ORed together. If conflicting styles 
# are set, the last one specified is used. 
# 设定视窗选项和美化功能, 如果对於单一视窗有相容的格式的设定, 那麽格式就会以混合的方式显现, 若有相冲突的格式设定, 那就会以最後设定的为准. 
# These commands should command before any menus or functions are defined, 
# and before the internal pager is started. 
# 这些设定必须在menu或function被定义以前设好, 而且也要在内部的pager开始以前设好 
 

# Default border and handle widths 
# 内定的边界大小 
Style "*" BorderWidth 4, HandleWidth 4 
 
Style "Fvwm*"        NoTitle, Sticky, WindowListSkip 
Style "Fvwm Pager"   StaysOnTop, NoHandles 
Style "FvwmBanner"   StaysOnTop 
Style "FvwmButtons"  NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 3 
Style "*lock"        NoTitle, NoHandles, Sticky, WindowListSkip 
Style "xbiff"        NoTitle,            Sticky, WindowListSkip 
 

# Some mini-icons for the title bar 
# 设定一些在标题列左方的小图示 
Style "*"         TitleIcon mini-x2.xpm 
Style "*xterm*"   TitleIcon mini-term.xpm 
Style "rxvt"      TitleIcon mini-term.xpm 
Style "xcalc"     TitleIcon mini-calc.xpm 
Style "xsession"  TitleIcon mini-bx2.xpm 
Style "xv"        TitleIcon mini-xv.xpm 
Style "Netscape"  TitleIcon mini-nscape.xpm 
Style "xmag"      TitleIcon mini-zoom.xpm 
Style "textedit"  TitleIcon mini-edit.xpm 
Style "tkps"      TitleIcon mini-run.xpm 
Style "Ghostview" TitleIcon mini-gv.xpm 
Style "Xcolorsel" TitleIcon mini-colors.xpm 
Style "IDL*"      TitleIcon mini-zoom.xpm 
Style "xeyes"     TitleIcon mini-eyes.xpm 
Style "*fm*"      TitleIcon mini-filemgr.xpm 
# xman resource names 
# xman 用的小图示 
Style "topBox"    TitleIcon mini-book1.xpm 
Style "help"      TitleIcon mini-book2.xpm 
Style "manualBrowser" TitleIcon mini-book2.xpm 
# xpaint resource names 
# xpaint 用的小图示 
Style "xpaint"    TitleIcon mini-paint.xpm 
Style "Canvas"    TitleIcon mini-paint.xpm 
Style "fatbits"   TitleIcon mini-paint.xpm 
Style "filebrowser" TitleIcon mini-ofolder.xpm 
 
Style "FvwmFile"  TitleIcon mini-ofolder.xpm 
Style "XDbx"      TitleIcon mini-bug2.xpm 
 
 
#Style "rxvt"       Icon  term.xpm 
#Style "xterm"      Icon xterm.xpm 
#Style "color_xterm" Icon rterm.xpm 
#Style "Appointment" Icon datebook.xpm 
#Style "xcalc"      Icon Rcalc.xpm 
#Style "xbiff"      Icon mail1.xpm 
#Style "xmh"        Icon mail1.xpm, StartsOnDesk 2 
#Style "xman"      Icon xman.xpm 
#Style "xvgr"      Icon graphs.xpm 
#Style "matlab"    Icon math4.xpm 
#Style "xmag"      Icon mag_glass.xpm 
#Style "xgraph"    Icon graphs.xpm 
#Style "xv"         Icon xview.xpm 
#Style "FvwmButtons"  Icon toolbox.xpm 
#Style "xconsole"   Icon koala.xpm 
#Style "xsession"   Icon koala.xpm 
#Style "textedit"   Icon textedit.xpm 
#Style "ghostview"  Icon gv.xpm 
 
#========================================================================# 
 

# Stuff to do at start-up 
# 起动fvwm95时该做的一些事 
 
# AddToFunc 功能名称 动作方式 工作事项 
# 动作方式有 "I"        当此功能被使用时, 立即动作 
#            "M"        则是mouse有动作时才启动 
#            "D"        双击mouse键才会动作 
AddToFunc "InitFunction"    "I" Exec xsetroot -solid cyan4 & 
+                          "I" Module FvwmBanner 
+                           "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
+                          "I" Module FvwmPager 0 3 
 
AddToFunc "RestartFunction" "I" Module FvwmButtons 
+                           "I" Module FvwmTaskBar 
#+                          "I" Module FvwmPager 0 3 
 
 
#========================================================================# 
 
# Now define some handy complex functions 
# 现在开始定义一些方便的复杂功能 

# This one moves and then raises the window if you drag the mouse, 
# only raises the window if you click, or does a full maximize if 
# you double click 
# 这个功能是用於当你将mouse移到标题列时按著mouse并移动时, 便可移动并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Move-or-Raise" "M" Move 
+                         "M" Raise 
+                         "C" Raise 
+                         "D" Maximize 100 100 
 

# This one moves and then lowers the window if you drag the mouse, 
# only lowers the window if you click, or does a RaiseLower if you double 
# click 
# 这个功能是用於移动并下降视窗用的 
# 单击一次mouse键则会使视窗下降, 双击则可转换成上升或下降 
 
AddToFunc "Move-or-Lower" "M" Move 
+                         "M" Lower 
+                         "C" Lower 
+                         "D" RaiseLower 
 

# This one moves or (de)iconifies: 
# 这个功能在於移动或做图示化 
AddToFunc "Move-or-Iconify" "M" Move 
+                           "D" Iconify 
 

# This one resizes and then raises the window if you drag the mouse, 
# only raises the window if you click,  or does a RaiseLower if you double 
# click 
# 这个功能是用於改变大小并上升视窗用的 
# 单击一次mouse键则会使视窗上升, 双击则可放大整个window 
AddToFunc "Resize-or-Raise" "M" Resize 
+                           "M" Raise 
+                           "C" Raise 
+                           "D" RaiseLower 
 
 
#========================================================================# 
 

# Now define the menus - defer bindings until later 
# 开始定义menus ---- 和binding的方式不同 
 
# This is for the Start menu of the FvwmTaskBar 
# 接下来的是用於 FvwmTaskBar的 Start menu 
# AddToMenu "选单名称"  "显示讯息" Title 
# +     "显示讯息     %图示名称%"           动作    程式名称及参数 
# 动作可分为 :           Exec           执行程式, 後面加程式名称及参数 
#                        Popup          蹦现新选单, 後面加选单名称 
#                        Nop            画分隔线 
#                        Refresh        重新显示萤幕 
AddToMenu "StartMenu" 
+ "New shell        %mini-sh1.xpm%"         Exec    color-xterm -ls -sb -fn 8x13 & 
+ "Manual pages     %mini-book1.xpm%"       Exec    xman & 
+ "Magnifying glass %mini-zoom.xpm%"        Exec    xmag & 
+ "Applications     %mini-x2.xpm%"          Popup   Applications 
+ "Games            %mini-happy.xpm%"       Popup   Games 
+ ""                                        Nop 
+ "Lock Screen      %mini-lock.xpm%"        Exec    xlock & 
+ "Refresh Screen   %mini-ray.xpm%"         Refresh 
+ ""                                        Nop 
+ "Exit Fvwm        %mini-stop.xpm%"        Popup   Quit-Verify 
 
AddToMenu "Shells" "Shells" Title 
+ "Xterm        (7x14 font)%mini-term.xpm%"     Exec xterm -sb -sl 500 -j -ls -fn 7x14 & 
+ "Chinese Cxvt (8x15 font)%chinese.xpm%"       Exec crxvt -fnb5 et15 -fn vga8x15 
-T Chinese-Rxvt -fat & 
# 这一行是我用来加上 crxvt 的, 用来呼叫小字形中文terminal 
+ "Color Xterm  (7x14 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 7x14 -fb 7x14bold -title "Color xterm" & 
+ "Color Xterm  (8x13 font)%mini-term.xpm%"     Exec color-xterm -sb -sl 500 -j -ls -fn 8x13 -title "Color xterm" & 
+ ""                                            Nop 
+ "Large Crxvt  (12x24 font)%chinese.xpm%"      Exec crxvt & 
# 这一行是我用来加上 crxvt 的, 用来呼叫大字形中文terminal 
+ "Large Xterm  (10x20 font)%mini-display.xpm%"         Exec nxterm -sb -sl 500 -j -ls -fn 10x20 & 
+ "Large Color Xterm    (10x20 font)%mini-display.xpm%" Exec color-xterm -sb -sl 500 -j -ls -fn 10x20 & 
+ ""                                            Nop 
+ "Xcin%chinese.xpm%"                           Exec xcin -in1 cj.tab & 
# 这一行是用来执行中文输入法 xcin用的. 
 
# 接下来的是萤幕保护 
AddToMenu "Screensaver" "Screensaver" Title 
+ "Bat%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode bat & 
+ "Blank%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode blank & 
+ "Blot%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode blot & 
+ "Bounce%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode bounce & 
+ "Flame%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode flame & 
+ "Galaxy%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode galaxy & 
+ "Grav%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode grav & 
+ "Helix%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode helix & 
+ "Hop%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode hop & 
+ "Hyper%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode hyper & 
+ "Kaleid%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode kaleid & 
+ "Life%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode life & 
+ "Life3d%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode life3d & 
+ "Maze%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode maze & 
+ "Pyro%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode pyro & 
+ "Qix%mini-bball.xpm%"         Exec xlock -nolock -nice 0 -mode qix & 
+ "Random%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode random & 
+ "Rect%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rect & 
+ "Rock%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode rock & 
+ "Rotor%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode rotor & 
+ "Sphere%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode sphere & 
+ "Spline%mini-bball.xpm%"      Exec xlock -nolock -nice 0 -mode spline & 
+ "Swarm%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode swarm & 
+ "Wator%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode wator & 
+ "Worm%mini-bball.xpm%"        Exec xlock -nolock -nice 0 -mode worm & 
+ "World%mini-bball.xpm%"       Exec xlock -nolock -nice 0 -mode world & 
 
# 接下来的是萤幕锁定 
AddToMenu "Screenlock" "Lock Screen" Title 
+ "Bat%mini-rball.xpm%"         Exec xlock -nice 0 -mode bat & 
+ "Blank%mini-rball.xpm%"       Exec xlock -nice 0 -mode blank & 
+ "Blot%mini-rball.xpm%"        Exec xlock -nice 0 -mode blot & 
+ "Bounce%mini-rball.xpm%"      Exec xlock -nice 0 -mode bounce & 
+ "Flame%mini-rball.xpm%"       Exec xlock -nice 0 -mode flame & 
+ "Galaxy%mini-rball.xpm%"      Exec xlock -nice 0 -mode galaxy & 
+ "Grav%mini-rball.xpm%"        Exec xlock -nice 0 -mode grav & 
+ "Helix%mini-rball.xpm%"       Exec xlock -nice 0 -mode helix & 
+ "Hop%mini-rball.xpm%"         Exec xlock -nice 0 -mode hop & 
+ "Hyper%mini-rball.xpm%"       Exec xlock -nice 0 -mode hyper & 
+ "Kaleid%mini-rball.xpm%"      Exec xlock -nice 0 -mode kaleid & 
+ "Life%mini-rball.xpm%"        Exec xlock -nice 0 -mode life & 
+ "Life3d%mini-rball.xpm%"      Exec xlock -nice 0 -mode life3d & 
+ "Maze%mini-rball.xpm%"        Exec xlock -nice 0 -mode maze & 
+ "Pyro%mini-rball.xpm%"        Exec xlock -nice 0 -mode pyro & 
+ "Qix%mini-rball.xpm%"         Exec xlock -nice 0 -mode qix & 
+ "Random%mini-rball.xpm%"      Exec xlock -nice 0 -mode random & 
+ "Rect%mini-rball.xpm%"        Exec xlock -nice 0 -mode rect & 
+ "Rock%mini-rball.xpm%"        Exec xlock -nice 0 -mode rock & 
+ "Rotor%mini-rball.xpm%"       Exec xlock -nice 0 -mode rotor & 
+ "Sphere%mini-rball.xpm%"      Exec xlock -nice 0 -mode sphere & 
+ "Spline%mini-rball.xpm%"      Exec xlock -nice 0 -mode spline & 
+ "Swarm%mini-rball.xpm%"       Exec xlock -nice 0 -mode swarm & 
+ "Wator%mini-rball.xpm%"       Exec xlock -nice 0 -mode wator & 
+ "Worm%mini-rball.xpm%"        Exec xlock -nice 0 -mode worm & 
+ "World%mini-rball.xpm%"       Exec xlock -nice 0 -mode world & 
 
# 接下来是执行游戏程式 
AddToMenu "Games" "Games" Title 
+ "Abuse%%"                     Exec abuse & 
+ "Maze%mini-maze.xpm%"         Exec maze & 
+ "Spide%mini-exp.xpm"          Exec exec spider & 
+ "Xplaycd%mini-cdlabel.xpm%"   Exec exec xplaycd & 
+ "Xboard%mini-slon.xpm%"       Exec xboard & 
+ "Xeyes%mini-eyes.xpm%"        Exec xeyes & 
+ "Xhextris%mini-hextris.xpm%"  Exec exec xhextris & 
#+              "Xlander" Exec exec xlander & 
+ "Xlogo%mini-bx2.xpm%"         Exec xlogo & 
+ "Xmahjong%mini-xmahjongg.xpm%"        Exec exec xmahjongg & 
#+ "Xroach%mini-roach.xpm%"     Exec exec xroach & 
+ "Xtetris%mini-tetris.xpm%"    Exec xtetris & 
#+              "Xvier" Exec exec xvier & 
+ "Xbill%mini-cross.xpm%"       Exec xbill & 
+ "Xpcman%mini-question.xpm"    Exec xchomp & 
+ "Bomb%mini-bomb.xpm%"         Exec xdemineur & 
+ "Jewel%mini-question.xpm"     Exec xjewel & 
+ "Xsnow"                       Exec xsnow & 
+ "XEarth%mini-x2.xpm"          Exec xearth & 
 
# 接下来是执行应用程式 
AddToMenu "Applications" "Applications" Title 
+ "Netscape%mini-nscape.xpm%"   Exec netscape & 
+ "Ghostview%mini-gv.xpm%"      Exec ghostview & 
+ "Xview%mini-xv.xpm%"          Exec xv & 
+ "Xedit%mini-edit.xpm%"        Exec xedit -geometry 630x490+95+5 & 
+ "Xedit%mini-edit.xpm%"        Exec xedit & 
#+ "Xfilemanager%mini-filemgr.xpm%" Exec xfilemanager & 
+ "Xfm%mini-filemgr.xpm%"       Exec xfm & 
#+ "Xfractint%mini-fractal.xpm%"        Exec rxvt -font 7x14 -e xfractint map=chroma & 
+ "Xpaint%mini-paint.xpm%"      Exec xpaint & 
+ "Xgrab%mini-camera.xpm%"      Exec xgrab & 
+ "Xcolormap%mini-colors.xpm%"  Exec xcmap & 
+ "Xxgdb%mini-bug2.xpm%"        Exec xxgdb & 
+ "gdb%mini-bug1.xpm%"          Exec gdb & 
+ "Xwpe%mini-x.xpm%"            Exec xwpe & 
 

# This menu is invoked as a sub-menu - it allows you to quit, 
# restart, or switch to another WM. 
# 这个选单是一个子选单, 主要是用来让你离开, 重新开始或更换另一个window manager 
AddToMenu "Quit-Verify" "Really Quit Fvwm?" Title 
+ "Restart%mini-turn.xpm%"              Restart fvwm95-2 
+ ""                                    Nop 
+ "Start Fvwm%mini.fvwm.xpm%"           Restart fvwm 
+ "Start olvwm%mini-olwm.xpm%"          Restart /usr/openwin/bin/olvwm 
+ "Start olwm%mini-olwm.xpm%"           Restart /usr/openwin/bin/olwm 
+ ""                                    Nop 
+ "Yes, Really Quit%mini-exclam.xpm%"   Quit 
+ "No, Don't Quit%mini-cross.xpm%"      Nop 
 

# Provides a list of modules to fire off 
# 提供模组选单..... ^[^ 
AddToMenu "Module-Popup" "Modules" Title 
+ "Buttons"                             Module FvwmButtons 
+ "Audio%mini-audiovol.xpm%"            Module FvwmAudio 
+ "Clean-Up%mini-pencil.xpm%"           Module FvwmClean 
+ "Task bar"                            Module FvwmTaskBar 
+ "Identify%mini-question.xpm%"         Module FvwmIdent 
+ "Save Desktop"                        Module FvwmSave 
+ "Debug%mini-bug2.xpm%"                Module FvwmDebug 
+ "Pager"                               Module FvwmPager 0 3 
+ "Window List%mini-windows.xpm%"       Module FvwmWinList 
+ "Talk"                                Module FvwmTalk 
+ "Configure%mini-hammer.xpm%"          Module FvwmConfig 
 

# This menu will fire up some very common utilities 
# 这个选单用来结合一些选单及工具 
AddToMenu "Utilities" "Utilities" Title 
+ "Top%mini-run.xpm%"                   Exec rxvt -T Top -n Top -e top & 
+ "Calculator%mini-calc.xpm%"           Exec xcalc & 
+ "Manual pages%mini-book1.xpm%"        Exec xman & 
+ "Magnifying glass%mini-zoom.xpm%"     Exec xmag & 
+ "Oclock%mini-clock.xpm%"              Exec oclock & 
+ ""                                    Nop 
+ "Applications%mini-x2.xpm%"           Popup Applications 
+ "Shells%mini-term.xpm"                Popup Shells 
+ "Games%mini-happy.xpm%"               Popup Games 
+ ""                                    Nop 
+ "Screensaver%mini-display.xpm%"       Popup Screensaver 
+ "Lock Screen%mini-lock.xpm%"          Popup Screenlock 
+ ""                                    Nop 
+ "Modules%mini-modules.xpm%"           Popup Module-Popup 
+ ""                                    Nop 
+ "Refresh Screen%mini-ray.xpm%"        Refresh 
+ ""                                    Nop 
+ "Exit Fvwm%mini-stop.xpm%"            Popup Quit-Verify 
 

# This defines the most common window operations 
# 在此定义一些常用的视窗操作功能 
AddToMenu "Window" "Window Ops" Title 
+ "&Move"                     Function Move-or-Raise 
+ "&Resize"                   Function Resize-or-Raise 
+ "R&aise%mini-raise.xpm%"    Raise 
+ "&Lower%mini-lower.xpm%"    Lower 
+ "(De)Iconify"               Iconify 
+ "(Un)Stick"                 Stick 
+ "(Un)Maximize"              Maximize 100 100 
+ ""                          Nop 
+ "Kill"                      Destroy 
+ "&Close"                    Delete 
+ ""                          Nop 
+ "Switch to..."              WindowList 
+ "Refresh Screen%mini-ray.xpm%" Refresh 
 

# A trimmed down version of "Window Ops", good for binding to decorations 
# 另一种版本的视窗操作功能 
AddToMenu "Window-Ops2" "&Restore"        Iconify -1 
+                       "&Move"           Move-or-Raise 
+                       "&Size"           Resize-or-Raise 
+                       "Mi&nimize"       Iconify 1 
+                       "Ma&ximize"       Maximize 100 100 
+                       ""                Nop 
+                       "&Kill"           Destroy 
+                       "&Close Alt+F4"   Delete 
 
#========================================================================# 
 

# One more complex function - couldn't be defined earlier because it used 
# pop-up menus 

# This creates the "system" menu for the title-bar window-ops 
# pop-up 

AddToFunc "window_ops_func" "C" PopUp Window-Ops2 
+              "M" PopUp Window-Ops2 
+              "D" Delete 
 
 
#========================================================================# 
 

# Mouse bindings 
# Mouse 功能设定 
 
# First, for the mouse in the root window 
# Button 1 gives the Utilities menu 
# Button 2 gives the Window Ops menu 
# Button 3 gives the WindowList (like TwmWindows) 
# I use the AnyModifier (A) option for the modifier field, so you can hold down 
# any shift-control-whatever combination you want! 
# 首先, 当mouse在root window时(左, 中, 右 = 1,2,3 ,0=any) 
# 按左键会呈现Utility选单 
# 按中键会呈现Window Ops选单 
# 按右键会呈现WindowList(视窗目录) 
# Context : 描述在何处使用mouse功能. 
#               R : root window 
#               W : 任何应用程式的视窗 
#               T : 标题列 
#               S : 视窗的边界 
#               F : 视窗的四个角 
#               I : 图示 
#           0 - 9 : 标题列上的按钮 
#               A : 除了标题列上的按钮以外的上述各项 
# Modifier : 配合键盘的组合 
#               N : 不配合任何键 
#               C : Control键 
#               S : Shift键 
#               M : Meta键 
#               A : C,S,M任意一个 
# Function : Fvwm95 的内建功能 
 
#     Button    Context Modifi  Function 
Mouse 1         R       A       Menu "Utilities" Nop 
Mouse 2         R       A       Menu "Window Ops" Nop 
Mouse 3         R       A       WindowList 
#Mouse 3        R       A       Module "winlist" FvwmWinList transient 
 
# Now the title bar buttons 
# Any button in the left title-bar button gives the window ops menu 
# Any button in the first right title-bar button Iconifies the window 
# Any button in the second title-bar button full-maximizes 
# Any button in the third (rightmost) title-bar button closes 
# Note the use of "Mouse 0" for AnyButton. 
# 现在定义mouse在标题列时的功能 
#     Button    Context Modif   Function 
Mouse 0         1       A       Function "window_ops_func" 
Mouse 1         2       A       Delete 
Mouse 0         4       A       Maximize 100 100 
Mouse 0         6       A       Iconify 
 

# Now the rest of the frame 
# Here I invoke my complex functions for Move-or-lower, Move-or-raise, 
# and Resize-or-Raise. 
# 现在开始定义mouse在边界时的部分 
# Button 1 in the corner pieces, with any modifiers, gives resize or raise 
Mouse 1         F       A       Function "Resize-or-Raise" 
# Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise 
Mouse 1         TS      A       Function "Move-or-Raise" 
 
# Button 1 in an icons gives move for a drag, de-iconify for a double-click, 
# nothing for a single click 
# Button 2 in an icon, w/ any modifiers, gives de-iconify 
Mouse 1         I       A       Function "Move-or-Iconify" 
Mouse 2         I       A       Iconify 
 
# Button 2 in the corners, sides, or title-bar gives the window ops menu 
Mouse 2         FST     A       Function "window_ops_func" 
 
# Button 3 anywhere in the decoration (except the title-bar buttons) 
# does a raise-lower 
Mouse 3         TSIF    A       RaiseLower 
 
# Button 3 in the window, with the Modifier-1 key (usually alt or diamond) 
# gives Raise-Lower. Used to use control here, but that interferes with xterm 
Mouse 3         W       M       RaiseLower 
 
#========================================================================# 
 
# Now some keyboard shortcuts. 
# 现在做一些键盘设定 
# Arrow Keys 
# press arrow + control anywhere, and scroll by 1 page 
# Ctrl+方向键  = 向方向键的方向移一个虚拟桌面 
Key Left        A       C       Scroll -100 0 
Key Right       A       C       Scroll +100 +0 
Key Up          A       C       Scroll +0   -100 
Key Down        A       C       Scroll +0   +100 
 
# press arrow + meta key, and scroll by 1/10 of a page 
# Alt+方向键  = 向方向键的方向移1/10个虚拟桌面 
Key Left        A       M       Scroll -10 +0 
Key Right       A       M       Scroll +10 +0 
Key Up          A       M       Scroll +0   -10 
Key Down        A       M       Scroll +0   +10 
 
# press shift arrow + control anywhere, and move the pointer by 1% of a page 
# Shift+Ctrl+方向键  = mouse游标向方向键的方向移1%个虚拟桌面 
Key Left        A       SC      CursorMove -1 0 
Key Right       A       SC      CursorMove +1 +0 
Key Up          A       SC      CursorMove +0   -1 
Key Down        A       SC      CursorMove +0   +1 
 
# press shift arrow + meta key, and move the pointer by 1/10 of a page 
# Shift+Alt+方向键  = mouse游标向方向键的方向移10%个虚拟桌面 
Key Left        A       SM      CursorMove -10 +0 
Key Right       A       SM      CursorMove +10 +0 
Key Up          A       SM      CursorMove +0   -10 
Key Down        A       SM      CursorMove +0   +10 
 
# Keyboard accelerators 
# 设定功能键 
Key F1          A       M       Popup "Utilities" 
Key F1          A       M       Popup "Utilities" 
Key F2          A       M       Popup "Window Ops" 
Key F3          A       M       Module "WindowList" FvwmWinList 
Key F4          A       M       Iconify 
Key F5          A       M       Move 
Key F6          A       M       Resize 
 
#Page Up/Dapge Down keys are used to scroll by one desktop page 
# in any context, press page up/down + control 
# in root context, just pressing page up/down is OK 

# I prefer the non-wrapping scroll. These are for example purposes only 
#Key Next       A       C       Scroll 100000 0 
#Key Next       R       N       Scroll 100000 0 
#Key Prior      A       C       Scroll -100000 0 
#Key Prior      R       N       Scroll -100000 0 
 
Key Tab         A       M       Prev Focus 
Key Tab         A       MS      Next Focus 
 
Key Escape      A       C       WindowList 
 
#========================================================================# 
 
# Definitions used by the modules 
# 模组使用的一些定义 
#------------------ Pager 的部分 
*FvwmPagerBack blue 
#       背景颜色 
*FvwmPagerFore red 
#       前景颜色 
*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmPagerHilight #c0c0c0 
#       Hilight区颜色 
*FvwmPagerGeometry -1500-1500 
#       位置 
*FvwmPagerSmallFont 5x8 
#       小字形 
#*FvwmPagerRows 3 
#       列数 
#*FvwmPagerColumns 2 
#       行数 
#*FvwmPagerLabel 0 Desktop 
#       第 n 个桌面的名称 
 
#------------------ FvwmButtons 的部分(from 2.0.42) 
*FvwmButtonsFore Black 
#       前景颜色 
*FvwmButtonsBack yellow 
#       背景颜色 
*FvwmButtonsFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
# Geometry - really likes to pick its own size, but giving a position is OK 
*FvwmButtonsGeometry -5-34 
#       位置 
# Layout: specify rows or columns, not both 
*FvwmButtonsRows 1 
#       列数 
# Define the buttons to use..... 
# 定义一些在FvwmButton内的东东 
*FvwmButtons(Title xclock, Icon clock.xpm, \ 
             Swallow(UseOld) "xclock" 'Exec xclock -bg \yellow \ 
             -padding 0 -geometry -1500-1500 &') 
*FvwmButtons(2x1, Title load, \ 
             Swallow(UseOld) "xload" 'Exec xload \ 
                     -nolabel -bg yellow -update 5 -geometry -1500-1500 &') 
#*FvwmButtons(Title xterm, Icon xterm.xpm, \ 
             Action 'Exec "XTerm" color-xterm \ 
                     -ls -sb -fn 8x13 -title "Color xterm" &') 
#*FvwmButtons(Title xfm, Icon FileManager.xpm, \ 
             Action 'Exec "Xfm" xfm -title "File Manager" &') 
#*FvwmButtons(Title textedit, Icon TextEditor.xpm, \ 
             Action 'Exec "Textedit" xedit &') 
#*FvwmButtons(Title xcalc, Icon Calculator.xpm, \ 
             Action 'Exec "Calculator" xcalc &') 
#*FvwmButtons(Title xview, Icon xv.color.xpm, \ 
             Action 'Exec "xv" xv &') 
#*FvwmButtons(Title gview, Icon gv.xpm, \ 
             Action 'Exec "ghostview" ghostview &') 
#*FvwmButtons(Title xcin , Icon chinese.xpm, \ 
#            Action 'Exec "xcin" xcin -fnb5 et15 -fn vga8x15 &') 
#*FvwmButtons(Title netscape, Icon netscape_3d.xpm, \ 
             Action 'Exec "Netscape" netscape -geometry 920x622+90+5 &') 
*FvwmButtons(Title xkill, Icon bomb.xpm, Action Destroy) 
*FvwmButtons(2x1, Swallow(UseOld) "Desktop" 'FvwmPager 0 0') 
 
#------------------ Identify 的设定 
*FvwmIdentBack #000080 
#       背景颜色 
*FvwmIdentFore Yellow 
#       前景颜色 
*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* 
#       字形 
 
#------------------ FvwmWinList 的设定 
*FvwmWinListBack #c0c0c0 
#       背景颜色 
*FvwmWinListFore Black 
#       前景颜色 
*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* 
#       字形 
*FvwmWinListAction Click1 Iconify -1,Focus 
#       mouse 左键为跳至此window 
*FvwmWinListAction Click2 Iconify 
#       mouse 中键为图示化 
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent 
#       mouse 右键为显示其Window Identification 
*FvwmWinListUseSkipList 
*FvwmWinListGeometry +0-1 
*FvwmWinListShowCurrentDesk 
#       显示目前桌面上的window 
 
#------------------ FvwmTaskBar 
Style "FvwmTaskBar" NoTitle,BorderWidth 4,HandleWidth 4,Sticky,StaysOnTop,WindowListSkip,CirculateSkip 
 
*FvwmTaskBarGeometry +0-0 
#       位置 
*FvwmTaskBarFore Black 
#       前景颜色 
*FvwmTaskBarBack #c0c0c0 
#       背景颜色 
*FvwmTaskBarTipsFore black 
#       提示的前景颜色 
*FvwmTaskBarTipsBack bisque 
#       提示的背景颜色 
*FvwmTaskBarFont -adobe-helvetica-medium-i-*-*-*-120-*-*-*-*-*-* 
#       字形 
*FvwmTaskBarSelFont -adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* 
#       选择到之window的字形 
*FvwmTaskBarAction Click1 Iconify -1,Raise,Focus 
#       左键  ---- 跳至此window 
*FvwmTaskBarAction Click2 Iconify 
#       中键  ---- 图示化 
*FvwmTaskBarAction Click3 Module "FvwmIdent" FvwmIdent 
#       右键  ---- 显示window 资料 
*FvwmTaskBarUseSkipList 
#       ?? 
*FvwmTaskBarAutoStick 
#       自动固定 
*FvwmTaskBarStartName Start 
#       Start 的名称 
*FvwmTaskBarStartMenu StartMenu 
#       Start 使用的选单 
*FvwmTaskBarStartIcon mini-start.xpm 
#       Start 使用的图示 
*FvwmTaskBarShowTips 
#       是否显示提示 
#*FvwmTaskBarShowTransients 
 
#*FvwmTaskBarClockFormat %I:%M%p 
#*FvwmTaskBarHighlightFocus 
*FvwmTaskBarAutoHide 
#       自动隐藏 
*FvwmTaskBarMailCommand Exec color-xterm -T Mail -ls -fn 8x13 -e pine -i 
#       开启邮件命令 
 
-- 
※ 修改:.cf 于 Aug 11 14:22:27 修改本文.[FROM: bbs.hit.edu.cn]
※ 转寄:.紫 丁 香 bbs.hit.edu.cn.[FROM: chen.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2,227.817毫秒