]> git.pld-linux.org Git - packages/fvwm.git/blame - fvwm-system.fvwmrc
1b5abb2841515831ced9b4af720edf90 fvwm-system.fvwmrc
[packages/fvwm.git] / fvwm-system.fvwmrc
CommitLineData
2026016f
JR
1# Unfortunately, order does matter in this file
2# The correct order for inserting configurations is:
3# 1. Colors
4# 2. Assorted configuration paramters such as ClickToFocus, or MWMBorders
5# 3. Path setup (ModulePath, PixmapPath, IconPath)
6# 4. Style settings, including the default style Style "*" ...
7# 5. InitFunction and ResetFunction definitions.
8# 6. Other Functions. Functions cannot be forward referenced from
9# other functions, but they can be backward referenced.
10# 7. Menus definitions. Same caveats about forward referencing
11# 8. Key and Mouse Bindings.
12# 9. Module options.
13
14# The order of steps 5, 6, and 7 is not critical, as long as there are
15# no forward references to functions or menus.
16
17# If you get it wrong, the most common problem is that color or font settings
18# are ignored
19
20###########################################################################
21# set up the colors
22#
23# OK some people like bright clear colors on their window decorations.
24# These people, I guess would mostly be from nice sunny/good weather places
25# line California.
26#
27# StdForeColor Black
28# StdBackColor LightSkyBlue
29# HiForeColor yellow
30# HiBackColor PeachPuff1
31# PagerBackColor BlanchedAlmond
32
33# Me, I'm from Upstate New York, and live in New Hampshire, so I prefer
34# these dark muddy colors...
35
36StdForeColor Wheat
37StdBackColor DimGrey
38
39# this is used for the selected window
40HiForeColor Wheat
41HiBackColor SlateBlue4
42
43#PagerBackColor #5c54c0
44#PagerForeColor orchid
45
46StickyForeColor Black
47StickyBackColor #60c0a0
48
49# Menu colors
50MenuForeColor Wheat
51MenuBackColor DimGrey
52MenuStippleColor SlateGrey
53
54############################################################################
55# Now the fonts - one for menus, another for window titles, another for icons
56#Font -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
57#Font -*-times-medium-i-*-*-*-120-*-*-*-*-*-*
58#WindowFont -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
59#IconFont -adobe-helvetica-medium-r-*-*-11-*-*-*-*-*-*-*
60#IconFont fixed
61
62Font lucidasanstypewriter-12
63WindowFont lucidasanstypewriter-12
64IconFont lucidasanstypewriter-12
65
66###########################################################################
67# Set up the major operating modes
68#
69######################## FOCUS STUFF ##############################
70# Set windows to auto-raise after 750 milliseconds if you like it.
71# Autoraise can sometimes obscure pop-up windows. Performance is now
72# similar to olvwm's auto-raise feature.
73#AutoRaise 750
74
75# Normally, we'll be in focus-follows mouse mode, but uncomment this
76# for mwm-style click-to-focus
77#ClickToFocus
78
79######################## ICON STUFF ##############################
80# Auto Place Icons is a nice feature....
81# This creates two icon boxes, one on the left side, then one on the
82# bottom. Leaves room in the upper left for my clock and xbiff,
83# room on the bottom for the Pager.
84#IconBox -150 90 -5 -140
85#IconBox 5 -140 -140 -5
86IconBox -70 1 -1 -140
87
88# If you uncomment this, and make sure that the WindowList is bound to
89# something, it works pretty much like an icon manager.
90#SuppressIcons
91
92# StubbornIcons makes icons de-iconify into their original position on the
93# desktop, instead of on the current page.
94#StubbornIcons
95
96# With AutoPlacement, icons will normally place themselves underneath active
97# windows. This option changes that.
98#StubbornIconPlacement
99
100# If you want ALL you icons to follow you around the desktop (Sticky), try
101# this
102#StickyIcons
103
104######################## MWM EMULATION #######################
105#
106# My feeling is that everyone should use MWMDecorHints and MWMFunctionHints,
107# since some applications depend on having the window manager respect them
108
109# MWMFunction hints parses the function information in the MOTIF_WM_HINTS
110# property, and prohibits use of these functions on the window. Appropriate
111# portions of the window decorations are removed.
112MWMFunctionHints
113
114# MWM is kinda picky about what can be done to transients, and it was keeping
115# me from iconifying some windows that I like to iconify, so here's an
116# over-ride that will allow me to do the operation, even tough the menu
117# item is shaded out.
118MWMHintOverride
119
120# MWMDecor hints parses the decoration information in the MOTIF_WM_HINTS
121# property, and removes these decoratons from the window. This does not affect
122# the functions that can be performed via the menus.
123MWMDecorHints
124
125# These are affect minor aspects for the look-and-feel.
126# Sub-menus placement mwm-style?
127# MWMMenus
128# mwm-style border reliefs (less deep than default fvwm) ?
129# MWMBorders
130# Maximize button does mwm-inversion thingy
131# MWMButtons
132######################## MISCELLANEOUS STUFF #######################
133# If you don't like the default 150 msec click delay for the complex functions
134# change this and uncomment it.
135# ClickTime 150
136
137# OpaqueMove has a number (N) attached to it (default 5).
138# if the window occupies less than N% of the screen,
139# then opaque move is used. 0 <= N <= 100
140# OpaqueMove 100
141
142# flip by whole pages on the edge of the screen.
143EdgeScroll 100 100
144
145# A modest delay before flipping pages seems to be nice...
146# I thresh in a 50 pixel Move-resistance too, just so people
147# can try it out.
148EdgeResistance 350 50
149
150
151######################## WINDOW PLACEMENT #######################
152# RandomPlacement prevents user interaction while placing windows:
153#RandomPlacement
154
155# SmartPlacement makes new windows pop-up in blank regions of screen
156# if possible, or falls back to random or interactive placement.
157SmartPlacement
158
159# With SmartPlacement, windows will normally place themselves over icons.
160# Uncomment this to change that.
161#StubbornPlacement
162
163# NoPPosition instructs fvwm to ignore the PPosition field in window
164# geometry hints. Emacs annoyingly sets PPosition to (0,0)!
165NoPPosition
166
167
168######################## DECORATIONS #######################
169# If you want decorated transient windows, uncomment this:
170#DecorateTransients
171
172
173###########################################################################
174# Set up the virtual desktop and pager
175
176#set the desk top size in units of physical screen size
177DeskTopSize 2x2
178
179# and the reduction scale used for the panner/pager
180DeskTopScale 32
181
182##########################################################################
183# Module path and paths to the icons
184#
185# ModulePath is a colon-separated list, just like regular unix PATH
186ModulePath /usr/X11R6/lib/X11/fvwm/
187PixmapPath /usr/X11R6/include/X11/pixmaps/:/usr/X11R6/share/icons/:/usr/X11R6/share/icons/mini/:/usr/share/icons/:/usr/share/icons/mini/
188IconPath /usr/X11R6/include/X11/bitmaps/:/usr/X11R6/share/icons/:/usr/X11R6/share/icons/mini/:/usr/share/icons/:/usr/share/icons/mini/
189
190############################################################################
191# Set the decoration styles and window options
192# Order is important!!!!
193# If compatible styles are set for a single window in multiple Style
194# commands, then the styles are ORed together. If conflicting styles
195# are set, the last one specified is used.
196
197# These commands should command before any menus or functions are defined,
198# and before the internal pager is started.
199
200# change the default width.
201Style "*" BorderWidth 5, HandleWidth 5, Icon unknown1.xpm
202
203Style "Fvwm*" NoTitle, NoHandles, Sticky, WindowListSkip, BorderWidth 0
204# Style "Fvwm Pager" StaysOnTop
205# Style "FvwmPager" StaysOnTop
206Style "FvwmBanner" StaysOnTop
207Style "GoodStuff" NoTitle, NoHandles, Sticky, WindowListSkip, BorderWidth 0, CirculateSkip
208Style "*lock" NoTitle, NoHandles, Sticky, WindowListSkip, BorderWidth 0, CirculateSkip
209Style "xbiff" NoTitle, NoHandles, Sticky, WindowListSkip, BorderWidth 0, CirculateSkip
210Style "Maker" StartsOnDesk 1
211Style "matlab" StartsOnDesk 3
212Style "signal" StartsOnDesk 3
213Style "rxvt" Icon term.xpm
214Style "xterm" Icon xterm.xpm
215Style "Console" Icon xterm.xpm
216Style "xterm_color" Icon xterm.xpm
217Style "Appointment" Icon datebook.xpm, NoButton 2, NoButton 4
218Style "xcalc" Icon xcalc.xpm, NoButton 2
219Style "xbiff" Icon mail1.xpm, NoButton 2
220Style "xmh" Icon mail1.xpm, StartsOnDesk 2, NoButton 2
221Style "xman" Icon xman.xpm
222Style "xvgr" Icon graphs.xpm
223Style "matlab" Icon math4.xpm
224Style "xmag" Icon mag_glass.xpm
225Style "xgraph" Icon graphs.xpm
226Style "GoodStuff" Icon toolbox.xpm
227
228# Change the Maximize and iconify buttons to up and down triangles.
229
230#ButtonStyle : 2 4 50x35@1 65x65@0 35x65@0 50x35@1
231#ButtonStyle : 4 4 50x65@1 35x35@1 65x35@1 50x65@0
232
233ButtonStyle 2 20x20
234ButtonStyle 4 50x50
235
236#############################################################################
237
238# Stuff to do at start-up
239
240Function "InitFunction"
241# Module "I" FvwmBanner
242# Exec "I" xpmroot /usr/include/X11/pixmaps/fvwm.xpm &
243 Exec "I" xsetroot -solid "#266294"
244 Module "I" GoodStuff
245# Exec "I" exec xterm -geometry 80x64+0+0 &
246# Wait "I" xterm
247# Desk "I" 0 2
248# Exec "I" exec xterm -geometry +0+0 &
249# Wait "I" xterm
250# Module "I" FvwmPager 0 0
251 Desk "I" 0 0
252EndFunction
253
254Function "RestartFunction"
255 Exec "I" xsetroot -solid "#266294"
256 Module "I" GoodStuff
257# Module "I" FvwmPager 0 0
258EndFunction
259
260
261############################################################################
262# Now define some handy complex functions
263
264# This one moves and then raises the window if you drag the mouse,
265# only raises the window if you click, or does a RaiseLower if you double
266# click
267Function "Move-or-Raise"
268 Move "Motion"
269 Raise "Click"
270EndFunction
271
272# This one maximizes vertically if you click (leaving room for the GoodStuff bar at the
273# bottom, or does a full maximization if you double click, or a true full vertical
274# maximization if you just hold the mouse button down.
275Function "maximize_func"
276 Maximize "Motion" 0 100
277 Maximize "Click" 0 80
278 Maximize "DoubleClick" 100 100
279EndFunction
280
281
282# This one moves and then lowers the window if you drag the mouse,
283# only lowers the window if you click, or does a RaiseLower if you double
284# click
285Function "Move-or-Lower"
286 Move "Motion"
287 Lower "Motion"
288 Lower "Click"
289 RaiseLower "DoubleClick"
290EndFunction
291
292# This one moves or (de)iconifies:
293Function "Move-or-Iconify"
294 Move "Motion"
295 Iconify "Click"
296EndFunction
297
298# This one resizes and then raises the window if you drag the mouse,
299# only raises the window if you click, or does a RaiseLower if you double
300# click
301Function "Resize-or-Raise"
302 Resize "Motion"
303 Raise "Motion"
304 Raise "Click"
305 RaiseLower "DoubleClick"
306EndFunction
307
308
309# This is provided as a hint only.
310# Move to a known page on the desktop, then start an application in a
311# known location. Could also switch to a known desktop, I guess
312#Function "abs_coord"
313# GoToPage "Immediate" 1,1
314# Exec "Immediate" exec xcalc -geometry +100+100&
315#EndFunction
316
317
318##############################################################################
319#now define the menus - defer bindings until later
320
321# This menu is invoked as a sub-menu - it allows you to quit,
322# restart, or switch to another WM.
323Popup "Quit-Verify"
324 Title "Really Quit Fvwm?"
325 Quit "Yes, Really Quit"
326 Restart "Restart Fvwm" fvwm
327 Restart "Start twm" twm
328 Restart "Start tvtwm" tvtwm
329 Restart "Start mwm" mwm
330 Restart "Start olwm" /usr/openwin/bin/olwm
331 Nop ""
332 Nop "No, Don't Quit"
333EndPopup
334
335# Provides a list of modules to fire off
336Popup "Module-Popup"
337 Title "Modules"
338 Module "GoodStuff" GoodStuff
339 Module "Clean-Up" FvwmClean
340 Module "Identify" FvwmIdent
341 Module "SaveDesktop" FvwmSave
342 Module "Debug" FvwmDebug
343 Module "Pager" FvwmPager 0 0
344 Module "FvwmWinList" FvwmWinList
345EndPopup
346
347Popup "Apps"
348 Exec "Netscape" exec netscape &
349 Exec "Mosaic" exec Mosaic &
350 Exec "Arena" exec arena &
351 Nop ""
352 Exec "slrn" exec xterm -e slrn &
353 Exec "exmh" exec exmh &
354 Exec "Pine" exec xterm -e pine &
355 Exec "Elm" exec xterm -e elm &
356 Nop ""
357 Exec "TkMan" exec tkman &
358 Exec "TkInfo" exec tkinfo &
359 Exec "Emacs" exec emacs &
360 Exec "Emacs nox" exec xterm -e emacs-nox &
361 Exec "Jed" exec xterm -e jed &
362 Nop ""
363 Exec "X File Manager" exec xfm &
364 Exec "xpaint" exec xpaint &
365 Exec "xfig" exec xfig &
366# Why doesn't this work?
367# Exec "ImageMagick" exec display &
368 Exec "xv" exec xv &
369 Nop ""
370 Exec "wish" exec xterm -e wish &
371 Exec "Python" exec xterm -e python &
372EndPopup
373
374Popup "Games"
375 Exec "Hextris" exec cxhextris &
376 Exec "xbill" exec xbill &
377 Exec "Chess" exec xboard &
378 Exec "xchomp" exec xchomp &
379 Exec "Minesweeper" exec xdemineur &
380 Exec "Backgammon" exec xgammon &
381 Exec "xjewel" exec xjewel &
382 Exec "xlander" exec xlander &
383 Exec "xsnow" exec xsnow &
384 Exec "Tetris" exec xtetris &
385 Exec "Trojka" exec xtrojka &
386EndPopup
387
388Popup "Utils"
389 Exec "Top" exec xterm -T Top -n Top -e top &
390 Exec "Calculator" exec xcalc &
391 Exec "Xman" exec xman &
392 Exec "Xmag" exec xmag &
393 Exec "xosview" exec xosview &
394EndPopup
395
396# This menu will fire up some very common utilities
397Popup "Utilities"
398 Title "Program Menu"
399 Exec "Xterm" exec xterm &
400 Exec "Rxvt" exec rxvt -bg Black -fg Wheat &
401 Exec "Color Xterm" exec xterm-color &
402 Nop ""
403 Popup "Applications" Apps
404 Popup "Games" Games
405 Popup "Utilities" Utils
406 Popup "Modules" Module-Popup
407 Nop ""
408 Restart "Restart Fvwm" fvwm
409 Popup "Exit Fvwm" Quit-Verify
410EndPopup
411
412# This defines the most common window operations
413Popup "Window Ops"
414 Title "Window Ops"
415 Function "Move" Move-or-Raise
416 Function "Resize" Resize-or-Raise
417 Raise "Raise"
418 Lower "Lower"
419 Iconify "(De)Iconify"
420 Stick "(Un)Stick"
421 Function "(Un)Maximize" maximize_func
422 Nop ""
423 Destroy "Destroy"
424 Close "Close"
425 Nop ""
426 Refresh "Refresh Screen"
427EndPopup
428
429# A trimmed down version of "Window Ops", good for binding to decorations
430Popup "Window Ops2"
431 Function "Move" Move-or-Raise
432 Function "Resize" Resize-or-Raise
433 Raise "Raise"
434 Lower "Lower"
435 Iconify "Iconify"
436 Stick "(Un)Stick"
437 Nop ""
438 Destroy "Destroy"
439 Close "Close"
440 Nop ""
441 Module "ScrollBar" FvwmScroll 2 2
442EndPopup
443
444#############################################################################
445# One more complex function - couldn't be defined earlier because it used
446# pop-up menus
447#
448# This creates a motif-ish sticky menu for the title-bar window-ops
449# pop-up
450# Menu acts like normal twm menu if you just hold the button down,
451# but if you click instead, the menu stays up, motif style
452Function "window_ops_func"
453 PopUp "Click" Window Ops2
454 PopUp "Motion" Window Ops2
455# Motif would add:
456# I'll add it too, it can be mighty handy.
457 Close "DoubleClick"
458EndFunction
459
460
461##############################################################################
462# This defines the mouse bindings
463
464# First, for the mouse in the root window
465# Button 1 gives the Utilities menu
466# Button 2 gives the Window Ops menu
467# Button 3 gives the WindowList (like TwmWindows)
468# I use the AnyModifier (A) option for the modifier field, so you can hold down
469# any shift-control-whatever combination you want!
470
471# Button Context Modifi Function
472Mouse 1 R A PopUp "Utilities"
473Mouse 2 R A PopUp "Window Ops"
474Mouse 3 R A Module "winlist" FvwmWinList transient
475
476
477
478# Now the title bar buttons
479# Any button in the left title-bar button gives the window ops menu
480# Any button in the right title-bar button Iconifies the window
481# Any button in the rightmost title-bar button maximizes
482# Note the use of "Mouse 0" for AnyButton.
483
484# Button Context Modifi Function
485#Mouse 0 1 A Function "window_ops_func"
486#Mouse 0 2 A Function "maximize_func"
487#Mouse 0 4 A Iconify
488Mouse 0 1 A Function "window_ops_func"
489Mouse 1 2 A Iconify
490Mouse 3 2 A Destroy
491Mouse 1 4 A Maximize 0 100
492Mouse 3 4 A Maximize 100 100
493
494# Now the rest of the frame
495# Here I invoke my complex functions for Move-or-lower, Move-or-raise,
496# and Resize-or-Raise.
497# Button 1 in the corner pieces, with any modifiers, gives resize or raise
498#Mouse 1 F A Function "Resize-or-Raise"
499Mouse 1 FS A Resize
500# Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise
501#Mouse 1 TS A Function "Move-or-Raise"
502Mouse 1 T A Function "Move-or-Raise"
503
504# Button 1 in an icons gives move for a drag, de-iconify for a double-click,
505# nothing for a single click
506# Button 2 in an icon, w/ any modifiers, gives de-iconify
507
508Mouse 1 I A Function "Move-or-Iconify"
509Mouse 2 I A Iconify
510
511# Button 2 in the corners, sides, or title-bar gives the window ops menu
512Mouse 2 FST A Function "window_ops_func"
513# Button 3 anywhere in the decoration (except the title-bar buttons)
514# does a raise-lower
515Mouse 3 TSIF A RaiseLower
516
517# Button 3 in the window, with the Modifier-1 key (usually alt or diamond)
518# gives Raise-Lower. Used to use control here, but that interferes with xterm
519#Mouse 3 W M RaiseLower
520Mouse 1 W M RaiseLower
521Mouse 2 W M Move
522Mouse 3 W M Resize
523
524############################################################################
525# Now some keyboard shortcuts.
526
527# Arrow Keys
528# press arrow + control anywhere, and scroll by 1 page
529#Key Left A C Scroll -100 0
530#Key Right A C Scroll +100 +0
531#Key Up A C Scroll +0 -100
532#Key Down A C Scroll +0 +100
533
534# press arrow + meta key, and scroll by 1/10 of a page
535#Key Left A M Scroll -10 +0
536#Key Right A M Scroll +10 +0
537#Key Up A M Scroll +0 -10
538#Key Down A M Scroll +0 +10
539
540# press shift arrow + control anywhere, and move the pointer by 1% of a page
541#Key Left A SC CursorMove -1 0
542#Key Right A SC CursorMove +1 +0
543#Key Up A SC CursorMove +0 -1
544#Key Down A SC CursorMove +0 +1
545
546# press shift arrow + meta key, and move the pointer by 1/10 of a page
547#Key Left A SM CursorMove -10 +0
548#Key Right A SM CursorMove +10 +0
549#Key Up A SM CursorMove +0 -10
550#Key Down A SM CursorMove +0 +10
551
552# Keyboard accelerators
553#Key F1 A M CirculateUp
554#Key F1 A M Popup "Utilities"
555#Key F2 A M Popup "Window Ops"
556#Key F3 A M Module "WindowList" FvwmWinList
557#Key F4 A M Iconify
558#Key F5 A M Move
559#Key F6 A M Resize
560#Key F7 A M CirculateUp
561#Key F8 A M CirculateDown
562
563#Page Up/Dapge Down keys are used to scroll by one desktop page
564# in any context, press page up/down + control
565# in root context, just pressing page up/down is OK
566#
567# I prefer the non-wrapping scroll. These are for example purposes only
568#Key Next A C Scroll 100000 0
569#Key Next R N Scroll 100000 0
570#Key Prior A C Scroll -100000 0
571#Key Prior R N Scroll -100000 0
572
573
574############################################################################
575############################################################################
576#Definitions used by the modules
577
578###################### GoodStuff button-bar ################################
579# Colors
580*GoodStuffFore Orchid
581*GoodStuffBack Grey20
582
583# Font
584*GoodStuffFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
585# Geometry - really likes to pick its own size, but giving a position is OK
586*GoodStuffGeometry +0+0
587
588# Layout: specify rows or columns, not both
589*GoodStuffColumns 1
590
591*GoodStuff - - Swallow "XLoad" xload -nolabel -fg gold -bg grey10 &
592*GoodStuff - - SwallowModule "FvwmPager" FvwmPager 0 0
593
594# Define the buttons to use.....
595*GoodStuff Kill rbomb.xpm Destroy
596*GoodStuff xterm xterm.xpm Exec "xterm" xterm &
597*GoodStuff xclock clock.xpm Swallow "xclock" xclock -bg Grey20 -fg Orchid -hd Orchid -hl Orchid -geometry -1500-1500 -padding 0 &
598*GoodStuff xbiff mail1.xpm Swallow "xbiff" xbiff -bg Grey20 -fg Orchid &
599
600######################### No Clutter ########################################
601# I only wrote NoClutter as a simple test case, but maybe some big sites like
602# universities really have usage problems (too many open windows)....
603# Time delays are in seconds.
604*FvwmNoClutter 3600 Iconify 1
605*FvwmNoClutter 86400 Delete
606*FvwmNoCLutter 172800 Destroy
607
608########################## Window-Identifier ###############################
609# Just choose colors and a fonts
610*FvwmIdentBack MidnightBlue
611*FvwmIdentFore Yellow
612*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
613
614########################### Pager #########################################
615*FvwmPagerBack Black
616*FvwmPagerFore Orchid
617*FvwmPagerFont none
618*FvwmPagerHilight Black
619*FvwmPagerSmallFont 5x8
620
621##########################FvwmWinList##################################
622*FvwmWinListBack #908090
623*FvwmWinListFore Black
624*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
625*FvwmWinListAction Click1 Iconify -1,Focus
626*FvwmWinListAction Click2 Iconify
627*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent
628*FvwmWinListUseSkipList
629*FvwmWinListGeometry +0-1
630
This page took 0.094783 seconds and 4 git commands to generate.