On Mon, 13 Oct 1997, Dean C. Sullinger wrote:

> sits there and stares at me.  I have to press Ctrl+Alt+Bksp
> to exit out and then the text screen is so hosed that I
> can't read anything.
Sounds like X is starting ok,  but you need to start a window manager.
Make a .xinitrc file in your home directory,  the last line of which
should read 

exec fvwm

then you'll also need to copy the (attached to this message) sample.fvwmrc
file to ~/.fvwmrc,  and you'll be able to startx ok.  Check "man fvwmrc"
for the fvwmrc format,  and change the default one I've provided.

                                                        Will


                                [EMAIL PROTECTED]
                               [EMAIL PROTECTED]
                        http://www.cis.udel.edu/~lowe/
*****************************************************************************
Good Idea:      Feeding Stray Cats in the Park.
Bad Idea:       Feeding Stray Cats in the park ... to a bear.
***************************************************************************** 
# Unfortunately, order does matter in this file
# The correct order for inserting configurations is:
# 1. Colors
# 2. Assorted configuration paramters such as ClickToFocus, or MWMBorders
# 3. Path setup (ModulePath, PixmapPath, IconPath)
# 4. Style settings, including the default style Style "*" ...
# 5. InitFunction and ResetFunction definitions.
# 6. Other Functions. Functions cannot be forward referenced from
#       other functions, but they can be backward referenced.
# 7. Menus definitions. Same caveats about forward referencing
# 8. Key and Mouse Bindings.
# 9. Module options.

# The order of steps 5, 6, and 7 is not critical, as long as there are
# no forward references to functions or menus.

# If you get it wrong, the most common problem is that color or font settings
# are ignored


###########################################################################
# set up the colors

StdForeColor            Black
StdBackColor            Grey

# this is used for the selected window
HiForeColor             White
HiBackColor             DarkGreen

StickyForeColor         Black
 
# Menu colors
MenuForeColor           Black
MenuBackColor           grey
MenuStippleColor        SlateGrey
# fvwm2
Notitle xconsole
Noborder xconsole
NoBorder xclock
NoBorder xbiff
NoBorder xpostit


############################################################################
# Now the fonts - one for menus, another for window titles, another for icons
Font                    -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
#Font                   -*-times-medium-i-*-*-*-120-*-*-*-*-*-*
WindowFont              -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
#IconFont               -adobe-helvetica-medium-r-*-*-11-*-*-*-*-*-*-*
IconFont                fixed

###########################################################################
# Set up the major operating modes
#
########################      FOCUS STUFF     ##############################
# Set windows to auto-raise after 750 milliseconds if you like it.
# Autoraise can sometimes obscure pop-up windows. Performance is now
# similar to olvwm's auto-raise feature.
#AutoRaise 750

# Normally, we'll be in focus-follows mouse mode, but uncomment this 
# for mwm-style click-to-focus
#ClickToFocus

########################      ICON STUFF     ##############################
# Auto Place Icons is a nice feature....
# This creates two icon boxes, one on the left side, then one on the
# bottom. Leaves room in the upper left for my clock and xbiff,
# room on the bottom for the Pager.
#IconBox -150 90 -5 -140
#IconBox 5 -140 -140 -5
IconBox -70 1 -1 -140

# If you uncomment this, and make sure that the WindowList is bound to
# something, it works pretty much like an icon manager.
#SuppressIcons

# StubbornIcons makes icons de-iconify into their original position on the
# desktop, instead of on the current page.
#StubbornIcons

# With AutoPlacement, icons will normally place themselves underneath active
# windows. This option changes that.
#StubbornIconPlacement

# If you want ALL you icons to follow you around the desktop (Sticky), try
# this
#StickyIcons

Sticky xbiff
Sticky xpostit
Sticky xclock

NoTitle xbiff
NoTitle xclock
NoTitle xpostit

CirculateSkip xbiff
CirculateSkip xpostit
CirculateSkip xclock
CirculateSkip xconsole

########################      MWM EMULATION     #######################
#
# My feeling is that everyone should use MWMDecorHints and MWMFunctionHints,
# since some applications depend on having the window manager respect them

# MWMFunction hints parses the function information in the MOTIF_WM_HINTS
# property, and prohibits use of these functions on the window. Appropriate
# portions of the window decorations are removed.
MWMFunctionHints

# MWM is kinda picky about what can be done to transients, and it was keeping
# me from iconifying some windows that I like to iconify, so here's an
# over-ride that will allow me to do the operation, even tough the menu
# item is shaded out.
MWMHintOverride

