Hello Misc,
I have read some post about getting along with the default WM, i mean
complaining about configuring it, saying that the man page its dificult and
stuff, and then saddly going to another WM.
I my OpenBSD era (from 60 to date) i was using cwm but wondering why they
say that Theo uses fvwm, so i wondered that maybe it is worth it to try.
So i attach my .fvwmrc and i hope that will help someone to start tweaking
it and get along with it and be happy with it.
I think that the config file is basic enough to start (for me it helped to
migrate from cwm) and has a good bindings that one might find useful as:
- Control + arrow navigation between pages
- Control + Meta + number to move window to page (i couldnt make it
dinamically so it could work if its more than 9 pages, sorry about that)
- Shift + Left/right to circulate focus between open windows (Like alt tab)
- Control + Meta + arrows to snap window to left, right, maximize and
iconify (that is my favorite)
- Meta + d dmenu (pkg_add dmenu)
- Meta + i screenshot ( pkg_add ImageMagick)
- Meta + x close window
- Control + Meta + p power off
- Meta + t make it transparent (pkg_add transset-df)
- Meta + m move window
- It uses feh to set the wallpaper
- It uses conky for basic info
- It uses dmenu to fast start applications.
I am eager to share it here since it works for the fvwm in base 64, i
noticed that there are plenty config files online but they are meant for a
newer fvwm that is not in OpenBSD and i couldnt make it work, even i was
tempted to post a mail asking for Theo´s config file but i had the
impression that the answer would be as fun and educational as always.
Again, i hope that it helps.
Manuel Solis
# This is a customized file based on the bare bones sample
.fvwm2rc/system.fvwm2rc
# file for fvwm-2. It is the combination of hints for the other .fvwm2rc
files
# samples, as well as pointers from the various links on the official fvwm
web
# page (see the FAQ). For questions ask man page.
######################## Key Bindings
################################
# some simple default mouse bindings:
# for the root window:
Mouse 1 R A Nop
Mouse 3 R A Menu RootMenu Nop
# for the title bar buttons:
Mouse 0 1 A Menu Window-Ops2 Close
Mouse 0 2 A Maximize-Func
Mouse 0 4 A Iconify
# for other parts of the window/borders/icons:
Mouse 1 F A Resize-or-Raise
Mouse 1 TS A Move-or-Raise
Mouse 1 I A Move-or-Iconify
Mouse 2 I A Iconify
Mouse 2 FST A Menu Window-Ops2 Nop
Mouse 3 TSIF A RaiseLower
# some simple default key bindings:
# 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 anywhere, and Snap Right/Left, Maximize or iconify
Key Left A CM LeftSnap
Key Right A CM RightSnap
Key Up A CM Maximize 100 97
Key Down A CM Iconify
# Shift + arrow to circulate focos between programs
# Similar to Alt + Tab
Key Left A S Prev [*] FocusAndWarp
Key Right A S Next [*] FocusAndWarp
Key Super_R A A WindowList
# Alt - Tab function to circulate focus between programs
#Key Tab A M Next [*] FocusAndWarp
# Key bindings
# Press Meta + Keys bindings
Key Return A M Exec /usr/X11R6/bin/xterm
Key d A M Exec /usr/local/bin/dmenu_run
Key i A M Exec /usr/local/bin/import -window root
$HOME/screenshot.jpg
Key k A M Exec setxkbmap -layout us
Key l A M Exec setxkbmap -layout es
Key m A M Move #Exec /usr/X11R6/bin/xterm -e man fvwm
Key t A M Exec /usr/local/bin/transset-df -p -t 0.6
#transparent window
Key x W M Delete
Key x I M Destroy
Key r A CM Restart /usr/X11R6/bin/fvwm
# Press Meta + Ctrl + Keys bindings
Key p A CM Exec /usr/bin/doas halt -p
# Keyboard accelerators
Key F1 A M Menu RootMenu
Key F2 A M Menu Window-Ops
Key F3 A M WindowList FvwmWinList
Key F4 A M Iconify
Key F5 A M Move
Key F6 A M Resize
#Key F7 A M CirculateUp
#Key F8 A M CirculateDown
Key 1 W CM MuevePagina 0 0
Key 2 W CM MuevePagina 1 0
Key 3 W CM MuevePagina 2 0
Key 4 W CM MuevePagina 0 1
Key 5 W CM MuevePagina 1 1
Key 6 W CM MuevePagina 2 1
Key 7 W CM MuevePagina 0 2
Key 8 W CM MuevePagina 1 2
Key 9 W CM MuevePagina 2 2
######################## Global Settings
####################################
# be sure to customize these paths for your installation:
ModulePath /usr/X11R6/lib/X11/fvwm
PixmapPath
/usr/X11R6/include/X11/pixmaps:+:/usr/local/share/pixmaps/qutebrowser
IconPath /usr/X11R6/include/X11/bitmaps
EdgeResistance 250 10
EdgeScroll 100 100
ClickTime 750
# make sure these fonts exist on your system:
WindowFont -adobe-times-bold-r-*-*-14-*-*-*-*-*-*-*
IconFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
HilightColor #bebebe blue
MenuStyle #4d4d4d #efefef #e7e7e7 -adobe-times-bold-r-*-*-12-*-*-*-*-*-*-*
fvwm
#MenuStyle #dedede darkred #e7e7e7
-adobe-times-bold-r-*-*-12-*-*-*-*-*-*-* fvwm
DeskTopSize 3x3
ColormapFocus FollowsMouse
######################## Styles
############################################
Style "*" BorderWidth 7, HandleWidth 7
Style "*" Icon unknown1.xpm, Color #bebebe/darkred
Style "*" MWMFunctions, MWMDecor, HintOverride
Style "*" DecorateTransient, NoPPosition
#Style "*" IconBox 0 -10 -280 -1, IconFill b l
Style "*" IconBox, IconFill b l
Style "*" FocusFollowsMouse
Style "*" RandomPlacement, SmartPlacement
# Styles for various Fvwm modules:
Style "Fvwm*" NoTitle, Sticky, WindowListSkip
Style "Fvwm*" BorderWidth 2, CirculateSkipIcon, CirculateSkip
Style "FvwmPager" StaysOnTop
Style "FvwmBanner" StaysOnTop
Style "FvwmButtons" Icon toolbox.xpm, ClickToFocus
# Styles for custom programs
Style "xconsole" CirculateSkipIcon, CirculateSkip
Style "Conky" NoTitle, NoHandles, WindowListSkip, StaysOnTop,
Sticky, CirculateSkipIcon, CirculateSkip
Style "*Xfe*" StartsOnPage 0 1
Style "qutebrowser" StartsOnPage 1 0
Style "Mozilla Firefox" StartsOnPage 1 1, NoTitle
Style "*Chromium" StartsOnPage 1 2, NoTitle
Style "*LibreOf*" StartsOnPage 2 0
Style "*GNU Ima*" StartsOnPage 2 1
# Styles for your common terminal emulator programs:
AddToDecor terms
+ ButtonStyle 1 Pixmap mini.xterm.xpm
+ HilightColor #bebebe blue
Style "XTerm" UseDecor terms
Style "XTerm" Icon xterm.xpm, SloppyFocus, IconBox -70 1 -1 -140
# Styles for various common programs:
Style "*lock" NoTitle, NoHandles, Sticky, WindowListSkip, ClickToFocus
Style "xbiff" NoTitle, Sticky, WindowListSkip, ClickToFocus
Style "xcalc" Icon xcalc.xpm, NoButton 2,RandomPlacement,ClickToFocus
Style "xman" Icon xman.xpm, RandomPlacement, ClickToFocus
Style "qutebrowser" Icon qutebrowser.xpm, RandomPlacement
Style "xmag" Icon mag_glass.xpm, RandomPlacement, ClickToFocus
Style "xconsole" Icon rterm.xpm, WindowListSkip, Sticky
######################## Initialization Functions
############################
AddToFunc StartFunction
#+ "I" exec /usr/local/bin/feh --randomize --bg-fill
$HOME/Pictures/*
AddToFunc InitFunction "I" Module FvwmPager 0 0
+ "I" exec /usr/local/bin/conky
+ "I" exec /usr/X11R6/bin/xcompmgr
AddToFunc RestartFunction "I" Module FvwmPager 0 0
#+ "I" exec /usr/X11R6/bin/xsetroot -solid black
######################## Functions ##########################
AddToFunc Move-or-Raise "I" Raise
+ "M" Move
+ "D" Lower
AddToFunc Maximize-Func "M" Maximize 0 98
+ "C" Maximize 0 98
+ "D" Maximize 100 98
AddToFunc Move-or-Iconify "I" Raise
+ "M" Move
+ "D" Iconify
AddToFunc Resize-or-Raise "I" Raise
+ "M" Resize
+ "D" Lower
AddToFunc Iconify-and-Raise "I" Iconify
+ "I" Raise
AddToFunc FocusAndWarp "I" Focus
+ "I" WarpToWindow 2p 2p
AddToFunc DeiconifyFocusAndWarp "I" Iconify -1
+ "I" FocusAndWarp
AddToFunc ChangeDefaultFocus "I" Style "*" $0
+ "I" Recapture
AddToFunc LeftSnap "I" Maximize 50 97
+ "I" Move 0 0
+ "I" Focus
AddToFunc RightSnap "I" Maximize 50 97
+ "I" Move 50 0
+ "I" Focus
AddToFunc MuevePagina "I" MoveToPage $0 $1
+ "I" GotoPage $0 $1
######################## Menus ###################
AddToMenu RootMenu "Root Menu" Title
+ "XTerm%mini.xterm.xpm%" Exec exec xterm
+ "" Nop
#+ "Remote Logins" Popup Remote-Logins
#+ "" Nop
+ "Utilities" Popup Utilities
+ "" Nop
+ "Fvwm Modules" Popup Module-Popup
+ "Fvwm Window Ops" Popup Window-Ops
+ "Fvwm Simple Config Ops" Popup Misc-Ops
+ "" Nop
+ "Refresh Screen" Refresh
+ "Recapture Screen" Recapture
+ "(Re)Start" Popup Quit-Verify
+ "" Nop
+ "Exit" Module FvwmForm QuitVerify
AddToMenu Utilities "Utilities" Title
+ "Top" Exec exec xterm -T Top -n Top -e top
+ "Xterm" Exec exec xterm
+ "Qutebrowser" Exec exec /usr/local/bin/qutebrowser
+ "Gimp" Exec exec gimp
+ "Firefox" Exec exec firefox
+ "Calculator" Exec exec xcalc
+ "Xman" Exec exec xman
+ "Xmag" Exec exec xmag
+ "Editres" Exec exec editres
+ "" Nop
+ "XLock%mini.xlock.xpm%" Exec exec xlock
+ "" Nop
#+ "Reset X defaults" Exec xrdb -load $HOME/.Xdefaults
AddToMenu Misc-Ops "Misc Config Opts" Title
+ "Sloppy Focus" ChangeDefaultFocus SloppyFocus
+ "Click To Focus" ChangeDefaultFocus ClickToFocus
+ "Focus Follows Mouse" ChangeDefaultFocus
FocusFollowsMouse
+ "" Nop
+ "Colormap Follows Mouse" ColormapFocus FollowsMouse
+ "Colormap Follows Focus" ColormapFocus FollowsFocus
+ "" Nop
+ "Full Paging ON" EdgeScroll 100 100
+ "All Paging OFF" EdgeScroll 0 0
+ "Horizontal Paging Only" EdgeScroll 100 0
+ "Vertical Paging Only" EdgeScroll 0 100
+ "Partial Paging" EdgeScroll 50 50
+ "Full Paging && Edge Wrap" EdgeScroll 100000 100000
AddToMenu Window-Ops "Window Ops" Title
+ "Move%mini.move.xpm%" Move
+ "Resize%mini.resize.xpm%" Resize
+ "Raise%mini.raise.xpm%" Raise
+ "Lower%mini.lower.xpm%" Lower
+ "(De)Iconify%mini.iconify.xpm%" Iconify
+ "(Un)Stick%mini.stick2.xpm%" Stick
+ "(Un)Maximize%mini.maximize.xpm%" Maximize
+ "" Nop
+ "Delete%mini.excl.xpm%" Delete
+ "Close%mini.cut.xpm%" Close
+ "Destroy%mini.destroy.xpm%" Destroy
+ "" Nop
+ "Refresh Window%mini.refresh.xpm%" RefreshWindow
AddToMenu Window-Ops2 "&Move%mini.move.xpm%" Move
+ "&Resize%mini.resize.xpm%" Resize
+ "R&aise%mini.raise.xpm%" Raise
+ "&Lower%mini.lower.xpm%" Lower
+ "(De)&Iconify%mini.iconify.xpm%" Iconify
+ "(Un)&Stick%mini.stick2.xpm%" Stick
+ "(Un)Ma&ximize%mini.maximize.xpm%" Maximize
+ "" Nop
+ "&Delete%mini.excl.xpm%" Delete
+ "&Close%mini.cut.xpm%" Close
+ "Destroy%mini.destroy.xpm%" Destroy
+ "" Nop
+ "ScrollBar" Module FvwmScroll 2 2
# be sure to fill these in with your correct machine names:
#AddToMenu Remote-Logins "dopey" Exec ssh dopey rxvt -display
$HOSTDISPLAY &
#+ "grumpy" Exec ssh grumpy rxvt -display $HOSTDISPLAY &
AddToMenu Module-Popup "FvwmModules" Title
+ "Identify" Module FvwmIdent
+ "Talk" Module FvwmTalk
+ "" Nop
+ "Button-Bar" Module FvwmButtons
+ "Pager" Module FvwmPager 0 0
+ "Pager (2 desks)" Module FvwmPager 0 1
+ "WinList" Module FvwmWinList
+ "" Nop
+ "Banner" Module FvwmBanner
+ "ScrollBar" Module FvwmScroll 50 50
+ "Background" Module FvwmBacker
+ "AutoRaise" Module FvwmAuto 200 Raise Nop
+ "Stop AutoRaise" KillModule FvwmAuto
+ "" Nop
+ "IconBox" Module FvwmIconBox
+ "IconMan" Module FvwmIconMan
+ "" Nop
+ "Form - MyFvwmTalk" Module FvwmForm MyFvwmTalk
+ "Form - QuitVerify" Module FvwmForm QuitVerify
AddToMenu Quit-Verify
+ "Restart Fvwm%mini.refresh.xpm%" Restart fvwm
+ "" Nop
+ "Start cwm" Restart cwm
+ "Start twm" Restart twm
+ "" Nop
#+ "Start dummy%mini.xterm.xpm%" Restart xterm
+ "" Nop
+ "No, Don't Quit" Nop
################## FvwmButtons button-bar ################################
*FvwmButtonsBack bisque3
*FvwmButtons(Frame 2 Padding 2 2 Container(Rows 2 Frame 1 Padding 10 0 \
Swallow(Respawn)))
*FvwmButtons(NoSize Title Close, Icon bomb.xpm, Action Close)
*FvwmButtons(Title Resize Icon mini.resize.xpm Back bisque4 Action Resize)
#*FvwmButtons(Frame -3 Swallow(Respawn,NoHints) xclock \
`Exec exec xclock -bg darkolivegreen -padding 0 -geometry +2000+0`)
*FvwmButtons(3x1 Back darkolivegreen Fore white Frame 2 Padding 2 2 \
Container(Rows 1 Frame -2 Padding 1 1 Back darkolivegreen))
*FvwmButtons(Frame 2 Title(Side,Right) Mail Fore white \
Swallow(UseOld,NoRespawn)\
xbiff `Exec exec xbiff -bg darkolivegreen -geometry +200+200`)
*FvwmButtons(2x1 Swallow (NoHints) "FvwmTalk" "FvwmTalk")
*FvwmButtons(End)
*FvwmButtons(End)
########################## Window-Identifier ###############################
# Just choose colors and a fonts
*FvwmIdentBack MidnightBlue
*FvwmIdentFore Yellow
*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
########################### Pager #########################################
*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
*FvwmPagerBack darkblue
*FvwmPagerFore white
*FvwmPagerHilight #2d2d2d
*FvwmPagerGeometry 80x60-5-25 #80x60-1-1
*FvwmPagerLabel 0 "OpenBSD 6.4"
*FvwmPagerLabel 1 Maker
*FvwmPagerLabel 2 Mail
*FvwmPagerLabel 3 Matlab
*FvwmPagerSmallFont 5x8
##########################FvwmWinList##################################
*FvwmWinListBack #909090
*FvwmWinListFore Black
*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
*FvwmWinListAction Click1 Iconify -1,Focus
*FvwmWinListAction Click2 Iconify
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent
*FvwmWinListAction SelectOnRelease Meta_L
*FvwmWinListUseSkipList
*FvwmWinListGeometry +0-1
*FvwmBackerDesk 0 -solid steelblue
*FvwmBackerDesk 1 -solid midnightblue
*FvwmScrollBack grey40
*FvwmScrollFore green
############################################################
############################################################
# Note that icons are shown in the module
# only if NoIcon commnand is applied.
#Style "*" NoIcon
############################################################
*FvwmIconBoxIconBack #cfcfcf
*FvwmIconBoxIconHiFore black
*FvwmIconBoxIconHiBack LightSkyBlue
*FvwmIconBoxBack #5f9ea0
#*FvwmIconBoxFore blue
*FvwmIconBoxGeometry 5x1+0+0
*FvwmIconBoxMaxIconSize 64x38
*FvwmIconBoxFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
*FvwmIconBoxSortIcons IconName
*FvwmIconBoxPadding 4
*FvwmIconBoxLines 10
*FvwmIconBoxSBWidth 11
*FvwmIconBoxPlacement Right Top
*FvwmIconBoxPixmap fvwm.xpm
#*FvwmIconBoxHideSC Horizontal
*FvwmIconBoxSetWMIconSize
*FvwmIconBoxHilightFocusWin
#*FvwmIconBoxResolution Desk
*FvwmIconBoxMouse 1 Click RaiseLower
*FvwmIconBoxMouse 1 DoubleClick Iconify
*FvwmIconBoxMouse 2 Click Iconify -1, Focus
*FvwmIconBoxMouse 3 Click Module FvwmIdent
*FvwmIconBoxKey r RaiseLower
*FvwmIconBoxKey space Iconify
*FvwmIconBoxKey d Close
*FvwmIconBoxKey n Next
*FvwmIconBoxKey p Prev
*FvwmIconBoxKey h Left
*FvwmIconBoxKey j Down
*FvwmIconBoxKey k Up
*FvwmIconBoxKey l Right
#
# Icon file specifications
#
# Mostly, you don't have to specify icon files, as FvwmIconBox now
# reads icon files specified in Style commands.
#
*FvwmIconBox "Fvwm*" -
# FvwmForm alias - query exit ala mwm
*QuitVerifyGrabServer
*QuitVerifyWarpPointer
*QuitVerifyFont *helvetica*m*r*n*14*
#*QuitVerifyButtonFont *helvetica*m*o*n*14*
*QuitVerifyButtonFont 7x13bold
*QuitVerifyFore Black
*QuitVerifyBack Light Gray
*QuitVerifyItemFore Wheat
*QuitVerifyItemBack Gray50
# begin items
*QuitVerifyLine center
*QuitVerifyText "Do you really want to exit FVWM?"
*QuitVerifyLine expand
*QuitVerifyButton quit " Exit "
*QuitVerifyCommand Quit
*QuitVerifyButton quit "Cancel"
*QuitVerifyCommand Nop
# MyTalk & MyFvwmTalk from Dave Goldberg
# MyTalk Form - dissappears after use
*MyTalkWarpPointer
*MyTalkFont *helvetica*m*r*n*14*
*MyTalkButtonFont *helvetica*m*o*n*14*
*MyTalkInputFont *cour*m*r*n*14*
*MyTalkFore Red
*MyTalkBack Gray
*MyTalkItemFore Blue
*MyTalkItemBack Gray
*MyTalkLine center
*MyTalkText "Fvwm Function"
*MyTalkInput Func 40 ""
*MyTalkLine expand
*MyTalkButton quit "Run" ^M
*MyTalkCommand $(Func)
*MyTalkButton restart "Clear" ^R
*MyTalkButton quit "Cancel" ^C
*MyTalkCommand Nop
# MyFvwmTalk Form - sticks around
*MyFvwmTalkWarpPointer
*MyFvwmTalkFont *helvetica*m*r*n*14*
*MyFvwmTalkButtonFont *helvetica*m*o*n*14*
*MyFvwmTalkInputFont *cour*m*r*n*14*
*MyFvwmTalkFore Red
*MyFvwmTalkBack Gray
*MyFvwmTalkItemFore Blue
*MyFvwmTalkItemBack Gray
*MyFvwmTalkLine center
*MyFvwmTalkText "Fvwm Function"
*MyFvwmTalkInput Func 40 ""
*MyFvwmTalkLine expand
*MyFvwmTalkButton restart "Run" ^M
*MyFvwmTalkCommand $(Func)
*MyFvwmTalkButton restart "Clear" ^R
*MyFvwmTalkCommand Nop
*MyFvwmTalkButton restart "Iconify" ^Z
*MyFvwmTalkCommand Next [MyFvwmTalk] Iconify
*MyFvwmTalkButton quit "Quit" ^C
*MyFvwmTalkCommand Nop
# to change banner pixmap
#*FvwmBannerPixmap fvwm3.xpm
#*FvwmBannerTimeout 2