LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3545|回复: 17

说一下这几天使用fvwm的感受!

[复制链接]
发表于 2004-8-29 14:09:25 | 显示全部楼层 |阅读模式
感觉fvwm很好用呀!
首先装了一个fvwm,进去什么也没有,然后电击左建选择了系统默认的界面,后来又考了一个现在最为热门的那个清华大学的博士的配置文件,极奇简陋,感觉太丑陋了,只适合研究看一下,后来看到有fvwm-themes下了一个,改了一下,里面有各种风格的界面可以选择使用,而且都是模块化的,可以自己配置她的button,menus,ments-stules等等,现在使用起来感觉不错。中文支持也很简单,只要在相应的配置文件里改成你想要的字体就可以了,因为她 的模块化都是对应相应的配置的文件。感觉中文支持的问题必须要对现在的几种汉化的原理要有一个比较清晰的了解,不能知其然而不知其所以然。
当然以上说的这些只是一个初学者的看法,感觉她的易用性还是不错的,当然你如果要追求专业个性化,那就得手写配置文件了。
发表于 2004-8-29 14:28:39 | 显示全部楼层
我这两天改了FVWM提供的一个配置文件。感觉它非常爽。不过有几个问题比较困惑,
一个就是thumbil每次重新启动FVWM都不行,除非启动后restart才可以。搞不懂。
二一个就是它的中英文字体自动适应不知怎么搞。不过我现在什么字体都不指定都情况下,它倒是可以自己适应,不过字体一般。
发表于 2004-8-29 15:40:24 | 显示全部楼层
我关心的是fvwm能否与gnome配合使用,能否实现许多普通win风格wm的操作方式,例如focus on click、双击最大化,这些基本要求。

看一下要求,晕倒,虽然使用了xft2但居然还是用gtk1.2
发表于 2004-8-29 16:50:08 | 显示全部楼层
thumbnail问题搞定,原来里面有的一些autohide 之类的函数和调用影响的。去掉他们就好了。爽。
发表于 2004-8-29 16:59:21 | 显示全部楼层
不好意思贴出我修改的.fvwm2rc文件,很多都是别人写的。呵呵
原文地址
http://www.fvwm.org/screenshots/ ... esk-1152x864/fvwmrc
原搞贴图:
http://www.fvwm.org/screenshots/ ... x864/screenshot.jpg