# MWMDecor hints parses the decoration information in the MOTIF_WM_HINTS
# property, and removes these decoratons from the window. This does not affect
# the functions that can be performed via the menus.
MWMDecorHints

# These are affect minor aspects for the look-and-feel.
# Sub-menus placement mwm-style?
# MWMMenus
# mwm-style border reliefs (less deep than default fvwm) ?
# MWMBorders
# Maximize button does mwm-inversion thingy
# MWMButtons
########################      MISCELLANEOUS STUFF     #######################
# If you don't like the default 150 msec click delay for the complex functions
# change this and uncomment it.
#ClickTime 150

# OpaqueMove has a number (N) attached to it (default 5).
# if the window occupies less than N% of the screen, 
# then opaque move is used. 0 <= N <= 100
# OpaqueMove 100

# flip by whole pages on the edge of the screen.
EdgeScroll 100 100

# A modest delay before flipping pages seems to be nice...
# I thresh in a 50 pixel Move-resistance too, just so people
# can try it out.
EdgeResistance 500 500


########################      WINDOW PLACEMENT     #######################
# RandomPlacement prevents user interaction while placing windows:
# RandomPlacement

# SmartPlacement makes new windows pop-up in blank regions of screen 
# if possible, or falls back to random or interactive placement.
SmartPlacement

# With SmartPlacement, windows will normally place themselves over icons. 
# Uncomment this to change that.
#StubbornPlacement

# NoPPosition instructs fvwm to ignore the PPosition field in window 
# geometry hints. Emacs annoyingly sets PPosition to (0,0)!
#NoPPosition


########################      DECORATIONS     #######################
# If you want decorated transient windows, uncomment this:
#DecorateTransients


###########################################################################
# Set up the virtual desktop and pager

#set the desk top size in units of physical screen size
DeskTopSize 3x3

# and the reduction scale used for the panner/pager
#DeskTopScale 32

##########################################################################
# Module path and paths to the icons
#
# ModulePath is a colon-separated list, just like regular unix PATH
ModulePath /usr/lib/X11/fvwm
PixmapPath /usr/include/X11/pixmaps/
IconPath   /usr/include/X11/bitmaps/

############################################################################
# Set the decoration styles and window options
# Order is important!!!!
# 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.

# change the default width.
Style "*" BorderWidth 5, HandleWidth 5, Color Black/Grey,Icon unknown1.xpm

Style "Fvwm*"      NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 0
#Style "Fvwm Pager" StaysOnTop
#Style "FvwmPager"  StaysOnTop
#Style "FvwmBanner" StaysOnTop
Style "GoodStuff"  NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 0
Style "*lock"      NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 0
Style "xbiff"      NoTitle, Sticky, WindowListSkip,BorderWidth 0
Style "xpostit"    NoTitle, Sticky,WindowListSkip,BorderWidth 0
Style "*emacs"     Icon gnu-animal.xpm
Style "The GIMP"   Icon gimp.xpm
Style "*Untitled*"  Icon paint3.xpm
Style "Maker"      StartsOnDesk 1
Style "matlab"     StartsOnDesk 3
Style "signal"     StartsOnDesk 3 
Style "rxvt"       Icon  rterm.xpm
Style "xterm      Icon xterm.xpm, Color black/grey
Style "Appointment" Icon datebook.xpm, NoButton 2, NoButton 4
Style "xcalc"      Icon xcalc.xpm, NoButton 2
#Style "xbiff"      Icon mail1.xpm, NoButton 2
Style "xmh"        Icon mail1.xpm, StartsOnDesk 2, NoButton 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 "GoodStuff"  Icon toolbox.xpm
Style "tcsh"    Icon rterm.xpm,  Color black/grey

# Change the Maximize and iconify buttons to up and down triangles.

ButtonStyle : 2 4 [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL 
PROTECTED]
ButtonStyle : 4 4 [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL 
PROTECTED]

#############################################################################

# Stuff to do at start-up

Function "InitFunction"
        Module  "I"     FvwmPager 0 0
#       Exec    "I"     xpmroot /usr/include/X11/pixmaps/fvwm.xpm &
#       Module  "I"     GoodStuff
        Exec    "I"     exec rxvt -bg black -fg grey -geometry 80x64+0+0 -sb 
