Projects - Configuring FVWM
I also have used GNOME, KDE or Xfce before, but I cannot bear the speed they start up and run because of my computer until I find FVWM. At last, I have FVWM only and always, if you did not know how to install FVWM, just follow my FvwmInstall. If you want to know how to have your real own Window Manager with FVWM, you are right to be here.
Enter here to see more.
All of my FVWM is configured by a single file which is located at $HOME/.fvwm/.fvwm2rc. Though by the use of the Read command, one could split the config file up into smaller config files. For here I just put everything into one config file. For sake of argument lets put everything in the $HOME/.fvwm directory, so for the first step create the $HOME/.fvwm directory and create an empty .fvwm2rc file. If you run fvwm, Don't be surprised if you think the default setup is quite ugly, cause many will agree with you, but that is a good place to start.
The images I used in my configuration can all be downloaded here. If you are interested in my configuration through the above screenshots, download that file, then untar it in your $HOME directory. It will create a .fvwm folder with all the icons and decors I use in my configuration. Next open the file $HOME/.fvwm/.fvwm2rc file with your favorite text editor. This file is parsed by FVWM when it starts up (or is restarted) and fvwm uses the info in here to set up the look and feel of your desktop1.
I organized all my FVWM stuffs according to FVWM Beginners Guide written by Jaimos F Skriletz, I really appreciate this guide, it gives me the entry when I was confused how to get the real world of FVWM. If you are a real newbie, just follow this guide as your beginning and you will get a not bad FVWM interface after a couple of hours, then make it by yourself with your own art to get the best FVWM you want.
Besides, FVWM MANPAGES would be a very best friend during the configuration. The man page is quite long, but once you have key words, it should be easy to search for how that is used in the configuration. All of the configurations I present I will skim or skip over and expect you to read FVWM Beginners Guide and use the man page to fill any any details I miss.
At the top of my $HOME/.fvwm/.fvwm2rc file, I put the following stuff:
###########
# ____________________________
# ( _________________________)
# ) (__ _ _ _ _
# ( __)( \/ )( \/\/ )/\/\
# ) ( \ / \ // \
# (___) \/ \/\/(_/\/\_) 2.5.16
#
# My personal fvwm2rc file
#
#######################
###################
# Global Settings #
###################
##### # Set Environment Variables ########## SetEnv fvwm_home $[HOME]/.fvwm SetEnv fvwm_img $[fvwm_home]/images SetEnv fvwm_icon $[fvwm_home]/icons SetEnv fvwm_script $[fvwm_home]/scripts SetEnv fvwm_wallpaper $[fvwm_home]/wallpapers SetEnv fvwm_tmp $[fvwm_home]/tmp # Default programs SetEnv fvwm_term /usr/local/bin/urxvt SetEnv fvwm_webbrowser /usr/local/bin/firefox SetEnv fvwm_media_player /usr/bin/xmms SetEnv fvwm_video_player /usr/local/bin/mplayer SetEnv fvwm_chat /usr/local/bin/gaim SetEnv fvwm_qq /usr/local/bin/lumaqq SetEnv fvwm_ftp /usr/bin/gftp SetEnv fvwm_dict /usr/bin/stardict
The ";.png" followed by the second $[fvwm_icon] says that it will be able to use either .xpm files (the default) or .png files for the icons interchangeably.
#####
# Set the Image Path
##########
ImagePath $[fvwm_icon]:$[fvwm_icon];.png:+
I then set up 4 Virtual Desktops with 2x2 pages of each, namely Main, Work, Ruth and Game (numbered 0, 1, 2, and 3).
#####
# Virtual Desktops
##########
DesktopSize 2x2
DesktopName 0 Main
DesktopName 1 Work
DesktopName 2 Ruth
DesktopName 3 Game
EdgeScroll 100 100
EdgeResistance 150 150
EdgeThickness 1
##### # Mouse and Focus Behavior ########## ClickTime 350 #DoubleClickTime 500 MoveThreshold 3 Style * SloppyFocus, MouseFocusClickRaises # # set up 'usable' screen area: # EwmhBaseStruts left right top bottom EwmhBaseStruts 50 80 0 48 # Ignore the 'Num Lock' IgnoreModifiers L25
##### # Global Styles and Options ########## Style * TileCascadePlacement, GrabFocusOff Style * NoPPosition, ResizeOpaque OpaqueMoveSize -1 Emulate MWM HideGeometryWindow Never SnapAttraction 5 SameType Screen SnapGrid 3 3 XorValue 55555 Style * DecorateTransient, DontRaiseTransient Style * DontLowerTransient, StackTransientParent Style * GrabFocusTransientOff Style * WindowShadeSteps 20, WindowShadeScrolls SetAnimation 10 -.01 0 .01 .03 .08 .18 .3 .45 .6 .75 .85 .90 .94 .97 .99 1.0 Style * MwmDecor, SlipperyIcon Style * IconBox screen w 15 15 -165 -15, IconGrid 3 3, IconFill right top Style * Font "-*-bitstream vera sans-medium-r-normal-*-14-*-*-*-*-*-iso8859-*,-*-stkaiti-medium-r-normal-*-14-*-*-*-*-*-*-*" Style * IconFont "-*-bitstream vera sans-medium-r-normal-*-12-*-*-*-*-*-iso8859-*,-*-stkaiti-medium-r-normal-*-12-*-*-*-*-*-*-*"
##### # Program Styles ########## Style "*" Icon 48x48/x.png, MiniIcon mini/x.png Style "XTerm" Icon 48x48/xterm.xpm, NoActiveIconOverride, MiniIcon mini/xterm.xpm Style "urxvt" Icon 48x48/urxvt.xpm, NoActiveIconOverride, MiniIcon mini/urxvt.xpm Style "gvim" Icon 48x48/gvim.png, IconOverride, MiniIcon mini/gvim.png, EWMHMiniIconOverride Style "firefox" Icon 48x48/firefox.png, MiniIcon mini/firefox.png, EWMHMiniIconOverride Style "opera" Icon 48x48/opera.png, MiniIcon mini/opera.png, EWMHMiniIconOverride Style "gaim" Icon 48x48/gaim.png, MiniIcon mini/gaim.png Style "MPlayer" Icon 48x48/mplayer.png, MiniIcon mini/mplayer.png Style "gFTP" Icon 48x48/gftp.png, MiniIcon mini/gftp.png Style "emacs" Icon 48x48/emacs.png, MiniIcon mini/emacs.png Style "lumaqq" Icon 48x48/lumaqq.png, MiniIcon mini/lumaqq.png Style "gv" Icon 48x48/gv.png, MiniIcon mini/gv.png Style "xv" Icon 48x48/xv.xpm, MiniIcon mini/xv.xpm Style "matlab" Icon 48x48/matlab7.png, MiniIcon mini/matlab7.png Style "adobe" Icon 48x48/adobereader.png, MiniIcon mini/adobereader.png Style "Xpdf" Icon 48x48/xpdf.png, MiniIcon mini/xpdf.png Style "fcitx" Layer 7, NoTitle, HandleWidth 1, Sticky, WindowListSkip Style "xmms" WindowListSkip, CirculateSkip
############# # Colorsets # ############# ##### # # Colorset Number fg #rgb bg #rgb hi #rgb sh #rgb # fg - foreground # bg - background # hi - hilight # sh - shade # rgb - /etc/X11/rgb.txt # ##########
##### # Menu Colorsets ########## Colorset 1 RootTransparent, fg Black, bg average, sh Black, \ hi #202070, Tint White 60, bgTint White 60 Colorset 2 fg Purple, bg #e6e7d7, sh Black, hi #202070
#####
# Module Colorsets
##########
Colorset 3 fg rgb:00/00/00, hi rgb:00/00/00, sh rgb:00/00/00, bg rgb:e9/e9/d9
Colorset 4 fg rgb:00/00/00, hi rgb:dd/00/00, sh rgb:dd/00/00, bg rgb:fb/fc/ec
##### # Transparent Colorsets ########## Colorset 5 RootTransparent, fg black, bg average, \ Tint cyan 15, bgTint cyan 15 # tint is optional Colorset 6 RootTransparent, fg black, bg average, \ Tint red 15, bgTint red 15 # tint is optional Colorset 7 RootTransparent, fg rgb:ff/ff/c4, bg average, \ Tint black 20, bgTint black 20
#####
#
# DestroyFunc FuncName
# AddToFunc FuncName
# + I (Action to happen immediately)
# + C (Action to happen on a mouse 'click)
# + D (Action to happen on a mouse 'double click')
# + H (Action to happen on a mouse 'hold')
# + M (Action to happen on a mouse 'motion')
# Usage:
# FuncName $0 $1 $2 $3 $4
#
##########
##### # Basic Functions ########## DestroyFunc FvwmDeleteOrDestroy AddToFunc FvwmDeleteOrDestroy + H Nop + M Nop + C Delete + D Destroy # DestroyFunc FvwmIconifyOrShade AddToFunc FvwmIconifyOrShade + C Iconify + D WindowShade # DestroyFunc FvwmMaximize AddToFunc FvwmMaximize + H Nop + M Nop + C Maximize $0 $1 # DestroyFunc FvwmMoveOrIconify AddToFunc FvwmMoveOrIconify + M Move + D Iconify # DestroyFunc FvwmWindowShade AddToFunc FvwmWindowShade + D WindowShade $0
##### # Program Launching Functions ########## DestroyFunc FvwmRox AddToFunc FvwmRox + I Exec exec rox # DestroyFunc FvwmXTerm AddToFunc FvwmXTerm + I Exec exec xterm # DestroyFunc FvwmUrxvt AddToFunc FvwmUrxvt + I Exec exec urxvt -geometry 80x10 # DestroyFunc FvwmGVim AddToFunc FvwmGVim + I Exec exec gvim # DestroyFunc FvwmEmacs AddToFunc FvwmEmacs + I Exec exec emacs # DestroyFunc FvwmMatlab AddToFunc FvwmMatlab + I Exec exec xterm -e matlab # DestroyFunc FvwmXV AddToFunc FvwmXV + I Exec exec xv # DestroyFunc FvwmGimp AddToFunc FvwmGimp + I Exec exec gimp # DestroyFunc FvwmStardict AddToFunc FvwmStardict + I Exec exec stardict # DestroyFunc FvwmOffice AddToFunc FvwmOffice + I Exec exec soffice # DestroyFunc FvwmFirefox AddToFunc FvwmFirefox + I Exec exec firefox # DestroyFunc FvwmOpera AddToFunc FvwmOpera + I Exec exec opera # DestroyFunc FvwmQterm AddToFunc FvwmQterm + I Exec exec qterm # DestroyFunc FvwmGaim AddToFunc FvwmGaim + I Exec exec gaim # DestroyFunc FvwmLumaQQ AddToFunc FvwmLumaQQ + I Exec exec lumaqq # DestroyFunc FvwmSkype AddToFunc FvwmSkype + I Exec exec skype # DestroyFunc FvwmXmms AddToFunc FvwmXmms + I Exec exec xmms # DestroyFunc FvwmGMPlayer AddToFunc FvwmGMPlayer + I Exec exec gmplayer -vo x11 # DestroyFunc FvwmGftp AddToFunc FvwmGftp + I Exec exec gftp # DestroyFunc FvwmGV AddToFunc FvwmGV + I Exec exec gv # DestroyFunc FvwmXpdf AddToFunc FvwmXpdf + I Exec exec xpdf # DestroyFunc FvwmAdobeReader AddToFunc FvwmAdobeReader + I Exec exec acroread # DestroyFunc FvwmTorsmo AddToFunc FvwmTorsmo + I Exec exec torsmo # DestroyFunc FvwmLlk AddToFunc FvwmLlk + I Exec exec llk_linux # DestroyFunc FvwmMonsterz AddToFunc FvwmMonsterz + I Exec exec monsterz # DestroyFunc FvwmViewManPage AddToFunc FvwmViewManPage + I Exec exec xterm -fg White -bg DarkBlue -g 80x40 -fn 7x14 -fb 7x14bold \ -n "Manual Page - $0" -T "Manual Page - $0" -e man "$0"
##### # Screenshot Functions (uses ImageMagick) ########## DestroyFunc FvwmWindowScreenshot AddToFunc FvwmWindowScreenshot + I ThisWindow (!Shaded !Iconic Iconifiable) \ Exec import -window $[w.id] -quality 100 -silent \ "$[fvwm_home]/screenshot/screenshot-`date +%F[%R]`.$[w.id].png" # DestroyFunc FvwmDesktopScreenshot AddToFunc FvwmDesktopScreenshot + I Exec sleep $0; import -window root -quality 100 -silent \ "$[fvwm_home]/screenshot/screenshot-`date +%F[%R]`.png" # ##### # Xroach Invasion ########## DestroyFunc XRoachInvasion AddToFunc XRoachInvasion + I Exec exec xroach -roaches 5 -rc Cyan -speed 17 + I Exec exec xroach -roaches 3 -rc Red -speed 15 + I Exec exec xroach -roaches 7 -rc Green -speed 10 + I Exec exec xroach -roaches 3 -rc Blue -speed 20 + I Exec exec xroach -roaches 1 -rc Black -speed 30 + I Exec exec xroach -roaches 1 -rc White -speed 40 # DestroyFunc XRoachExterminate AddToFunc XRoachExterminate + I Exec killall xroach
##### # Advanced Functions ########## DestroyFunc BuildWallPaperMenu AddToFunc BuildWallPaperMenu + I Exec rm $[fvwm_icon]/wallpaper/*.png + I PipeRead 'for i in $[fvwm_img]/wallpaper/*.png; \ do convert -scale 64 $i \ "$[fvwm_icon]/wallpaper/`basename $i`"; done && echo Nop' + I Exec rm $[fvwm_home]/WallpaperMenu + I Exec echo "DestroyMenu FvwmWallpaperMenu" > \ $[fvwm_home]/WallpaperMenu + I Exec echo "AddToMenu FvwmWallpaperMenu \"Wallpapers\" Title" >> \ $[fvwm_home]/WallpaperMenu + I PipeRead 'for i in $[fvwm_img]/wallpaper/*.png; \ do echo "AddToMenu FvwmWallpaperMenu \ \"`basename $i`%wallpaper/`basename $i`%\" \ FvwmChangeBackground \"`basename $i`\"" \ >> $[fvwm_home]/WallpaperMenu; done && echo Nop' + I Read $[fvwm_home]/WallpaperMenu # DestroyFunc FvwmChangeBackground AddToFunc FvwmChangeBackground + I Exec fvwm-root --retain-pixmap $[fvwm_img]/wallpaper/$0 + I Exec echo "fvwm-root --retain-pixmap \ $[fvwm_img]/wallpaper/$0" > $[fvwm_home]/cfg/background.cfg # DestroyFunc InitWallpaper AddToFunc InitWallpaper + I Exec source $[fvwm_home]/cfg/background.cfg # DestroyFunc Thumbnail AddToFunc Thumbnail + I Raise + I SetEnv Icon-$[w.id] $[w.iconfile] + I ThisWindow (!Shaded Iconifiable !Iconic) PipeRead \ "xwd -silent -id $[w.id] | convert -scale $$(($[w.width]/5)) -frame 1x1 \ -mattecolor black -quality 0 xwd:- png:$[fvwm_tmp]/icon.tmp.$[w.id].png \ && echo Nop" + I TestRc (Match) Test (f $[fvwm_icon]/$[w.iconfile], f $[fvwm_tmp]/icon.tmp.$[w.id].png) \ PipeRead "composite -geometry +2+4 \ $[fvwm_icon]/$[w.iconfile] $[fvwm_tmp]/icon.tmp.$[w.id].png \ $[fvwm_tmp]/icon.tmp.$[w.id].png && \ echo WindowStyle IconOverride, Icon $[fvwm_tmp]/icon.tmp.$[w.id].png || echo Nop" + I TestRc (NoMatch) WindowStyle IconOverride, Icon $[fvwm_tmp]/icon.tmp.$[w.id].png + I Iconify # DestroyFunc DeThumbnail AddToFunc DeThumbnail + I PipeRead "echo WindowStyle Icon \\$\\[Icon-$[w.id]\\]" + I UnsetEnv Icon-$[w.id] + I Exec rm -f $[fvwm_tmp]/icon.tmp.$[w.id].png # ##### # FvwmEvent ########## DestroyModuleConfig FvwmEvent: * *FvwmEvent: deiconify DeThumbnail # DestroyFunc ReThumbnail AddToFunc ReThumbnail + I Iconify + I Thumbnail # ##### # FvwmExpose ########### DestroyFunc FvwmExpose AddToFunc FvwmExpose + I AddToMenu FvwmExposeMenu "e x p o s e" Title + I + DynamicPopDownAction DestroyMenu FvwmExposeMenu + I All (!Iconic !Shaded AcceptsFocus)\ PipeRead "echo Raise; \ xwd -silent -id $[w.id] | convert -scale $$(($[w.width]/10)) -quality 0 xwd:- \ png:$[fvwm_home]/tmp/icon.exp.$[w.id].png \ && echo AddToMenu FvwmExposeMenu \ %$[fvwm_home]/tmp/icon.exp.$[w.id].png%\\\'\"$[w.name]\"\\\' WindowID $[w.id] WarpToWindow 50 50 \ && echo AddToMenu FvwmExposeMenu \\\"\\\" Nop \ || Nop" + I Popup FvwmExposeMenu + I Exec exec rm -f $[fvwm_home]/tmp/icon.exp.*
##### # Startup Functions ########## DestroyFunc StartFunction AddToFunc StartFunction + I Module FvwmTaskBar + I Module FvwmPager 0 3 + I Module FvwmButtons MyButtons #+ I Module FvwmEvent # DestroyFunc InitFunction AddToFunc InitFunction + I Exec exec xscreensaver -no-splash #+ I Exec exec fvwm-root -r $[fvwm_wallpager]/background.png #+ I Exec exec habak -hi $[fvwm_wallpaper]/background.png -hI int -mp 100,40 $[fvwm_wallpaper]/lover.jpg -mf $[HOME]/.fonts/VeraBd.ttf -ht "LOVE" -mp 100,-80 -hi -ht "LOVE" -mp 150,150 -mf $[HOME]/.fonts/VENETO__.TTF -mc 240,240,100,255 -ht "Happy New Year, Ruth!" + I Exec exec fvwm-root -r $[fvwm_wallpaper]/background.png + I FvwmUrxvt + I FvwmTorsmo # DestroyFunc RestartFunction AddToFunc RestartFunction #+ I All(Iconic) ReThumbnail + I Nop
############
# Bindings #
############
#
#####
#
# Key Keyname Context Modifiers Function
# Mouse Button Context Modifiers Function
# Button #
# 1 --- click the left mouse button
# 2 --- click the middle mouse button
# 3 --- click the right mouse button
# 4 --- scroll up
# 5 --- scroll down
# Context #
# R - the root window I - Icon F - frame corners S - frame sides,
# T - title bar W - application window 0-9 - buttons
# ___________________________________
# | |
# | R R |
# | |
# | F___________________ F |
# | |13579 T T T 08642| |
# | |-------------------| |
# | S| |S |
# | | W W | |
# | S| |S |
# | | | |
# | R | | R |
# | | | |
# | S| |S |
# | | W W | |
# | S| |S |
# | | | |
# | F|___________________|F |
# | R S S R |
# | R |
# |___________________________________|
# Modifiers #
# C - Ctrl M - Meta(Alt) S - Shift A - Any N - None
#
##########
##### # Basic Bindings ########## # Ctrl+F1 Key F1 A C Menu MenuFvwmRoot # Alt+Tab Key Tab A M WindowList Root c c NoDeskSort, SelectOnRelease Meta_L # Launches a $[fvwm_term] when the left command key (windows key) his hit Key Super_L A A $[fvwm_term] # Alt+F3 Key F3 A A Module FvwmConsole -terminal xterm -geometry 45x5-0+0 -bg gold -fg midnightblue -fn "-adobe-courier-medium-r-*-*-14-*-*-*-*-*-*-*" # Ctrl+F5 Key F5 A C Exec exec import -window root -quality 100 -silent "$[HOME]/screenshot-`date +%F[%R]`.png" # Ctrl+F11 Key F11 A C Exec xscreensaver-command -lock # Alt+F1|F2 Key F1 A M GotoDesk -1 Key F2 A M GotoDesk 1 # press arrow + Shift anywhere, and scroll by 1 page Key Left A S Scroll -100 0 Key Right A S Scroll +100 +0 Key Up A S Scroll +0 -100 Key Down A S Scroll +0 +100 # Mouse 2 R M FvwmExpose Mouse 1 R A Menu FvwmRootMenu Mouse 2 R A Menu FvwmProgramsMenu Mouse 2 R C Menu FvwmUtilitiesMenu Mouse 2 R M Menu FvwmGamesMenu Mouse 3 R A Menu FvwmWindowOpsMenu Mouse 1 1 A FvwmDeleteOrDestroy Mouse 1 3 A FvwmIconifyOrShade Mouse 1 5 A FvwmMaximize 100 100 Mouse 2 5 A FvwmMaximize 0 100 Mouse 3 5 A FvwmMaximize 100 0 Mouse 1 W M FvwmMoveOrIconify Mouse 1 I A FvwmMoveOrIconify Mouse 4 T A FvwmWindowShade True Mouse 5 T A FvwmWindowShade False
#########
# Decor #
#########
#####
# Window Decor
##########
DestroyDecor MyDecor
AddToDecor MyDecor
+ TitleStyle LeftJustified Height 18
+ ButtonStyle 1 ActiveUp Vector 4 30x30@3 60x60@3 60x30@4 30x60@3 -- Flat
+ ButtonStyle 1 ActiveDown Vector 4 30x30@3 60x60@3 60x30@4 30x60@3 -- Flat
+ ButtonStyle 1 Inactive Vector 4 30x30@3 60x60@3 60x30@4 30x60@3 -- Flat
+ ButtonStyle 3 ActiveUp Vector 5 30x60@3 60x60@3 60x50@3 30x50@3 30x60@3 -- Flat
+ ButtonStyle 3 ActiveDown Vector 5 30x60@3 60x60@3 60x50@3 30x50@3 30x60@3 -- Flat
+ ButtonStyle 3 Inactive Vector 5 30x60@3 60x60@3 60x50@3 30x50@3 30x60@3 -- Flat
+ ButtonStyle 5 ActiveUp Vector 7 30x30@3 30x60@3 60x60@3 60x30@3 30x30@3 30x35@3 60x35@3 -- Flat
+ ButtonStyle 5 ActiveDown Vector 7 30x30@3 30x60@3 60x60@3 60x30@3 30x30@3 30x35@3 60x35@3 -- Flat
+ ButtonStyle 5 Inactive Vector 7 30x30@3 30x60@3 60x60@3 60x30@3 30x30@3 30x35@3 60x35@3 -- Flat
+ TitleStyle -- Flat
+ BorderStyle Simple -- NoInset Flat
+ ButtonStyle All -- UseTitleStyle
##### # Ukkosta Decor ########## DestroyDecor UkkostaDecor AddToDecor UkkostaDecor + TitleStyle LeftJustified Height 24 + ButtonStyle 1 \ ActiveUp (Pixmap $[fvwm_img]/button/close-activeup.png -- Flat) \ ActiveDown (Pixmap $[fvwm_img]/button/close-activedown.png -- Flat) \ Inactive (Pixmap $[fvwm_img]/button/inactive.png -- Flat) + ButtonStyle 3 \ ActiveUp (Pixmap $[fvwm_img]/button/iconify-activeup.png -- Flat) \ ActiveDown (Pixmap $[fvwm_img]/button/iconify-activedown.png -- Flat) \ Inactive (Pixmap $[fvwm_img]/button/inactive.png -- Flat) + ButtonStyle 5 \ ActiveUp (Pixmap $[fvwm_img]/button/maximize-activeup.png -- Flat) \ ActiveDown (Pixmap $[fvwm_img]/button/maximize-activedown.png -- Flat) \ Inactive (Pixmap $[fvwm_img]/button/inactive.png -- Flat) + ButtonStyle 1 - Clear + ButtonStyle 3 - Clear MwmDecorMin + ButtonStyle 5 - Clear MwmDecorMax + TitleStyle AllActive MultiPixmap \ Main AdjustedPixmap $[fvwm_img]/decor/title-main-active.xpm, \ LeftEnd AdjustedPixmap $[fvwm_img]/decor/title-leftend-active.xpm, \ RightEnd AdjustedPixmap $[fvwm_img]/decor/title-rightend-active.xpm, \ UnderText AdjustedPixmap $[fvwm_img]/decor/title-undertext-active.xpm, \ LeftOfText AdjustedPixmap $[fvwm_img]/decor/title-leftoftext-active.xpm, \ RightOfext AdjustedPixmap $[fvwm_img]/decor/title-rightoftext-active.xpm + TitleStyle AllInactive MultiPixmap \ Main AdjustedPixmap $[fvwm_img]/decor/title-main-inactive.xpm, \ LeftEnd AdjustedPixmap $[fvwm_img]/decor/title-leftend-inactive.xpm, \ RightEnd AdjustedPixmap $[fvwm_img]/decor/title-rightend-inactive.xpm, \ UnderText AdjustedPixmap $[fvwm_img]/decor/title-undertext-inactive.xpm, \ LeftOfText AdjustedPixmap $[fvwm_img]/decor/title-leftoftext-inactive.xpm, \ RightOfext AdjustedPixmap $[fvwm_img]/decor/title-rightoftext-inactive.xpm # Transparent + TitleStyle AllInactive Colorset 6 -- flat + TitleStyle AllActive Colorset 5 -- flat + TitleStyle -- Flat + BorderStyle Simple -- NoInset Flat # Transparent + BorderStyle Inactive Colorset 6 -- flat + BorderStyle Active Colorset 5 -- flat + ButtonStyle All -- UseTitleStyle
##### # Window Styles ########## #Style "*" UseDecor MyDecor Style "*" UseDecor UkkostaDecor Style "*" BorderWidth 1, HandleWidth 1 Style "*" MWMBorder, FirmBorder # Transparent Style * Colorset 5, HilightColorset 6 # to use fg and bg
##### # MenuStyles ########## MenuStyle * PopupDelayed, PopupDelay 300, PopdownImmediately MenuStyle * PopupOffset -5 100, TitleWarpOff MenuStyle * TitleUnderlines2, SeparatorsLong, TrianglesSolid MenuStyle * AnimationOff, AutomaticHotkeysOff MenuStyle * BorderWidth 2 MenuStyle * PopupAsSubmenu, HoldSubmenus, SubmenusRight MenuStyle * ItemFormat "%|%5.5i%1.3l%2.3>%|" MenuStyle * VerticalItemSpacing 1 1, VerticalTitleSpacing 2 2 MenuStyle * MenuFace TiledPixmap menu/menu.png MenuStyle * ActiveFore, Hilight3DOff MenuStyle * ActiveColorset 2 MenuStyle * Font "-*-bitstream vera sans-bold-r-normal-*-14-*-*-*-*-*-iso8859-*,-*-stkaiti-medium-r-normal-*-14-*-*-*-*-*-*-*"
##### # FvwmRootMenu ########## DestroyMenu FvwmRootMenu AddToMenu FvwmRootMenu "Root Menu" Title + "Console%menu/urxvt.xpm%" FvwmUrxvt + "Rox%menu/rox.png%" FvwmRox + "FVWM Console%menu/terminal.png%" Module FvwmConsole + "" Nop + "Programs%menu/programs.xpm%" Popup FvwmProgramsMenu + "Utilities%menu/utils.xpm%" Popup FvwmUtilitiesMenu + "Games%menu/games.xpm%" Popup FvwmGamesMenu + "" Nop + "Refresh%menu/refresh.xpm%" Refresh + "Recapture%menu/recapture.xpm%" Recapture + "" Nop + "Help%menu/help.xpm%" Popup FvwmManPagesMenu + "Restart FVWM%menu/restart.png%" Restart + "Quit FVWM%menu/quit.png%" Quit
##### # Programs Menu ########## DestroyMenu FvwmProgramsMenu AddToMenu FvwmProgramsMenu "Programs" Title + "XTerm%menu/xterm.xpm%" FvwmXTerm + "GVim%menu/vim.png%" FvwmGVim + "Emacs%menu/emacs.png%" FvwmEmacs + "Matlab%menu/matlab7.png%" FvwmMatlab + "Office%menu/office.png%" FvwmOffice + "Stardict%menu/stardict.png%" FvwmStardict + "FireFox%menu/firefox.png%" FvwmFireFox + "Opera%menu/opera.png%" FvwmOpera + "gFTP%menu/gftp.png%" FvwmGftp + "GV%menu/gv.png%" FvwmGV + "AdobeReader%menu/adobereader.png%" FvwmAdobeReader + "Xpdf%menu/xpdf.png%" FvwmXpdf + "Xv%menu/xv.xpm%" FvwmXV + "Gimp%menu/gimp.png%" FvwmGimp + "XRoach-Invasion%menu/xroach.png%" XRoachInvasion + "XRoach-Exterminate%menu/xroach.png%" XRoachExterminate
##### # Utilities Menu ########## DestroyMenu FvwmUtilitiesMenu AddToMenu FvwmUtilitiesMenu "Utilities" Title + "Top%menu/top.xpm%" Exec exec xterm -fa Courier -T Top -n Top -e top + "Calculator%menu/xcalc.xpm%" Exec exec xcalc + "Xman%menu/xman.xpm%" Exec exec xman + "Xmag%menu/xmag.xpm%" Exec exec xmag + "" Nop + "Reset X defaults%menu/resetx.png%" Exec xrdb -load $[HOME]/.Xdefaults + "screenshot%menu/display.png%" Exec import -window root -quality 100 -silent "$[HOME]/screenshot-`date +%F[%R]`.png"
##### # Games Menu ########## DestroyMenu FvwmGamesMenu AddToMenu FvwmGamesMenu "Games" Title + "Xmms%menu/xmms.png%" FvwmXmms + "GMPlayer%menu/gmplayer.png%" FvwmGMPlayer + "Gaim%menu/gaim.png%" FvwmGaim + "LumaQQ%menu/lumaqq.png%" FvwmLumaQQ + "Skype%menu/skype.png%" FvwmSkype + "LLKan%menu/llk_linux.png%" FvwmLlk + "Monsterz%menu/monsterz.png%" FvwmMonsterz
##### # FVWM Help Menu ########### DestroyMenu FvwmManPagesMenu AddToMenu FvwmManPagesMenu "FVWM Man Pages" Title + "%menu/help.png%fvwm" FvwmViewManPage fvwm + "%menu/help.png%FvwmAnimate" FvwmViewManPage FvwmAnimate + "%menu/help.png%FvwmAuto" FvwmViewManPage FvwmAuto + "%menu/help.png%FvwmBacker" FvwmViewManPage FvwmBacker + "%menu/help.png%FvwmBanner" FvwmViewManPage FvwmBanner + "%menu/help.png%FvwmButtons" FvwmViewManPage FvwmButtons + "%menu/help.png%FvwmCommand" FvwmViewManPage FvwmCommand + "%menu/help.png%FvwmConsole" FvwmViewManPage FvwmConsole + "%menu/help.png%FvwmConsoleC.pl" FvwmViewManPage FvwmConsoleC.pl + "%menu/help.png%FvwmCpp" FvwmViewManPage FvwmCpp + "%menu/help.png%FvwmDebug" FvwmViewManPage FvwmDebug + "%menu/help.png%FvwmDragWell" FvwmViewManPage FvwmDragWell + "%menu/help.png%FvwmEvent" FvwmViewManPage FvwmEvent + "%menu/help.png%FvwmForm" FvwmViewManPage FvwmForm + "%menu/help.png%FvwmGtk" FvwmViewManPage FvwmGtk + "%menu/help.png%FvwmGtkDebug" FvwmViewManPage FvwmGtkDebug + "%menu/help.png%FvwmIconBox" FvwmViewManPage FvwmIconBox + "%menu/help.png%FvwmIconMan" FvwmViewManPage FvwmIconMan + "%menu/help.png%FvwmIdent" FvwmViewManPage FvwmIdent + "%menu/help.png%FvwmM4" FvwmViewManPage FvwmM4 + "%menu/help.png%FvwmPager" FvwmViewManPage FvwmPager + "%menu/help.png%FvwmPerl" FvwmViewManPage FvwmPerl + "%menu/help.png%FvwmProxy" FvwmViewManPage FvwmProxy + "%menu/help.png%FvwmRearrange" FvwmViewManPage FvwmRearrange + "%menu/help.png%FvwmSave" FvwmViewManPage FvwmSave + "%menu/help.png%FvwmSaveDesk" FvwmViewManPage FvwmSaveDesk + "%menu/help.png%FvwmScript" FvwmViewManPage FvwmScript + "%menu/help.png%FvwmScroll" FvwmViewManPage FvwmScroll + "%menu/help.png%FvwmTaskBar" FvwmViewManPage FvwmTaskBar + "%menu/help.png%FvwmTheme" FvwmViewManPage FvwmTheme + "%menu/help.png%FvwmWharf" FvwmViewManPage FvwmWharf + "%menu/help.png%FvwmWinList" FvwmViewManPage FvwmWinList + "%menu/help.png%FvwmWindowMenu" FvwmViewManPage FvwmWindowMenu + "" Nop + "%menu/help.png%fvwm-config" FvwmViewManPage fvwm-config + "%menu/help.png%fvwm-perllib" FvwmViewManPage fvwm-perllib + "%menu/help.png%fvwm-root" FvwmViewManPage fvwm-root + "%menu/help.png%fvwm-bug" FvwmViewManPage fvwm-bug + "%menu/help.png%fvwm-convert-2.2" FvwmViewManPage fvwm-convert-2.2 + "%menu/help.png%fvwm-convert-2.4" FvwmViewManPage fvwm-convert-2.4 + "" Nop + "%menu/help.png%fvwm-menu-desktop" FvwmViewManPage fvwm-menu-desktop + "%menu/help.png%fvwm-menu-directory" FvwmViewManPage fvwm-menu-directory + "%menu/help.png%fvwm-menu-headlines" FvwmViewManPage fvwm-menu-headlines + "%menu/help.png%fvwm-menu-xlock" FvwmViewManPage fvwm-menu-xlock
##### # FVWM Window Operation Menu ########### DestroyMenu FvwmWindowOpsMenu AddToMenu FvwmWindowOpsMenu "Window Operations" Title + "Move%menu/window-move.xpm%" Move + "Resize%menu/window-resize.xpm%" Resize + "(De)Iconify%menu/window-iconify.xpm%" Iconify + "(Un)Maximize%menu/window-maximize.xpm%" Maximize + "(Un)Shade%menu/window-shade.xpm%" WindowShade + "(Un)Stick%menu/window-stick.xpm%" Stick + "" Nop + "Close%menu/window-close.xpm%" Close + "Delete%menu/window-delete.xpm%" Delete + "Destroy%menu/window-destroy.xpm%" Destroy + "" Nop + "StaysOnTop%menu/window-raise.xpm%" Pick (CirculateHit) Layer 0 6 + "Layer +1%menu/window-raise.xpm%" Pick (CirculateHit) Layer +1 + "StaysPut%menu/window.xpm%" Pick (CirculateHit) Layer 0 4 + "Layer -1%menu/window-lower.xpm%" Pick (CirculateHit) Layer -1 + "StaysOnBottom%menu/window-lower.xpm%" Pick (CirculateHit) Layer 0 2 + "" Nop + "%menu/window.xpm%Window Screenshot" Pick (CirculateHit) FvwmWindowScreenshot + "%menu/display.xpm%Screenshot" FvwmDesktopScreenshot 5 + "" Nop + "Identify%menu/window-identify.xpm%" Module FvwmIdent
##### # FvwmIdent ########### DestroyModuleConfig FvwmIdent: * # Transparent *FvwmIdent: Colorset 7 *FvwmIdent: Font "-*-bitstream vera sans-medium-r-normal-*-14-*-*-*-*-*-iso8859-*,-*-stkaiti-medium-r-normal-*-14-*-*-*-*-*-*-*"
##### # FvwmTaskBar ########### Style "FvwmTaskBar" NoTitle, !Handles, !Borders, Sticky, WindowListSkip, \ CirculateSkip, StaysOnBottom, FixedPosition, FixedSize, !Iconifiable # DestroyModuleConfig FvwmTaskBar: * *FvwmTaskBar: Geometry +0-0 *FvwmTaskBar: Rows 2 *FvwmTaskBar: Font "-*-bitstream vera sans-medium-r-normal-*-14-*-*-*-*-*-iso8859-*,-*-stkaiti-medium-r-normal-*-14-*-*-*-*-*-*-*" *FvwmTaskBar: SelFont "-*-bitstream vera sans-medium-r-normal-*-14-*-*-*-*-*-iso8859-*,-*-stkaiti-medium-r-normal-*-14-*-*-*-*-*-*-*" *FvwmTaskBar: StatusFont "-*-bitstream vera sans-medium-r-normal-*-14-*-*-*-*-*-iso8859-*,-*-stkaiti-medium-r-normal-*-14-*-*-*-*-*-*-*" # Transparent *FvwmTaskBar: Colorset 7 *FvwmTaskBar: IconColorset 4 *FvwmTaskBar: FocusColorset 3 *FvwmTaskBar: TipsColorset 3 *FvwmTaskBar: UseSkipList *FvwmTaskBar: UseIconNames *FvwmTaskBar: ShowTips *FvwmTaskBar: StartName LOVE *FvwmTaskBar: StartMenu FvwmRootMenu *FvwmTaskBar: ClockFormat %R %m/%d *FvwmTaskBar: Button Title Urxvt, Icon mini/urxvt.xpm, Action (Mouse 1) FvwmUrxvt *FvwmTaskBar: Action Click3 Menu FvwmWindowOpsMenu *FvwmTaskBar: StartIcon mini/start.png
##### # FvwmPager ########### Style "FvwmPager" NoTitle, !Handles, !Borders, Sticky, WindowListSkip, \ CirculateSkip, StaysOnBottom, FixedPosition, FixedSize, !Iconifiable # DestroyModuleConfig FvwmPager: * *FvwmPager: Geometry 80x352-4+0 # Transparent *FvwmPager: Colorset * 7 *FvwmPager: HilightColorset * 6 *FvwmPager: WindowColorsets 5 6 *FvwmPager: BalloonColorset * 5 *FvwmPager: Font "-*-bitstream vera sans-medium-r-normal-*-14-*-*-*-*-*-iso8859-*,-*-stkaiti-medium-r-normal-*-14-*-*-*-*-*-*-*" *FvwmPager: Balloons All *FvwmPager: BalloonFont "-*-bitstream vera sans-medium-r-normal-*-14-*-*-*-*-*-iso8859-*,-*-stkaiti-medium-r-normal-*-14-*-*-*-*-*-*-*" *FvwmPager: BallonYOffset +2 *FvwmPager: Window3dBorders *FvwmPager: MiniIcons *FvwmPager: UseSkipList *FvwmPager: Rows 4 *FvwmPager: Columns 1
##### # MyButtons ########### Style "MyButtons" NoTitle, !Handles, !Borders, Sticky, WindowListSkip, \ CirculateSkip, StaysOnBottom, FixedPosition, FixedSize, !Iconifiable # DestroyModuleConfig MyButtons: * *MyButtons: Geometry 50x690+0+0 *MyButtons: BoxSize smart # Transparent *MyButtons: Colorset 7 *MyButtons: ActiveColorset 4 *MyButtons: PressColorset 2 *MyButtons: Rows 64 *MyButtons: Columns 1 *MyButtons: Frame 0 *MyButtons: Font "-*-bitstream vera sans-medium-r-normal-*-14-*-*-*-*-*-iso8859-*,-*-stkaiti-medium-r-normal-*-14-*-*-*-*-*-*-*" *MyButtons: (1x2, Frame 0, Title(Center) "Harry") #*MyButtons: (1x5, Frame 0, Icon 48x48/terminal.png, \ # Action (Mouse 1) "FvwmUrxvt", \ # Action (Mouse 3) "FvwmXTerm") #*MyButtons: (1x5, Frame 0, Icon 48x48/rox.png, \ # Action (Mouse 1) "FvwmRox") *MyButtons: (1x5, Frame 0, Icon 48x48/office.png, \ Action (Mouse 1) "FvwmOffice") *MyButtons: (1x5, Frame 0, Icon 48x48/xpdf.png, \ Action (Mouse 1) "FvwmXpdf") *MyButtons: (1x5, Frame 0, Icon 48x48/adobereader.png, \ Action (Mouse 1) "FvwmAdobeReader") *MyButtons: (1x5, Frame 0, Icon 48x48/emacs.png, \ Action (Mouse 1) "FvwmEmacs") *MyButtons: (1x5, Frame 0, Icon 48x48/matlab7.png, \ Action (Mouse 1) "FvwmMatlab") *MyButtons: (1x5, Frame 0, Icon 48x48/xmms.png, \ Action (Mouse 1) "FvwmXmms") #*MyButtons: (1x5, Frame 0, Icon 48x48/gmplayer.png, \ # Action (Mouse 1) "FvwmGMPlayer") #*MyButtons: (1x5, Frame 0, Icon 48x48/vim.png, \ # Action (Mouse 1) "FvwmGvim") *MyButtons: (1x5, Frame 0, Icon 48x48/xv.xpm, \ Action (Mouse 1) "FvwmXV") *MyButtons: (1x5, Frame 0, Icon 48x48/gimp.png, \ Action (Mouse 1) "FvwmGimp") *MyButtons: (1x5, Frame 0, Icon 48x48/stardict.png, \ Action (Mouse 1) "FvwmStardict") *MyButtons: (1x5, Frame 0, Icon 48x48/firefox.png, \ Action (Mouse 1) "FvwmFireFox") #*MyButtons: (1x5, Frame 0, Icon 48x48/opera.png, \ # Action (Mouse 1) "FvwmOpera") *MyButtons: (1x5, Frame 0, Icon 48x48/gftp.png, \ Action (Mouse 1) "FvwmGftp") #*MyButtons: (1x5, Frame 0, Icon 48x48/chat.png, \ # Action (Mouse 1) "FvwmGaim") *MyButtons: (1x5, Frame 0, Icon 48x48/lumaqq.png, \ Action (Mouse 1) "FvwmLumaQQ") #*MyButtons: (1x5, Frame 0, Icon 48x48/skype.png, \ # Action (Mouse 1) "FvwmSkype") *MyButtons: (1x1, Frame 0)
Style FvwmPager ParentalRelativity
Style FvwmTaskBar ParentalRelativity
Style FvwmIdent ParentalRelativity
#Style FvwmButtons ParentalRelativity
Style MyButtons ParentalRelativity
Style FvwmIconMan ParentalRelativity
Put all together and you will get the last fvwm2rc. And make this file into $HOME/.fvwm/.fvwm2rc together with the first icons and images, you will get a good start here.
All the stuffs I used for my FVWM configuration are collected here (.tar.bz2). Untar it using the command #tar xvfj fvwm-flyzhy.tar.bz2 in your $HOME, restart FVWM to see what happens.
1. To comment out a line a "#" is used.