两天来的修改初步结果:(保留了原作者的注释,虽然我删除了很多我无法使用或者不知如何使用的东东。)

  1. ###################
  2. # This is how my fvwm2rc looked on 22/01/2004, using fvwm-2.5.8 on Gentoo Linux.
  3. #
  4. # Screenshots: [1]http://dev.gentoo.org/~taviso/screenshots/
  5. # Wallpaper: [2]http://digitalblasphemy.com/
  6. #
  7. # -Tavis Ormandy (taviso@gentoo.org)
  8. #########################################

  9. #####
  10. # Set the directories to look in for Image files.
  11. #################
  12. ImagePath ${HOME}/icons:/usr/share/icons:+

  13. #####
  14. # You can set simple options like this, using variables.
  15. #
  16. # If you need something more complex, read the man pages for FvwmCPP, FvwmM4 or FvwmPerl.
  17. #################
  18. SetEnv fvwm_video_path $[HOME]/media/video
  19. SetEnv fvwm_video_exec xine

  20. SetEnv fvwm_audio_path $[HOME]/mp3
  21. SetEnv fvwm_audio_exec xmms

  22. SetEnv fvwm_image_path $[HOME]/pic
  23. SetEnv fvwm_image_exec xv

  24. SetEnv fvwm_rom_path $[HOME]/stuff/zsnes
  25. SetEnv fvwm_rom_exec zsnes

  26. SetEnv fvwm_wallpaper $[HOME]/01.png

  27. #####
  28. # If you use Thumbnails, how big would you like the Icons to be?
  29. #
  30. # Try one of these, from tiny to large: 32, 64, 96, 128
  31. #
  32. # Note that the aspect ratio is maintained, so tall and thin windows may get larger icons,
  33. # but you can change that if it annoys you.
  34. #################
  35. SetEnv fvwm_icon_size 96

  36. #####
  37. # You can automatically move the viewport into adjacent pages when the pointer
  38. # hits the screen edge, but I dont like this.
  39. # This EdgeResistance disables it, but still allows me to move windows over onto adjacent pages.
  40. #
  41. # EdgeThickness disables edge scrolling and EdgeCommand, which I never use.
  42. #################
  43. EdgeResistance 1000 20
  44. EdgeThickness 0

  45. #####
  46. # You will want to disable this if you are running fvwm over a network, but otherwise this
  47. # handy setting stops NumLock/ScrollLock from interfering with bindings.
  48. #
  49. # If you disable this, I guarantee it will catch you out and have you scratching your
  50. # head at some point :)
  51. #
  52. # [3]http://www.fvwm.org/documentation/faq/#5.5
  53. #################
  54. IgnoreModifiers L25

  55. #####
  56. # You can use EwmhBaseStruts to stop Maximised windows from obscuring TaskBars/ButtonBars
  57. # or anything else you always want to be visible.
  58. #
  59. # This Setting makes sure my ButtonBar on the left and taskbar along the bottom is always
  60. # visible.
  61. #################
  62. EwmhBaseStruts 0 0 0 20

  63. ######
  64. # Fvwm uses a default ClickTime of 150ms, which is way too short for me.
  65. # A Click that lasts <= ClickTime is considered a `Click` in functions,
  66. # > ClickTime is a `Hold`.
  67. #################
  68. ClickTime 250

  69. #####
  70. # Use 9 pages per desktop, arranged in a square, like this:
  71. #
  72. #   +-----+-----+-----+
  73. #   |     |     |     |
  74. #   +-----+-----+-----+
  75. #   |     |     |     |
  76. #   +-----+-----+-----+
  77. #   |     |     |     |
  78. #   +-----+-----+-----+
  79. #
  80. #################
  81. DeskTopSize 3x3

  82. ######
  83. # Use an arrow rather than the `X` cursor on the root window.
  84. #################
  85. CursorStyle root top_left_arrow

  86. #####
  87. # OpaqueMoveSize allows you to stop Large windows from being moved opaquely,
  88. # I like the effect, and have Cycles to burn, so all windows can use it.
  89. #
  90. # SnapAttraction lets nearby windows snap together, or snap to edges so that they
  91. # are easier to align on your desktop, The default is off, if you set it too large
  92. # it's annoying as hell, 3 pixels is just right.
  93. #################
  94. OpaqueMoveSize -1
  95. SnapAttraction 3

  96. ######
  97. # Ksh has my favourite shell syntax, so use it if it exists.
  98. #################
  99. #Test (f /bin/ksh) ExecUseShell /bin/ksh

  100. ######
  101. # Menu Settings.
  102. #
  103. #   * PopupOffset allows you to control where submenus will appear, and
  104. #       whether they should overlap or not.
  105. #   * This menu uses a translucent Colorset, and Hilighted items are light
  106. #       blue with a single pixel border.
  107. #   * The Menu will look flat, with a 2 pixel border.
  108. #   * I changed the default ItemFormat to be a little more spacious.
  109. #
  110. # AutomaticHotKeys generates your HotKeys (Keys you can press when a menu opens to
  111. # jump straight to an item) for you, you can write your own also, or disable them.
  112. # I've gone off HotKeys recently, so it's disabled for now.
  113. #################
  114. Colorset 0 fg black, bg grey, sh black, hi black, Translucent #c6cfce 90
  115. Colorset 1 fg black, bg #9cb2ce, hi #dcdcdc, sh #dcdcdc

  116. #Colorset 23 RootTransparent, fg rgb:ff/ff/c4, bg darkcyan
  117. Colorset 23 fg white, bg #c6c3c6, sh black, hi black, RootTransparent
  118. MenuStyle * Hilight3DThin, PopupOffset -2 100
  119. #MenuStyle * Font "Shadow=1 1 SE:xft:AR PL KaitiM GB:style=Roman:size=11"
  120. #MenuStyle * Font "StringEncoding=gbk-0:Shadow=0 0 SE:xft:AR PL KaitiM GB:size=11:encoding=iso10646-1"
  121. MenuStyle * MenuColorset 23, HilightBack, ActiveColorset 1
  122. MenuStyle * BorderWidth 2, TitleUnderlines1, SeparatorsLong, TrianglesSolid, Animation
  123. MenuStyle * ItemFormat "%.2|%.5i%.5l%.5i%2.3>%2|"
  124. # MenuStyle * AutomaticHotKeys

  125. ######
  126. # Use colormaps according to Focus, rather than where the Mouse is.
  127. #################
  128. ColormapFocus FollowsFocus

  129. ######
  130. # Default window Styles.
  131. #
  132. # I like single pixel borders, which look cleaner and simpler that the default 3d borders.
  133. #
  134. # It can be a little tricky to grab the handles, but I usually use a Key Binding for that
  135. # anyway, you can always make the handles stick out a bit more if you use them more than I do.
  136. #
  137. # SloppyFocus is the one true Focus policy :) (focus follows mouse, except on root)
  138. #
  139. # If I click in a window, I like it to be raised.
  140. #
  141. # GrabFocus is terrible, windows are always stealing focus and keystrokes end up in the wrong
  142. # windows and you lose your train of thought, etc. So turn it off here, and back on for windows
  143. # that play nice with it.
  144. #
  145. # Set up an IconBox (an area that Windows jump to by default when Iconified) in the bottom left
  146. #
  147. # Syntax Reminder:
  148. #
  149. # IconBox [screen scr-spec] l t r b
  150. #
  151. # Fvwm offers several placement policies, which decide where new windows should appear, I've
  152. # found that SmartPlacement makes a decent guess at where the windows should be, but there are
  153. # plenty more to choose from.
  154. #################
  155. #Style * Font "xft:Bitstream Vera Sans Mono:style=Roman:size=11"
  156. #Style * Font "StringEncoding=gbk-0:Shadow=0 0 SE:xft:SimSun:size=11:encoding=gbk-0", BorderWidth 1, HandleWidth 1
  157. Style * BorderWidth 1, HandleWidth 1
  158. Style * Color #f6f6f6/black, HilightBack black, HilightFore white
  159. Style * MWMFunctions, MWMDecor, HintOverride, DecorateTransient, NoPPosition
  160. Style * IconBox 20 100 100 -15, SloppyFocus, MouseFocusClickRaises
  161. Style * SmartPlacement, WindowShadeSteps 20, ResizeOpaque
  162. Style * Button 1, Button 2, Button 4, Button 6, GrabFocus
  163. Style * NoIconTitle

  164. # Comment out these lines if you don't like Icons to have Titles.
  165. Colorset 11 fg black, bg white, NoShape, RootTransparent Buffer
  166. Style * IconTitle, IconTitleColorset 11, HilightIconTitleColorset 11, IconTitleRelief 0, IndexedIconName
  167. #Style * IconFont "StringEncoding=gbk-0:Shadow=0 0 SE:xft:tahoma,AR PL KaitiM GB:size=11:encoding=iso10646-1"

  168. # This is another nice Placement Policy, which tries to avoid obscuring existing windows,
  169. # you can set penalties on certain window types so some are less likely to be obscured than
  170. # others. Check the manpage for even more Placement Policies.
  171. #Style * MinOverlapPercentPlacement
  172. #Style * MinOverlapPercentPlacementPenalties 2 5 1 2 0.5 50
  173. Style * MinOverlapPlacement

  174. BorderStyle Active Solid black -- NoInset HiddenHandles
  175. BorderStyle Inactive Solid black -- NoInset HiddenHandles

  176. #####
  177. # My Vectors look like this
  178. #
  179. # +----------------------------------------------------------+
  180. # | .                                                _  #  X |
  181. # +----------------------------------------------------------+
  182. # | 1                                                6  4  2 |
  183. # |                                                          |
  184. #                                                            |
  185. #
  186. # When the Buttons are ActiveDown (Pressed), they move 5% to the right
  187. # and 5% down, which gives the impression of being pressed. I've also used
  188. # a vector to seperate the buttons out on active windows.
  189. #
  190. # Active Window TitleBar has a Vertical Gradient of White (at the top) to
  191. # Black at the bottom where the buttons are, and a gradient of Blue to black over
  192. # the title, using 16 shades (one for each pixel, so looks like a nice, smooth transition).
  193. #
  194. # Inactive uses a tinted transparent colorset, with white text and buttons.
  195. ##################
  196. Colorset 7 fg black, bg white, NoShape, RootTransparent Buffer, Tint #5a8ade 60
  197. Colorset 8 fg black, bg white, NoShape, RootTransparent Buffer, Tint #f6f6f6 20

  198. DestroyDecor DefaultDecor
  199. AddToDecor DefaultDecor
  200. + TitleStyle LeftJustified Height 16
  201. + TitleStyle InActive ( Colorset 7 -- Flat ) \
  202.     Active ( HGradient 61 1 #5a8ade 50 #000000 -- Flat )
  203. + ButtonStyle All InActive ( Colorset 8 -- Flat )
  204. + ButtonStyle All Active ( Colorset 8 -- Flat )
  205. + AddButtonStyle  4 ActiveUp Vector 9 30x30@2 30x60@2 60x60@2 60x30@2 \
  206.         30x30@2 30x35@2 60x35@2 0x99@4 0x0@2 -- Flat
  207. + AddButtonStyle  4 Inactive Vector 7 30x30@3 30x60@3 60x60@3 60x30@3 \
  208.         30x30@3 30x35@3 60x35@3 -- Flat
  209. + AddButtonStyle  4 ActiveDown Vector 10 35x35@2 35x65@2 65x65@2 65x35@2 \
  210.         35x35@2 35x40@2 65x40@2 0x99@4 0x0@2 99x0@2 -- Flat
  211. + AddButtonStyle  1 Inactive Vector 4 44x44@3 44x45@3 45x45@3 44x44@3 -- Flat
  212. + AddButtonStyle  1 ActiveUp Vector 6 44x44@2 44x45@2 45x45@2 44x44@2 99x99@4 \
  213.         99x0@2 -- Flat
  214. + AddButtonStyle  1 ActiveDown Vector 8 49x49@2 49x50@2 50x50@2 49x49@2 99x90@4 \
  215.         99x0@2 99x0@2 0x0@2-- Flat
  216. + AddButtonStyle  6 ActiveUp Vector 7 30x60@2 60x60@2 60x50@2 30x50@2 30x60@2 0x99@4 \
  217.         0x0@2 -- Flat
  218. + AddButtonStyle  6 Inactive Vector 5 30x60@3 60x60@3 60x50@3 30x50@3 30x60@3 -- Flat
  219. + AddButtonStyle  6 ActiveDown Vector 8 35x65@2 65x65@2 65x60@2 35x60@2 35x65@2 0x99@4 \
  220.         0x0@2 99x0@2 -- Flat
  221. + AddButtonStyle  2 ActiveUp Vector 6 30x30@2 60x60@2 60x30@4 30x60@2 0x99@4 \
  222.         0x0@2 -- Flat
  223. + AddButtonStyle  2 Inactive Vector 4 30x30@3 60x60@3 60x30@4 30x60@3 -- Flat
  224. + AddButtonStyle  2 ActiveDown Vector 7 35x35@2 65x65@2 65x35@4 35x65@2 0x99@4 \
  225.         0x0@2 99x0@2 -- Flat
  226. + ButtonStyle 1 - MwmDecorMenu
  227. + ButtonStyle 6 - MwmDecorMin
  228. + ButtonStyle 4 - MwmDecorMax

  229. Style * UseDecor DefaultDecor

  230. #####
  231. # Application specific Style settings
  232. #
  233. # You might be interested in the IconOverride style, which will allow you to specify
  234. # an Icon for an application even if it has set its own previously, This can be very
  235. # useful for applications that insist on setting their own icons even if it doesnt
  236. # fit in with your theme :)
  237. #################
  238. Style FvwmPager   NoTitle,  Sticky, WindowListSkip, CirculateSkipIcon, CirculateSkip
  239. Style FvwmPager   StaysOnBottom, NoHandles, BorderWidth 1
  240. Style FvwmBanner  NoTitle
  241. Style FvwmButtons NoTitle, StaysOnBottom, Sticky, WindowListSkip, CirculateSkipIcon, CirculateSkip
  242. Style FvwmButtons HandleWidth 2, NeverFocus, Layer 1
  243. Style FvwmTaskBar NoTitle, WindowListSkip, CirculateSkip, Sticky, BorderWidth 0, NoHandles, StaysOnBottom
  244. Style FvwmTaskBar NeverFocus, Layer 0
  245. #Style mlterm      MiniIcon computer_x11.png

  246. # AutoHiding Console
  247. Style HiddenConsole Sticky, WindowListSkip, Notitle, StaysOnTop, NoHandles
  248. Style HiddenConsole WindowShadeSteps 100

  249. #####
  250. # Miscellaneous Module Settings.
  251. #################

  252. # FvwmIdent is an xwininfo replacement.
  253. DestroyModuleConfig FvwmIdent: *
  254. *FvwmIdent: Back MidnightBlue
  255. *FvwmIdent: Fore #f6f6f6
  256. *FvwmIdent: Font "xft:snap"

  257. # FvwmScroll swallows applications into smaller containers.
  258. DestroyModuleConfig FvwmScroll: *
  259. *FvwmScroll: Back #f6f6f6
  260. *FvwmScroll: Fore #f6f6f6

  261. # FvwmEvent can bind Commands to Events
  262. DestroyModuleConfig FvwmEvent: *

  263. # Animations are controlled by this module
  264. # You could also use Frame, Lines, Flip, Turn, Twist, Random and None.
  265. DestroyModuleConfig FvwmAnimate: *
  266. *FvwmAnimate: Effect Flip

  267. # Hit Alt+Esc to toggle FvwmProxy, which allows you to see all windows on your
  268. # desktop, even if they've been obscured..really cool.
  269. DestroyModuleConfig FvwmProxy: *
  270. *FvwmProxy: Font "xft:snap"
  271. *FvwmProxy: ProxyMove true

  272. Key Escape  A   M   SendToModule FvwmProxy ShowToggle


  273. ####
  274. # First, define a StrokeFunc.
  275. #
  276. # Without this, you would have to execute all of your gestures entirely on the Root
  277. # Window, This lets you change the Context and have a few other Neat Features, such as
  278. # DrawMotion, which will draw a line as you make your Gesture (Neat!).
  279. #
  280. # There is also EchoSequence, Feedback and NotStayPressed.
  281. #
  282. # Note: EchoSequence prints sequences to STDERR.
  283. #################
  284. Mouse 3 R A     StrokeFunc DrawMotion FeedBack StrokeWidth 1

  285. # Down, Then Up.
  286. Stroke 25852 0 R N  Refresh

  287. # Directions...
  288. Stroke 456 0 R N    GotoPage +1p 0p
  289. Stroke 654 0 R N    GotoPage -1p 0p
  290. Stroke 852 0 R N    GotoPage 0p -1p
  291. Stroke 258 0 R N    GotoPage 0p +1p

  292. # Diagonal...
  293. Stroke 159 0 R N    GotoPage +1p +1p
  294. Stroke 951 0 R N    GotoPage -1p -1p
  295. Stroke 357 0 R N    GotoPage -1p +1p
  296. Stroke 753 0 R N    GotoPage +1p -1p

  297. #####
  298. # Quit
  299. #
  300. # Down, Then Right.
  301. #
  302. # Dont worry about running this gesture by accident,
  303. # you will be asked to confirm
  304. #################
  305. Stroke 14789 0 R N  Module FvwmForm FvwmForm-QuitVerify

  306. ####
  307. # Up, Then Down: Close a window.
  308. #
  309. # Note that you can also enter the sequence as it appears on your
  310. # Numeric Keypad, by preceding the sequence with an `N`.
  311. #
  312. # The FVWM developers think of everything :)
  313. #################
  314. Stroke N25852 0 R N Pick Close

  315. # Start a Web Browser
  316. Stroke N1478963 0 R N Exec exec opera -newpage

  317. # Make a new Sticky Note
  318. Stroke N1598753 0 R N Exec exec xpad

  319. #####
  320. # Fvwm executes StartFunction when Fvwm is initialized, and at restart.
  321. # A Good place to start Modules.
  322. #
  323. # FvwmCommandS Allows you to run Fvwm Commands from a Terminal, like this:
  324. #   $ FvwmCommand 'Module FvwmBanner'
  325. # Or any other Command.
  326. #
  327. # You can test for Initialization from within StartFunction, this is a good
  328. # place to set the Background or start your favourite applications.
  329. #################
  330. DestroyFunc StartFunction
  331. AddToFunc StartFunction
  332. + I Module FvwmCommandS
  333. + I Module FvwmAnimate
  334. + I Module FvwmEvent
  335. + I Module FvwmProxy
  336. + I Module FvwmTaskBar
  337. + I Test (Init) Exec exec fvwm-root --dither --retain-pixmap $[fvwm_wallpaper]
  338. #+ I Test (Restart) All (Iconic) Test (f $[HOME]/.fvwm/icon.tmp.$[w.id].png) WindowStyle IconOverride, Icon $[HOME]/.fvwm/icon.tmp.$[w.id].png

  339. #####
  340. # I Sometimes use xsm, but dont usually bother.
  341. #################
  342. #AddToFunc SessionInitFunction I Nop
  343. #AddToFunc SessionRestartFunction I Nop

  344. #####
  345. # ExitFunction is executed when you ask Fvwm to Quit.
  346. # Test (ToRestart) is true before a Restart.
  347. #################
  348. DestroyFunc ExitFunction
  349. AddToFunc ExitFunction
  350. + I Test (!ToRestart) Exec exec rm -f $[HOME]/.fvwm/icon.tmp.*
  351. + I Exec exec sync

  352. #####
  353. # Name:     FuncFvwmFocusPolicyChange
  354. # Bound:    MenuFvwmConfig, Focus Policy Changes.
  355. # Purpose:  Start using a new Focus Policy.
  356. #
  357. #################
  358. DestroyFunc FuncFvwmFocusPolicyChange
  359. AddToFunc FuncFvwmFocusPolicyChange
  360. + I Style * $0
  361. + I Recapture

  362. #####
  363. # Name:     PackWindowUp
  364. # Bound:    Alt+Shift+Up When a window is active
  365. # Purpose:  Interrogate all windows on the current page, find the window with an edge
  366. #           closest to active window, and slide the Active window upto that edge, or
  367. #           the Page edge, if no window is in the way.
  368. #
  369. #           The Wrappers are required to look after the Context while we're testing
  370. #           windows. Could also do it with a load of variables, but this is nicer.
  371. #
  372. #           See PackWindowLeft for a description of the logic (i know it looks a little
  373. #           cryptic).
  374. #
  375. #           Sometimes terminals seem to need WindowRefresh, but 99% of the time it just
  376. #           works, it creates a little flicker so I'll leave it out until it starts to bug
  377. #           me.
  378. #
  379. #           Windows are also Raised, you can disable this.
  380. #
  381. #################
  382. DestroyFunc PackWindowUp
  383. AddToFunc PackWindowUp
  384. + I SetEnv low_w 0
  385. + I WindowId $3 Raise
  386. + I All (CurrentPage !Iconic AcceptsFocus \
  387.         !Shaded) PipeRead "test `expr $[w.y] + $[w.height]` -gt $[low_w] \
  388.         -a `expr $[w.y] + $[w.height]` -lt $0 \
  389.         -a \\( \\( $[w.x] -gt $1 -a $[w.x] -lt `expr $1 + $2` \\) \
  390.             -o \\( $1 -gt $[w.x] -a $1 -lt `expr $[w.x] + $[w.width]` \\) \

  391.             -o \\( $1 -le $[w.x] -a `expr $1 + $2` -ge `expr $[w.x] + $[w.width]` \\) \
  392.             -o \\( $[w.x] -lt $1 -a `expr $[w.x] + $[w.width]` -gt `expr $1 + $2` \\) \
  393.         \\) \
  394.         && echo SetEnv low_w `expr $[w.y] + $[w.height]` \
  395.         || echo Nop"
  396. + I WindowId $3 AnimatedMove keep $[low_w]p
  397. #+ I WindowId $3 RefreshWindow

  398. AddToFunc PackWrapperUp I NoWindow PackWindowUp $[w.y] $[w.x] $[w.width] $[w.id]

  399. #####
  400. # Name:     PackWindowDown
  401. # Bound:    Alt+Shift+Down When a window is active.
  402. # Purpose:  See PackWindowUp.
  403. #
  404. #################
  405. DestroyFunc PackWindowDown
  406. AddToFunc PackWindowDown
  407. + I SetEnv high_w $[vp.height]
  408. + I WindowId $3 Raise
  409. + I All (CurrentPage !Iconic AcceptsFocus \
  410.         !Shaded) PipeRead "test $[w.y] -lt $[high_w] \
  411.         -a $[w.y] -gt `expr $0 + $4`  \
  412.         -a \\( \\( $[w.x] -gt $1 -a $[w.x] -lt `expr $1 + $2` \\) \
  413.             -o \\( $1 -gt $[w.x] -a $1 -lt `expr $[w.x] + $[w.width]` \\) \
  414.             -o \\( $1 -le $[w.x] -a `expr $1 + $2` -ge `expr $[w.x] + $[w.width]` \\) \
  415.             -o \\( $[w.x] -lt $1 -a `expr $[w.x] + $[w.width]` -gt `expr $1 + $2` \\) \
  416.         \\) \
  417.         && echo SetEnv high_w $[w.y] \
  418.         || echo Nop"
  419. + I PipeRead "echo WindowId $3 AnimatedMove keep `expr $[high_w] - $4`p"
  420. #+ I WindowId $3 RefreshWindow

  421. AddToFunc PackWrapperDown I NoWindow PackWindowDown $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]

  422. #####
  423. # Name:     PackWindowLeft
  424. # Bound:    Alt+Shift+Left When a window is active
  425. # Purpose:  See PackWindowUp.
  426. #
  427. # The Logic works likes this:
  428. #   1. Set Destination to the Left Edge
  429. #   2. For every window, Run these tests:
  430. #               + Is the Window's Right edge further _Right_ than furthest edge seen yet?
  431. #       And:    + Is it's Right edge Further _Left_ than Target Windows Left edge? (ie, in the way)
  432. #           Yes:
  433. #                   + Does the window start inside Target Window, and end below?
  434. #               Or  + Does it start above, and end inside?
  435. #               Or  + Is it the same vertical position/height/size, or start inside and end inside?
  436. #               Or  + Does it start above, and end below?
  437. #                   Yes:
  438. #                       This is the new Destination.
  439. #                   No:
  440. #                       Nop
  441. #           No:
  442. #               Nop
  443. #   3. Move to Destination.
  444. #
  445. #################
  446. DestroyFunc PackWindowLeft
  447. AddToFunc PackWindowLeft
  448. + I SetEnv left_w 0
  449. + I WindowId $3 Raise
  450. + I All (CurrentPage !Iconic AcceptsFocus \
  451.         !Shaded) PipeRead "test `expr $[w.x] + $[w.width]` -gt $[left_w] \
  452.         -a `expr $[w.x] + $[w.width]` -lt $1 \
  453.         -a \\( \\( $[w.y] -gt $0 -a $[w.y] -lt `expr $0 + $4` \\) \
  454.             -o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt $0 \\) \
  455.             -o \\( $[w.y] -ge $0 -a `expr $[w.y] + $[w.height]` -le `expr $0 + $4` \\) \
  456.             -o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt `expr $0 + $4` \\) \
  457.         \\) \
  458.         && echo SetEnv left_w `expr $[w.x] + $[w.width]`  \
  459.         || echo Nop"
  460. + I WindowId $3 AnimatedMove $[left_w]p keep
  461. #+ I WindowId $3 RefreshWindow

  462. AddToFunc PackWrapperLeft I NoWindow PackWindowLeft $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]

  463. DestroyFunc PackWindowRight
  464. AddToFunc PackWindowRight
  465. + I SetEnv right_w $[vp.width]
  466. + I WindowId $3 Raise
  467. + I All (CurrentPage !Iconic AcceptsFocus \
  468.         !Shaded) PipeRead "test $[w.x] -lt $[right_w] \
  469.         -a $[w.x] -gt `expr $1 + $2` \
  470.         -a \\( \\( $[w.y] -gt $0 -a $[w.y] -lt `expr $0 + $4` \\) \
  471.             -o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt $0 \\) \
  472.             -o \\( $[w.y] -ge $0 -a `expr $[w.y] + $[w.height]` -le `expr $0 + $4` \\) \
  473.             -o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt `expr $0 + $4` \\) \
  474.         \\) \
  475.         && echo SetEnv right_w $[w.x] \
  476.         || echo Nop"
  477. + I PipeRead "echo WindowId $3 AnimatedMove `expr $[right_w] - $2`p keep"
  478. #+ I WindowId $3 RefreshWindow

  479. AddToFunc PackWrapperRight I NoWindow PackWindowRight $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]

  480. #####
  481. # Name:     WheelToggleShade
  482. # Bound:    Mouse Buttons 4 and 5 (wheel up and down) on Titlebars
  483. # Purpose:  Shade or unshade the window when the Mouse wheel is rolled up or
  484. #           down on the Titlebar. Rolling the Wheel up calls the Function with
  485. #           argument `True` and rolling it down uses `False`, so rolling the wheel
  486. #           down when the window isnt shaded has no effect, which I like :)
  487. #
  488. #################
  489. DestroyFunc WheelToggleShade
  490. AddToFunc WheelToggleShade D WindowShade $0

  491. #####
  492. # Name:     DestroyOnHold
  493. # Bound:    Titlebar Button 2 (X)
  494. # Purpose:  When clicked, Raise the window Immediately.
  495. #           If the button is pressed and released, Close the Window. If it is pressed
  496. #           and held, Destroy it, and issue a Beep to confirm.
  497. #
  498. #           There is a 100ms delay before issuing `Close` so I have a chance to see the
  499. #           animation when the button changes from ActiveDown to ActiveUp :).
  500. #
  501. #################
  502. DestroyFunc DestroyOnHold
  503. AddToFunc DestroyOnHold I Raise
  504. + C Schedule 100 Close
  505. + H Destroy
  506. + H Beep

  507. #####
  508. # Name:     Thumbnail
  509. # Purpose:  Iconify a window with a reduced screenshot of the application
  510. #           Window, looks really cool.
  511. #
  512. #           Uses FvwmEvent to remove the Icon when deiconified, you will want
  513. #           to remove this if you use WindowStyle elsewhere.
  514. #
  515. #           Thumbnailing example: [6]http://dev.gentoo.org/~taviso/step2.png
  516. #
  517. ##################
  518. DestroyFunc Thumbnail
  519. AddToFunc Thumbnail
  520. + I Raise
  521. + I PipeRead "xwd -silent -id $[w.id] | convert -scale $[fvwm_icon_size] -frame 1x1 \
  522.     -mattecolor black -quality 0 xwd:- png:$[HOME]/.fvwm/icon.tmp.$[w.id].png \
  523.     && echo WindowStyle IconOverride, Icon $[HOME]/.fvwm/icon.tmp.$[w.id].png, StaysOnBottom \
  524.     || echo Nop"
  525. + I Iconify

  526. DestroyFunc DeThumbnail
  527. AddToFunc DeThumbnail
  528. + I Exec exec rm -f $HOME/.fvwm/icon.tmp.$[w.id].png
  529. + I DestroyWindowStyle

  530. # FIXME: This will destroy all Windowstyle settings.
  531. FvwmEvent: deiconify DeThumbnail

  532. # FIXME: Make this more useful.
  533. # XXX: This doesnt do much yet, you can play with it if you like.
  534. # Example: [7]http://dev.gentoo.org/~taviso/fvwm_expose.png
  535. DestroyFunc FvwmExpose
  536. AddToFunc FvwmExpose
  537. + I AddToMenu FvwmExposeMenu ".: e x p o s e :." Title
  538. + I All (!Iconic !Shaded CurrentPage AcceptsFocus)\
  539.     PipeRead "echo Raise; \
  540.         xwd -silent -id $[w.id] | convert -scale 128 -frame 1x1 \
  541.         -mattecolor white -quality 0 xwd:- \
  542.         png:$[HOME]/.fvwm/icon.exp.$[w.id].png \
  543.     && echo AddToMenu FvwmExposeMenu \
  544.     %$[HOME]/.fvwm/icon.exp.$[w.id].png%\\\'"$[w.name]"\\\' WindowID $[w.id] WarpToWindow 50 50 \
  545.         && echo AddToMenu FvwmExposeMenu \\"\\" Nop \
  546.     || Nop"
  547. + I Popup FvwmExposeMenu
  548. + I DestroyMenu FvwmExposeMenu
  549. + I Exec exec rm -f $[HOME]/.fvwm/icon.exp.*

  550. AddToFunc WindowListFunc I WarpToWindow 50 50


  551. #####
  552. # Miscellaneous Functions
  553. #################
  554. AddToFunc Move-or-Raise I Raise
  555. + M Move
  556. + D WindowShade Toggle

  557. AddToFunc Maximize-Func M Maximize 0 100
  558. + C Maximize       0 80
  559. + D Maximize       100 100

  560. AddToFunc Move-or-Iconify I Raise
  561. + M Move
  562. + D Iconify

  563. AddToFunc Resize-or-Raise I Raise
  564. + M Resize
  565. + D Lower

  566. #####
  567. # Mouse bindings.
  568. #################

  569. # Syntax Reminder:
  570. # Mouse Button Context Modifiers Function

  571. Mouse 1 R       A   Menu MenuFvwmRoot
  572. Mouse 4 R       A   Menu MenuFvwmRoot
  573. Mouse 5 R       A   Menu MenuFvwmRoot
  574. Mouse 2 R       A   WindowList
  575. Mouse 0 1       A   Menu MenuFvwmWindowOps Nop
  576. Mouse 0 2       A   DestroyOnHold
  577. Mouse 0 6       A   Thumbnail
  578. Mouse 0 4       A   Maximize
  579. #Mouse 4 T       A   WheelToggleShade True
  580. #Mouse 5 T       A   WheelToggleShade False
  581. Mouse 1 FS      A   Resize-or-Raise
  582. Mouse 1 T       A   Move-or-Raise
  583. Mouse 1 I       A   Move-or-Iconify
  584. Mouse 2 I       A   Iconify
  585. Mouse 2 I       A   Thumbnail
  586. Mouse 3 TSIF    A   RaiseLower
  587. Mouse 3 W       M   Menu Window-Ops Nop
  588. Mouse 2 W       C   Resize-or-Raise
  589. Mouse 1 W       M   Move-or-Raise
  590. # Reserved for Mouse Gestures (See below)
  591. #Mouse 3 R      A   -

  592. #####
  593. # Key bindings.
  594. #################
  595. Key F1 A        M   Exec exec mlterm
  596. Key F4 A        M   Pick Close
  597. Key X  A        4   Pick Destroy
  598. Key L  A        4   Exec exec xscreensaver-command --lock
  599. Key I  A        4   All (AcceptsFocus CurrentPage !Iconic !Shaded) Thumbnail
  600. Key F4 A        CM  Quit
  601. Key R  A        CM  Restart
  602. Key Up      WTSF    SM  PackWrapperUp
  603. Key Down    WTSF    SM  PackWrapperDown
  604. Key Left    WTSF    SM  PackWrapperLeft
  605. Key Right   WTSF    SM  PackWrapperRight

  606. ####
  607. # Mouse Gestures.
  608. #
  609. # Syntax reminder:
  610. #
  611. #   1   2   3
  612. #
  613. #   4   5   6
  614. #
  615. #   7   8   9
  616. #
  617. # Stroke Sequence Button Context Modifiers Function
  618. #
  619. # I use mouse gestures in Opera and Mozilla, so I've duplicated some common ones here.
  620. #
  621. # To try these out, hold down the Left mouse button and trace the pattern on the Root
  622. # Window, the sequence is a pattern on the grid above, so 14789 would be down then Right.
  623. #################

  624. #####
  625. # Menu definitions
  626. # Beep if theres a missing SubMenu to remind me to write it.
  627. #################
  628. DestroyMenu MenuFvwmRoot
  629. AddToMenu MenuFvwmRoot
  630. +   MissingSubmenuFunction                  Beep
  631. +   "终端"                                  Exec exec mlterm
  632. +   ""                                      Nop
  633. +   "网络"                                  Popup MenuInternet
  634. +   "文本编辑"                              Popup MenuEditors
  635. +   "多媒体"                                Popup MenuMultimedia
  636. +   "工具"                                  Popup MenuUtilities
  637. +   "开发"                                  Popup MenuDevel
  638. +   "游戏"                                  Popup MenuGames
  639. +   "Logins"                                Popup Menulogins
  640. +   ""                                      Nop
  641. +   "FVWM选项"                              Popup MenuFvwmConfig
  642. +   "Window Controls"                       Popup MenuFvwmWindowOps
  643. +   ""                                      Nop
  644. +   "&Xkill"                                Pick Destroy
  645. +   "R&efresh"                              Refresh
  646. +   "&Screenshot"                           Exec exec scrot --quality 100 '%Y-%m-%d_$wx$h.png'
  647. +   "&Lock Screen"                          Exec exec xscreensaver-command -lock
  648. +   ""                                      Nop
  649. +   "退出 Fvwm"                             Popup MenuQuit-Verify

  650. DestroyMenu MenuOffice
  651. AddToMenu MenuOffice
  652. +   "Acrobat Reader"    Exec exec xpdf
  653. +   "Calculator" Exec exec xcalc

  654. DestroyMenu MenuInternet
  655. AddToMenu MenuInternet
  656. +   "浏览器"  Exec exec mozilla
  657. +   ""                                      Nop
  658. +   "Instant Messenger"   Exec exec gaim
  659. +   "E-Mail Client"    Exec exec mozilla -mail

  660. DestroyMenu MenuEditors
  661. AddToMenu MenuEditors
  662. +   "Vim"   Exec exec vim
  663. +   "Gedit"           Exec exec gedit

  664. DestroyMenu MenuMultimedia
  665. AddToMenu MenuMultimedia
  666. +   "xmms"      Exec exec xmms
  667. +   "Audio CD Player"    Exec exec grip
  668. +   ""                                      Nop
  669. +   "Xine Videos"  Exec exec xine

  670. DestroyMenu MenuUtilities
  671. AddToMenu MenuUtilities
  672. +   "文件管理器"     Exec exec konqueror
  673. +   ""                                      Nop
  674. +   "Maya"           Exec exec Maya6.0
  675. +   "Gimp"           Exec exec gimp
  676. +   ""                                      Nop
  677. +   "VMware Workstation"    Exec exec vmware
  678. +   "Nautilus File Manager"    Exec exec nautilus --no-desktop

  679. DestroyMenu MenuDevel
  680. AddToMenu MenuDevel
  681. +   "Html Editor"   Exec exec mozilla
  682. +   "Development Environment"    Exec exec kdevelop3

  683. DestroyMenu MenuGames
  684. AddToMenu MenuGames
  685. +   "Quake III Arena"   Exec exec $[HOME]/q3.sh

  686. #####
  687. # I start fvwm from my ~/.xinitrc like this:
  688. #   exec ssh-agent fvwm2
  689. # So if i select "Add Agent Identity" from this menu, it adds my default ssh key to ssh-agent.
  690. #################
  691. DestroyMenu MenuLogins
  692. AddToMenu MenuLogins
  693. +   %telephone_out.png%"SDF Public Access UNIX System"   Exec exec aterm -g \
  694.         102x42 -title '.: s d f :.' -e ssh tty.freeshell.org
  695. +   %computer_network.png%"Gentoo Linux Dev Server" Exec exec aterm -g \
  696.         102x42 -title '.: t e r m i n a l :.' -e ssh dev.gentoo.org
  697. +   %key2.png%"Add Agent Identity"  Exec ssh-add < /dev/null || ( test -x /usr/lib/misc/ssh-askpass || xmessage "Please install net-misc/x11-ssh-askpass." )
  698. +   ""                                      Nop
  699. +   %computer_x11.png%"Large Terminal Emulator" Exec exec aterm -g 102x42 -title '.: t e r m i n a l :.'
  700. +   %computer_x11.png%"Mini Terminal Emulator"  Exec exec rxvt -g 63x8 -title '.: m i n i t e r m :.' -e sh

  701. #####
  702. # You can browse directories and files with the fvwm-menu-directory
  703. # script included with Fvwm, its very configurable (as you might expect!),
  704. # and very useful.
  705. #
  706. # [5]http://www.mail-archive.com/fvwm%40hpc.uh.edu/msg05260.html
  707. #################
  708. DestroyFunc FuncFvwmMenuDirectory
  709. AddToFunc FuncFvwmMenuDirectory
  710. + I PipeRead 'case $0 in \
  711.         $[fvwm_rom_path]*) myexec=$[fvwm_rom_exec] mypng=games_puzzles_dice.png;; \
  712.         $[fvwm_video_path]*) myexec=$[fvwm_video_exec] mypng=film.png;; \
  713.         $[fvwm_audio_path]*) myexec=$[fvwm_audio_exec] mypng=audio.png;; \
  714.         $[fvwm_image_path]*) myexec=$[fvwm_image_exec] mypng=graphics_presentation_person.png;; \
  715.     esac; \
  716.     fvwm-menu-directory --icon-title folder_view.png --icon-file ${mypng:-file_text_view.png} \
  717.     --icon-dir folder_paper_closed.png --dir $0 --xterm exec --exec-file ${myexec:-gvim}'

  718. DestroyMenu MenuQuit-Verify
  719. AddToMenu MenuQuit-Verify
  720. +   "立即退出 Fvwm"%ctl_alt_f4.png%   Quit
  721. +   "Restart Fvwm..."%ctl_alt_r.png% Restart

  722. DestroyMenu MenuFvwmConfig
  723. AddToMenu MenuFvwmConfig
  724. +   "Fvwm Modules"            Popup MenuFvwmModules
  725. +   ""                                  Nop
  726. +   "Configure FvwmForm..." Module FvwmForm FvwmForm-Form
  727. +   "Configure Cursor..."   Module FvwmForm FvwmForm-RootCursor
  728. +   "Configure Screensaver..."  Exec exec xscreensaver-demo
  729. +   "Configure Mouse..."    Module FvwmScript FvwmScript-PointerSetup
  730. +   "Configure Keyboard..." Module FvwmScript FvwmScript-KeyboardSetup
  731. +   "Configure Bell..."      Module FvwmScript FvwmScript-BellSetup
  732. +   "General Settings..."  Module FvwmScript FvwmScript-BaseConfig

  733. #####
  734. # `Pick` is very handy, if it's obvious which window you're talking about,
  735. # The command is executed immediately within the context of that window.
  736. #
  737. # If it isnt obvious, for example, you select `Move` from the Root menu, the
  738. # cursor becomes a crosshair, and you can select the window you you would like
  739. # to apply the command to by clicking it.
  740. #
  741. # This saves a lot of work, you can use `Pick` with everything that might be
  742. # Called without context and only write one function/menu instead of two.
  743. #################
  744. DestroyMenu FvwmMoveMethods
  745. AddToMenu FvwmMoveMethods
  746. +   "Move to Top"       Pick AnimatedMove keep 0p
  747. +   "Move to Left"      Pick AnimatedMove 0p keep
  748. +   "Move to Right"     Pick PipeRead \
  749.         "echo AnimatedMove `expr $[vp.width] - $[w.width]`p keep"
  750. +   "Move to Bottom"    Pick PipeRead \
  751.         "echo AnimatedMove keep `expr $[vp.height] - $[w.height]`p"
  752. +   ""                              Nop
  753. +   %window.png%"Center Window" Pick PipeRead \
  754.     "echo AnimatedMove `expr \\( $[vp.width] - $[w.width] \\) / 2`p \
  755.     `expr \\( $[vp.height] - $[w.height] \\) / 2`p"
  756. +   ""                              Nop
  757. +   %hardware_mouse.png%"Pack Up"%alt_sft_up.png%   Pick PackWrapperUp
  758. +   %hardware_mouse.png%"Pack Left"%alt_sft_left.png%   Pick PackWrapperLeft
  759. +   %hardware_mouse.png%"Pack right"%alt_sft_right.png% Pick PackWrapperRight
  760. +   %hardware_mouse.png%"Pack down"%alt_sft_down.png%   Pick PackWrapperDown
  761. +   ""                              Nop
  762. +   %numbers_counter.png%"Move To Page" Popup MenuPageList
  763. +   ""                              Nop
  764. +   %hardware_mouse.png%"Interactive Move"  Pick Move

  765. DestroyMenu MenuPageList
  766. AddToMenu MenuPageList
  767. + "1"   Pick MoveToPage 0 0
  768. + "2"   Pick MoveToPage 1 0
  769. + "3"   Pick MoveToPage 2 0
  770. + "4"   Pick MoveToPage 0 1
  771. + "5"   Pick MoveToPage 1 1
  772. + "6"   Pick MoveToPage 2 1
  773. + "7"   Pick MoveToPage 0 2
  774. + "8"   Pick MoveToPage 1 2
  775. + "9"   Pick MoveToPage 2 2

  776. #####
  777. # WindowOps, Main window controls menu.
  778. #################
  779. DestroyMenu MenuFvwmWindowOps
  780. AddToMenu MenuFvwmWindowOps
  781. +   "Resize"            Pick Resize
  782. +   "Iconify   "                            Pick Iconify
  783. +   "Thumbnail "                            Pick Thumbnail
  784. +   "Maxmimise"                             Pick Maximize
  785. +   "Move"              Popup FvwmMoveMethods
  786. +   "Shade"               Pick WindowShade Toggle
  787. +   ""  Nop
  788. +   "Stick"         Pick Stick
  789. +   "Scroll"            Pick Module FvwmScroll
  790. +   "Refresh"    Pick RefreshWindow
  791. +   ""  Nop
  792. +   "Identify"       Pick Module FvwmIdent
  793. +   "Zoom"      Pick Exec exec xmag -source $[w.width]x$[w.height]+$[w.x]+$[w.y] -mag 2
  794. +   ""  Nop
  795. +   "Close"%alt_f4.png%           Pick Close
  796. +   "Destroy"%win_x.png%    Pick Destroy

  797. DestroyMenu MenuFvwmModules
  798. AddToMenu MenuFvwmModules
  799. +   "Animation          "   Module FvwmAnimate
  800. +   "Button-Bar         "   Module FvwmButtons
  801. +   "Identify           "   Module FvwmIdent
  802. +   "IconMan            "   Module FvwmIconMan
  803. +   "Banner             "   Module FvwmBanner
  804. +   "Console            "   Module FvwmConsole -terminal rxvt
  805. +   "Pager              "   Module FvwmPager 0 1
  806. +   "Backer             "   Module FvwmBacker
  807. +   "ScrollBar          "   Module FvwmScroll 50 50
  808. +   "FvwmTaskBar        "   Module FvwmTaskBar
  809. +   "AutoRaise          "   Module FvwmAuto 200 Raise Nop
  810. +   "WinList            "   Module FvwmWinList
  811. +   ""                      Nop
  812. +   "Stop Module        "   Popup  MenuFvwmStopModule

  813. DestroyMenu MenuFvwmStopModule
  814. AddToMenu MenuFvwmStopModule
  815. +   "Stop Button-Bar    "   KillModule FvwmButtons
  816. +   "Stop IconMan       "   KillModule FvwmIconMan
  817. +   "Stop Pager         "   KillModule FvwmPager
  818. +   "Stop Backer        "   KillModule FvwmBacker
  819. +   "Stop ScrollBar     "   KillModule FvwmScroll
  820. +   "Stop FvwmTaskBar   "   KillModule FvwmTaskBar
  821. +   "Stop AutoRaise     "   KillModule FvwmAuto
  822. +   "Stop WinList       "   KillModule FvwmWinList

  823. #####
  824. # FvwmPager is probably the most advanced desktop pager ever written,
  825. # of course its highly configurable, has many advanced features, and can
  826. # be made to look very eye candy.
  827. #
  828. # You can drag the Windows around inside the Pager, pull windows from
  829. # other desktops out onto your current page, or drag the viewport into
  830. # non-standard positions.
  831. #
  832. # This pager gets swallowed into my FvwmButtons Bar. The pages are seperated
  833. # by solid white lines, the pager itself is tinted transparent and the colours
  834. # lighten as focus and the viewport changes.
  835. #
  836. # You can write titles, or draw icons into the Windows, but i prefer to use
  837. # the Balloons (tooltips) to find the Names.
  838. #
  839. #   +-----+-----+-----+
  840. #   |     |     |     |
  841. #   +-----+-----+-----+
  842. #   |     |     |     |
  843. #   +-----+-----+-----+
  844. #   |     |     |     |
  845. #   +-----+-----+-----+
  846. #
  847. #################
  848. Colorset 2 fg white, bg black, RootTransparent, Tint #b5b2ff 80
  849. Colorset 3 fg white, bg black, RootTransparent, Tint #eeefcf 70
  850. Colorset 4 fg #63656e, bg black, RootTransparent, Tint #b5b2ff 60
  851. Colorset 5 fg black, bg Khaki1, Plain
  852. Colorset 6 fg white, bg black, RootTransparent, Tint #e4e5c7 90
  853. DestroyModuleConfig FvwmPager: *
  854. *FvwmPager: Colorset * 3
  855. *FvwmPager: HilightColorset * 6
  856. *FvwmPager: WindowColorsets 4 2
  857. *FvwmPager: BalloonColorset * 5
  858. *FvwmPager: Font none
  859. *FvwmPager: SmallFont 5x8
  860. *FvwmPager: Balloons All
  861. *FvwmPager: BalloonFont "xft:mintsstrong"
  862. *FvwmPager: BalloonYOffset +2
  863. *FvwmPager: BalloonBorderWidth 1
  864. *FvwmPager: UseSkipList
  865. *FvwmPager: MoveThreshold 3
  866. *FvwmPager: SolidSeparators
  867. *FvwmPager: WindowLabelFormat ""
  868. *FvwmPager: WindowBorderWidth 1

  869. Colorset 10 fg black, bg #c6c3c6, RootTransparent, Tint #efebef 65
  870. DestroyModuleConfig FvwmButtons: *

  871. Colorset 11 fg white, bg #c6c3c6, sh black, hi black, RootTransparent buffer
  872. DestroyModuleConfig FvwmTaskBar: *
  873. *FvwmTaskBar: Geometry +0-0
  874. *FvwmTaskBar: Rows 1
  875. #*FvwmTaskBar: Font "xft:AR PL KaitiM GB:size=10"
  876. #*FvwmTaskBar: StatusFont "xft:AR PL KaitiM GB:size=10"
  877. #*FvwmTaskBar: SelFont "xft:AR PL KaitiM GB:size=10"
  878. *FvwmTaskBar: Colorset 11
  879. *FvwmTaskBar: AutoStick
  880. *FvwmTaskBar: UseSkipList
  881. *FvwmTaskBar: PageOnly
  882. *FvwmTaskBar: ShowTips
  883. *FvwmTaskBar: NoDefaultStartButton
  884. *FvwmTaskBar: NoBrightFocus
  885. *FvwmTaskBar: 3DFvwm
  886. *FvwmTaskBar: MailCheck 0
  887. *FvwmTaskBar: IconColorset 11
  888. *FvwmTaskBar: FocusColorset 11
  889. *FvwmTaskBar: DateFormat %Y-%m-%d
  890. *FvwmTaskBar: ClockFormat %H:%M %p
  891. *FvwmTaskBar: WindowButtonsRightMargin 124

  892. # References
  893. #
  894. #    1. [url]http://dev.gentoo.org/~taviso/screenshots/[/url]
  895. #    2. [url]http://digitalblasphemy.com/[/url]
  896. #    3. [url]http://www.fvwm.org/documentation/faq/#5.5[/url]
  897. #    4. [url]http://dev.gentoo.org/~taviso/autohide_console.png[/url]
  898. #    5. [url]http://www.mail-archive.com/fvwm%40hpc.uh.edu/msg05260.html[/url]
  899. #    6. [url]http://dev.gentoo.org/~taviso/step2.png[/url]
  900. #    7. [url]http://dev.gentoo.org/~taviso/fvwm_expose.png[/url]
  901. #    8. [url]http://www.fvwm.org/documentation/faq/#7.17[/url]

复制代码
发表于 2004-8-29 18:03:23 | 显示全部楼层
我要设置中文字体,我在XP系统里COPY了simsun.ttc文件来,应该放在DEBIAN的那个位置?
发表于 2004-8-29 20:42:44 | 显示全部楼层
楼主能贴个桌面出来看看吗?单独看.fvwm2rc不习惯
发表于 2004-8-29 23:22:39 | 显示全部楼层
抓图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-8-30 00:47:00 | 显示全部楼层
最初由 jsz 发表
我要设置中文字体,我在XP系统里COPY了simsun.ttc文件来,应该放在DEBIAN的那个位置?


怎么没人回答我的问题啊?倒了
发表于 2004-8-30 00:49:10 | 显示全部楼层
版内搜索 dfontmgr 或者 defoma,在《Debian 无痛起步》里也有详尽的说明。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表