-sl 2000 -C -t Console &
#       Wait    "I"     xterm
#       Desk    "I"     0 2
#       Exec    "I"     exec xterm -geometry +0+0 &
#       Wait    "I"     xterm
#       Desk    "I"     0 0
        Exec    "I"     xsetroot -solid "#266294"
EndFunction

Function "RestartFunction"
        Exec    "I"     xsetroot -solid "#266294"      
        Module  "I"     FvwmPager 0 0
EndFunction


############################################################################
# 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 RaiseLower if you double 
# click
Function "Move-or-Raise"
        Move            "Motion"
        Raise           "Motion"
        Raise           "Click"
        RaiseLower      "DoubleClick" 
EndFunction

# This one maximizes vertically if you click (leaving room for the GoodStuff 
bar at the
# bottom, or does a full maximization if you double click, or a true full 
vertical 
# maximization if you just hold the mouse button down.
Function "maximize_func"
        Maximize        "Motion" 0 100
        Maximize        "Click" 0 80
        Maximize        "DoubleClick" 100 100
EndFunction


# 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
Function "Move-or-Lower"
        Move            "Motion"
        Lower           "Motion"
        Lower           "Click"
        RaiseLower      "DoubleClick"
EndFunction

# This one moves or (de)iconifies:
Function "Move-or-Iconify"
        Move            "Motion"
        Iconify         "DoubleClick"
EndFunction

# 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
Function "Resize-or-Raise"
        Resize          "Motion"
        Raise           "Motion"
        Raise           "Click"
        RaiseLower      "DoubleClick"
EndFunction


# This is provided as a hint only.
# Move to a known page on the desktop, then start an application in a 
# known location. Could also switch to a known desktop, I guess
#Function "abs_coord"
#       GoToPage "Immediate"    1,1
#       Exec    "Immediate"     exec xcalc -geometry +100+100&
#EndFunction


##############################################################################
#now define the menus - defer bindings until later

# This menu is invoked as a sub-menu - it allows you to quit,
# restart, or switch to another WM.
Popup "Fvwm-Functions"
        Title   "Fvwm Functions"
        Nop     ""
        Nop     ""
        Exec    "Xlock"         exec xlock -mode random 
        Nop     ""
        Restart "Restart Fvwm"  fvwm
        Nop     ""
        Restart "Start Fvwm95"  /usr/X11R6/bin/fvwm95-2 
        Restart "Start twm"     twm
        Restart "Start tvtwm"   tvtwm
        Restart "Start mwm"     mwm
        Restart "Start olwm"    /usr/openwin/bin/olwm
        Restart "Start KDE"     kwm
        Nop     ""
        Quit    "Yes, Really Quit"
EndPopup

Popup "Places"
      Title "Places"
EndPopup

PopUp "Games"
      Title "Games"
      Exec  "Xevil"     xevil &
      Exec  "Xkobo"     xkobo &
      Exec  "MahJong"   xmahjongg &
      Exec  "MirrorMagic" mirrormagic &
      Exec  "Asteroids" xasteroids &
EndPopUp

# This menu will fire up some very common utilities
Popup "Main"
        Title   "Main"
        Nop     ""
        Popup   "Places"        Places
        Popup   "Fvwm Functions" Fvwm-Functions
        PopUp   "Games"         Games
        Nop     ""
        Exec    "Rxvt"          exec rxvt -bg white -fg black -fn 9x15 -sb -sl 
2000 -e bash &
        Exec    "BIG Rxvt"      exec rxvt -bg white -fg black -fn 10x20 -sb -sl 
2000 -e bash &
        Exec    "Reverse Rxvt"  exec rxvt -bg black -fg white -fn 10x20 -sb -sl 
2000 -e bash
        Nop     ""
        Exec    "Netscape"      exec netscape &
        Exec    "Xv"            exec xv &
        Nop     ""
        Exec    "XEmacs"        exec xemacs &
        Exec    "Calculator"    exec xcalc &
        Exec    "Xman"          exec xman &
        Exec    "Xmag"          exec xmag &
EndPopup

# This defines the most common window operations
Popup "Window Ops"
        Title           "Window Ops"
        Function        "Move"          Move-or-Raise
        Function        "Resize"        Resize-or-Raise
        Raise           "Raise"
        Lower           "Lower"
        Iconify         "(De)Iconify" 
        Stick           "(Un)Stick"
        Function        "(Un)Maximize"  maximize_func
        Nop             ""
        Destroy         "Destroy"
        Close           "Close"
        Nop             ""
        Refresh         "Refresh Screen"
EndPopup

