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