| 您的位置:首页 > 文档 > 系统管理 > |
文章分类热门文章 |
Fvwm95简介创建:2005-10-28 00:00:00 作者:Unlinux 来自: http://www.Unlinux.com 简述 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 & # 这一行是用来执行中文输入法爔cin用的. # 接下来的是萤幕保护 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 # 开启邮件命令 转载自:http://www.unlinux.com/doc/system/20051105/6979.html 【评论】 【加入收藏夹】 【大 中 小】 【打印】 【关闭】 ※ 相关链接
|