# A trimmed down version of "Window Ops", good for binding to decorations
Popup "Window Ops2"
        Function        "Move"          Move-or-Raise
        Function        "Resize"        Resize-or-Raise
        Raise           "Raise"
        Lower           "Lower"
        Iconify         "Iconify"
        Stick           "(Un)Stick"
        Nop             ""
        Destroy         "Destroy"
        Close           "Close"
        Nop             ""
EndPopup

#############################################################################
# One more complex function - couldn't be defined earlier because it used 
# pop-up menus
#
# This creates a motif-ish sticky menu for the title-bar window-ops
# pop-up
# Menu acts like normal twm menu if you just hold the button down,
# but if you click instead, the menu stays up, motif style
Function "window_ops_func"
        PopUp   "Click"         Window Ops2
        PopUp   "Motion"        Window Ops2
# Motif would add:
# I'll add it too, it can be mighty handy.
        Close  "DoubleClick"  
EndFunction


##############################################################################
# This defines the mouse bindings

# 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!

#     Button    Context Modifi  Function
Mouse 1         R       N       PopUp "Main"
Mouse 2         R       N       PopUp "Window Ops"
Mouse 3         R       N       PopUp "Places"
Mouse 1         R       C       PopUp "Fvwm-Functions"
Mouse 2         R       C       PopUp "Games"


# Now the title bar buttons
# Any button in the left title-bar button gives the window ops menu
# Any button in the right title-bar button Iconifies the window
# Any button in the rightmost title-bar button maximizes
# Note the use of "Mouse 0" for AnyButton.

#     Button    Context Modifi  Function
Mouse 0         1       A       Function "window_ops_func"
Mouse 0         2       A       Function "maximize_func"
Mouse 0         4       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. 
# 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
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
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

# Keyboard accelerators
Key F1          A       M       Popup "Main"
Key F1          A       M       Popup "Main"
Key F2          A       M       Popup "Window Ops"
Key F4          A       M       Iconify
Key F5          A       M       Move
Key F6          A       M       Resize
Key F7          A       M       CirculateUp
Key Tab         A       M       CirculateDown
Key Tab         A       M       CirculateUp

#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


############################################################################
############################################################################
#Definitions used by the modules

###################### GoodStuff button-bar ################################
# Colors
*GoodStuffFore Black
*GoodStuffBack #908090

# Font
*GoodStuffFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
# Geometry - really likes to pick its own size, but giving a position is OK
*GoodStuffGeometry -1-1

# Layout: specify rows or columns, not both
*GoodStuffRows 2

# Define the buttons to use.....
*GoodStuff Kill    rbomb.xpm    Destroy

# xterm or rxvts on remote machines can be done like this
# Output re-direction is csh style, not sh style
# You will want to substitute your own hosts here!

*GoodStuff Dopey   rterm.xpm   Exec "" rsh dopey "exec xterm -T dopey -display 
$HOSTDISPLAY </dev/null >&/dev/null & "&
*GoodStuff Grumpy  rterm.xpm   Exec "" rsh grumpy "exec xterm -T grumpy 
-display $HOSTDISPLAY </dev/null >&/dev/null & "&
*GoodStuff Snoopy  rterm.xpm   Exec "" rsh snoopy "exec xterm -T snoopy 
-display $HOSTDISPLAY </dev/null >&/dev/null & "&
*GoodStuff Xcalc   rcalc.xpm   Exec "" xcalc &
*GoodStuff mail    mail2.xpm   Exec "" xmh &

*GoodStuff Paging  clamp.xpm   TogglePage
*GoodStuff -  clock.xpm   Swallow "xclock" xclock -bg \#908090 -geometry 
-1500-1500 -padding 0
*GoodStuff(4x1) - whatever SwallowModule "FvwmPager" FvwmPager 0 3


######################### No Clutter ########################################
# I only wrote NoClutter as a simple test case, but maybe some big sites like
# universities really have usage problems (too many open windows)....
# Time delays are in seconds.
*FvwmNoClutter 3600 Iconify 1
*FvwmNoClutter 86400 Delete
*FvwmNoCLutter 172800 Destroy

########################## Window-Identifier ###############################
# Just choose colors and a fonts
*FvwmIdentBack MidnightBlue
*FvwmIdentFore Yellow
*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*

########################### Pager #########################################
*FvwmPagerBack grey
*FvwmPagerFore #484048
*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
*FvwmPagerHilight #cab3ca
*FvwmPagerGeometry -925-1
*FvwmPagerSmallFont 5x8
















Reply via email to