[SOLVED] change FVWM title bar buttons order & disable "iconify" to desktop widget

Hello, friends! :slight_smile:

I used FVWM before, but now I want to use it like my default window manager,
so I want to get a good config. I got 3 questions:

1 How can I change titlebar buttons order? I want my FVWM title bar buttons looks like like in Mac OS X/Ubuntu:

close_min_max====================Title============================menu

2 How to completely disable (or at least hide) minimized apps icons on the desktop, when I minimize (iconify) windows?
I don’t need this feature because I’m using plank dock to restore and minimize my applications.

3 And is it possible to add a widow action key binding? Like in a XFCE or GNOME, when you press Alt or Super key,
you can resize/move windows with mouse. Is this feature available in FVWM?

I used system.fvwm2rc-sample-95 as a base config.

googling did not help.
I know, I can always read a man page, but it is VERY HUGE,
ctrl+f is not always helpful and to read whole (or at least half) FVWM man page is like to read “War and Peace” by Lev Tolstoy.

so please, any solutions?

Cheers, FVWM is the BEST! :wink:

Have a look at Jaimos’ great FVWM Beginners Guide - Window Decor. Look at the second example with pixmaps. See also the decor config of Fvwm-Nightshades CrystalBall.

As the documentation on fvwm.org isn’t complete since switching to Github you can use the pages on the WayBack machine:
FVWM man page
All Commands

You could use NoIcon Style]
Style * NoIcon
[/code]

[code]# Keyname Context Modifi Function
#-----------------------------------------------------------------------

Press left Windows key anywhere to pick a window for resize

#-----------------------------------------------------------------------
Key Super_L A N Pick FuncResizeOrRaiseOrMaximize
#-----------------------------------------------------------------------

Press CTRL + left Windows key anywhere to pick a window for move

#-----------------------------------------------------------------------
Key Super_L A C Pick FuncMoveOrRaiseOrMaximize

#-----------------------------------------------------------------------

This one moves and then raises the window if you drag the mouse,

only raises the window if you click, or maximize if you double click

#-----------------------------------------------------------------------
DestroyFunc FuncMoveOrRaiseOrMaximize
AddToFunc FuncMoveOrRaiseOrMaximize

  • H Move
  • M Move
  • C Raise
  • D Maximize

#-----------------------------------------------------------------------

This one resizes and then raises the window if you drag the mouse, only

raises the window if you click, or maximize if you double click

#-----------------------------------------------------------------------
DestroyFunc FuncResizeOrRaiseOrMaximize
AddToFunc FuncResizeOrRaiseOrMaximize

  • H Resize $0
  • M Resize $0
  • C Raise
  • D Maximize[/code]Remark: Not tested but could show you the way :wink:

– Thomas –

Thank you!

window action keybindings work, I was able to hide iconify icons with

Style * NoIcon

and move title bar buttons to left with (I created clean .fvwm2rc)

Mouse	1	1	A	Close
Mouse	1	3	A	Iconify
Mouse	1	5	A	Maximize 100 100
#
# My custom button images,  pngs of which are located in ImagePath.
#ButtonStyle 1 ActiveDown Pixmap close_prelight.png -- Flat
#ButtonStyle 3 ActiveDown Pixmap min_prelight.png -- Flat
#ButtonStyle 5 ActiveDown Pixmap max_prelight.png -- Flat
#
#ButtonStyle 1 Pixmap close.png -- Flat
#ButtonStyle 3 Pixmap min.png -- Flat
#ButtonStyle 5 Pixmap max.png -- Flat
#
#ButtonStyle 1 Inactive Pixmap unfocused.png -- Flat
#ButtonStyle 3 Inactive Pixmap unfocused.png -- Flat
#ButtonStyle 5 Inactive Pixmap unfocused.png -- Flat
#
#ButtonStyle 1 ActiveDown Pixmap close_prelight.png -- Flat
#ButtonStyle 3 ActiveDown Pixmap min_prelight.png -- Flat
#ButtonStyle 5 ActiveDown Pixmap max_prelight.png -- Flat
#

Now it looks like this

So it’s almost perfect! :smiley:

But I got one more question, is it possible to add padding aka spacing between title bar buttons?
to make them look like like something like this

You’re welcome 8)

FVWM supports square fields only I’m afraid. In the past there was a patch for FVWM 2.5.x available. But not for 2.6.x

– Thomas –

Thanks for your reply! Not a big deal :slight_smile: I made them look like more FVWM way and it looks even better

screenshot (dock – plank + lxpanel)

Here is my simple [color=green]~/.fvwm2rc

ImagePath $HOME/.fvwm/pixmaps/

AddToFunc StartFunction
 + I Module FvwmCommandS
AddToFunc InitFunction
 + I Exec [ -f $HOME/.xinitrc-fvwm ] && sh $HOME/.xinitrc-fvwm
#AddToFunc RestartFunction
# + I Exec xterm -e killall plank && sleep 1 && plank

IgnoreModifiers L25
DeskTopSize 1x1
Emulate Mwm
HideGeometryWindow Move
OpaqueMoveSize 100
SnapAttraction 13 SameType Screen
# Working area : left right top bottom
#EwmhBaseStruts 0 0 0 41
#BugOpts RaiseOverUnmanaged False

Style * NoIcon
Style * PositionPlacement Center
Style * ClickToFocus
Style * ResizeOpaque
Style * WindowShadeSteps 20
Style * MWMFunctions
Style * MWMDecor
Style * OLDecor
Style * !StippledTitle
Style * DecorateTransient
Style * EWMHUseStackingOrderHints
Style * BorderWidth 3, HandleWidth 3
Style * Font "xft:Cantarell:pixelsize=13:Bold"
Style * ForeColor darkgray, BackColor #313434
Style * HilightFore white, HilightBack #313434

CursorStyle ROOT left_ptr
CursorStyle TITLE left_ptr
CursorStyle DEFAULT left_ptr
CursorStyle SYS left_ptr
CursorStyle MENU left_ptr
CursorStyle WAIT left_ptr
BusyCursor DynamicMenu True, Read True

MenuStyle * Fvwm
MenuStyle * Font "xft:Cantarell:pixelsize=15"
MenuStyle * Foreground white, Background #313434
MenuStyle * ActiveFore white, HilightBack #215D9C
MenuStyle * VerticalItemSpacing 2 4, VerticalTitleSpacing 2 4

TitleStyle ActiveUp (solid #313434 -- Flat)
TitleStyle ActiveDown solid #313434
TitleStyle Inactive (solid #313434 -- Flat)
TitleStyle Centered Height 19

BorderStyle Inactive -- HiddenHandles NoInset
BorderStyle Active -- HiddenHandles NoInset

ButtonStyle 1 Pixmap close.png -- Flat
ButtonStyle 3 Pixmap min.png -- Flat
ButtonStyle 5 Pixmap max.png -- Flat

ButtonStyle 1 Inactive Pixmap unfocused-close.png -- Flat
ButtonStyle 3 Inactive Pixmap unfocused.png -- Flat
ButtonStyle 5 Inactive Pixmap unfocused.png -- Flat

ButtonStyle 1 ActiveDown Pixmap close_prelight.png -- Raised
ButtonStyle 3 ActiveDown Pixmap min_prelight.png -- Raised
ButtonStyle 5 ActiveDown Pixmap max_prelight.png -- Raised
##########Titlebar buttons
Mouse 1 1 A Close
Mouse 1 3 A Iconify
Mouse 1 5 A Maximize
##########Titlebar actions
DestroyFunc MaximizeOrMove
AddToFunc MaximizeOrMove
 + I Raise
 + I Focus
 + D Maximize
 + M Move

Mouse 1 T A MaximizeOrMove
##########Shade on titlebar middle click
Mouse 2 T A WindowShade
##########Super key+right click window / right click titlebar -- window options menu
DestroyFunc LowerTo4
AddToFunc LowerTo4
 + I Layer 0 4
 + I Lower

AddToMenu Window-Ops
+ Lower LowerTo4
+ "On Top" Layer 0 6
+ "" Nop
+ Minimize Iconify
+ (Un)Maximize Maximize
+ "" Nop
+ Move Move
+ Resize Resize
+ "" Nop
+ "Always on Visible Desk (toggle)" Stick
+ "" Nop
+ "Move to Desk 1" MoveToDesk 0 0
+ "Move to Desk 2" MoveToDesk 0 1
+ "Move to Desk 3" MoveToDesk 0 2
+ "Move to Desk 4" MoveToDesk 0 3
+ "" Nop
+ Close Close

Mouse 3 W 4 Menu Window-Ops Nop
Mouse 3 T A Menu Window-Ops Nop
##########Desktop: empty left click, right click - desktop menu
DestroyMenu Utilities
AddToMenu Utilities "    FVWM    " Title
+ "&Identify" Module FvwmIdent
+ "" Nop
+ "&Console" FvwmConsole
+ "" Nop
+ "&Config" Exec xterm -e $EDITOR $HOME/.fvwm2rc
+ "" Nop
+ "&Restart" Restart
+ "&Quit" FvwmForm FvwmForm-QuitVerify

Mouse 1 R A
Mouse 3 R A Menu Utilities mouse -1p -1p
##########Show desktop with Ctrl+Alt+D
DestroyFunc ShowDesktop
AddToFunc   ShowDesktop
 + I All (CurrentPage, !Iconic) Iconify

Key D A CM ShowDesktop
##########Move windows with Super key+left mouse click
DestroyFunc FocusWhenMove
AddToFunc FocusWhenMove
 + I Raise
 + I Focus
 + M Move

Mouse 1 W 4 FocusWhenMove
##########Resize windows with Super key+middle mouse click
DestroyFunc FocusWhenResize
AddToFunc FocusWhenResize
 + I Raise
 + I Focus
 + I Resize

Mouse 2 W 4 FocusWhenResize
##########Ctrl+Alt+ mouse wheel (PgUp\PgDn) to scroll desks
Mouse 4 A CM Desk -1 0 0 3
Mouse 5 A CM Desk +1 0 0 3
Key Prior A CM Desk -1 0 0 3
Key Next A CM Desk +1 0 0 3
##########Ctrl+Alt+ left\middle\right click to minimize\maximize\close
#Mouse 1 W CM Iconify
#Mouse 2 W CM Maximize
#Mouse 3 W CM Close
##########Alt+Tab
Key Tab A M WindowList Root c c NoGeometry, NoCurrentDeskTitle, IconifiedAtEnd
##########Other key bindings
#Keyname   Context Modifiers   Function
Key R        A     C4            Restart   #Restart FVWM with Ctrl+Super+R
Key X        A     CM            Exec xkill   #Ctrl+Alt+X - Xkill
Key F2       A      M            Exec gmrun   #Alt+F2 - gmrun
Key L        A     CM            Exec xscreensaver-command -lock   #Ctrl+Alt+L - lock screen with xscreensaver
##########APPS
# FVWM Identify app from desktop menu
Style FvwmIdent WindowListSkip, NeverFocus, !Title
*FvwmIdent: Font "xft:Cantarell:pixelsize=13"
*FvwmIdent: Fore white
*FvwmIdent: Back #313434
*FvwmIdent: MinimalLayer 6

#Style plank UnManaged
Style panel NeverFocus, EWMHIgnoreStackingOrderHints, StaysOnTop
Style gmrun WindowListSkip, !UsePPosition, StaysOnTop
Style Nautilus NoDecorHint, NakedTransient
Style Totem NoDecorHint, !Title
Style chromium-browser !UsePPosition
Style XTerm ResizeHintOverride
# Wine games focus fix
Style *.exe Lenience

Here is my “pixmaps” archive (extract it to [color=purple]ImagePath).

I’m using this GTK 2/3 theme for better integration gnome-look.org/content/show.php/ … ent=175443
Here you can download version of Maya theme with fix for FVWM, for GTK 3 applications borders.

Hi ILLUXA,

looks pretty nice! I Like it much - clean and simple.

– Thomas –

Hello, TF!
Thanks! I’m glad you liked it :smiley:

Got one more simple question :smiley:
is there any way to use MWMBorder, but only with buttons,
i like MWM 3D look of buttons, is’s nicer in my opinion,
but I don’t like MWM border style, FVWM border is much nicer.

Style * FvwmBorder (Nice border but not too nice buttons)]http://i.imgur.com/0Naqkh8.png[/img]

Style * MwmBorder (Nice buttons but ugly border)

When configuring the ButtonStyle (or AddButtonStyle) for your buttons you can specific how they work with ‘Flat’, ‘Raised’, or ‘Sunk’

For instance instead of using

ButtonStyle 1 Inactive Pixmap unfocused-close.png -- Flat

You can replace the Flat with Raised or Sunk depending on how you want the relief of the button to look.

Thanks for your reply, but it seems that I was not clear enough,
I know how to change button appearance to Raised, Flat etc,
but I want to use MWMBorder 3D effect style but with buttons only,
without changing windows borders appearance, because I like default FVWM window border style more.

When I add this line to ~/.fvwm2rc

Style * MWMBorder

it change buttons and title bar 3D effect ( button decor is thinner), but it also changes window border style.
So is there any way to change buttons decorations style to MWM, but without changing window borders?
I tried

ButtonStyle All MWMBorder but it doesn’t work.
(Sorry for my english.)

This isn’t possible.

– Thomas Adam

Not a big deal :smiley: FVWM buttons are pretty nice too.
Thanks to all! FVWM the Best! 8)

I found “the way”! :smiley:
(Haven’t tried to find it till now because I was happy with bindings from your post)
Here is almost full replacement of GNOME Shell function to move with Super key + left click and resize with Super key + middle click.

##########Move windows with Super+left mouse click
DestroyFunc FocusWhenMove
AddToFunc FocusWhenMove
 + I Raise
 + I Focus
 + M ThisWindow (Maximized) Maximize False
 + M TestRc (Match) Move 50-50w 50-50w
 + M TestRc (Match) WarpToWindow 50 10
 + M Move

Mouse 1 WS 4 FocusWhenMove
##########Resize windows with Super+middle mouse click
DestroyFunc FocusWhenResize
AddToFunc FocusWhenResize
 + I Raise
 + I Focus
 + I Resize Direction Automatic

Mouse 2 WS 4 FocusWhenResize

Works like a charm :slight_smile:

IMHO Style * EWMHUseStackingOrderHints (like EWMHUseStateHints and EWMHUseStrutHints) should be enabled by default.
If it was enabled, it would saved me a lot of time when I was playing around with 'Layer’s…:slight_smile:

Now all work very well, I like FVWM much, it has completely replaced my GNOME Shell configuration, without any functional loss,
The only thing that I would like to improve, it’s a plank dock,
now I’m using

Style plank UnManaged

and

# plank stays on top after FVWM restart
BugOpts RaiseOverUnmanaged off
#
EwmhBaseStruts 0 0 0 43

but it is not a perfect solution because SnapAttraction doesnt work with plank top border and plank stays on top on fullscreen, so I need to close it manually each time I want to play some wine games for example.
If I don’t use any tweaks for plank in my config,

Style * EWMHUseStackingOrderHints
#Style plank UnManaged

then some sort of transparent plank background appear and it is not clickable and always on top of others windows,
so windows bottom cannot be clicked,
Unclickable area – i.imgur.com/WM8ao1w.png
Any suggestions?

What you could try is to move plank in the lowest layer before using fullscreen.

I’m using the following function for fullscreen]#-----------------------------------------------------------------------

ALT + F11 maximize active window to fullscreen and back

#-----------------------------------------------------------------------
Key F11 A M Pick FuncMaximizeFullScreen

#-----------------------------------------------------------------------

This function maximize a window to fullscreen - no title, no buttons, no border

#-----------------------------------------------------------------------
DestroyFunc FuncMaximizeFullScreen
AddToFunc FuncMaximizeFullScreen

  • I ThisWindow (Maximized) WindowStyle Title, Borders
  • I TestRc (!Match) WindowStyle !Title, !Borders
  • I TestRc (!Match) Raise
  • I TestRc (!Match) UpdateStyles
  • I Maximize ewmhiwa[/code]

Add before Maximize ewmhiwa[code]

  • I FuncStaysOnBottomAndBack
    [/code]

[code]#-----------------------------------------------------------------------

Move window to lowest layer and next time back to default

#-----------------------------------------------------------------------
DestroyFunc FuncStaysOnBottomAndBack
AddToFunc FuncStaysOnBottomAndBack

  • I ThisWindow (plank, Layer ) Pick (CirculateHit) Layer 0
  • I TestRc (!Match) Pick (plank, CirculateHit) Layer 0 [/code]
    is the layer plank is located. But I haven’t tried FuncStaysOnBottomAndBack whether it works as expected - I have rewrite FuncStaysOnTopAndBack which used normally for an active window to move it on top … so don’t be disapointed if it doesn’t work :neutral_face:

– Thomas –

Thanks, it works, but only when plank is not “UnManaged”,
but when plank is not “UnManaged” it has transparent unclickable area behind.
The best solution, that I’ve found

BugOpts RaiseOverUnmanaged False
EwmhBaseStruts	0 0 0 41
Style plank UnManaged

And then, to hide plank on fullscreen, set plank to “Dodge active window” in plank settings
i.imgur.com/wPfbJqz.png
Plank will not hide with normal windows because of working area – EwmhBaseStruts.
Maximum hide delay in plank settings is 2500 ms – 2,5 seconds, but i was able to increase it with dconf editor –
net > launchpad > plank > docks > dock1 > hide-delay
i.imgur.com/1lem1BR.png
20000 ms = 20 seconds, so plank will be hiden on fullscreen after 20 seconds.

Is there any way to add custom SnapAttraction border to custom working area (EwmhBaseStruts)?

Does plank not has an auto hide mode? On eOS it seems so…

On the other hand what about wxbar?

wxbar isn’t exist in FreeBSD ports tree and I like plank very much, it’s a lightweight, eye candy and good maintained dock app.
it’s a only real dock available for *NIX, docky and AWN are dead, cairo-dock is buggy, resource heavy and slow…

Yes, plank has an auto hide mode on any OS and/or distro :slight_smile:
and with “Style plank UnManaged” plank works very fine on FVWM with “autohide mode” enabled,
but I prefer to use plank when dock is always visible. I got a “habit” to hide some windows behind plank,
because after I can switch between active windows quickly

I know, it is useless because I can switch those windows with plank (or with alt+tab), but… :confused:
So for those who prefer “autohide mode” it won’t be a problem. Also my workaround with “Dodge active window” is pretty usable too, the only ‘problem’ is - SnapAttraction, but it is not critical.

Finally, after 1 month+ of configuring, I created my almost ideal .fvwm2rc :smiley:
it is not so simple any more, so I won’t update my previous post. I made it like a replacement of my gnome-shell configuration,
so it’s implementing few mutter functions-key bindings: move window with Super+left click, resize with Super+middle click,
Super+right click – window options menu, auto unmaximize when move maximized window…

window and root menu

logout window

screen shot i.imgur.com/FAVEqtL.png

[color=green]~/.fvwm2rc:

ImagePath $HOME/.fvwm/pixmaps/

AddToFunc StartFunction
 + I Module FvwmCommandS
 + I Module FvwmEvent FE-StartOps
 + I Module FvwmBanner
AddToFunc InitFunction
 + I Exec [ -f $HOME/.xinitrc-fvwm ] && sh $HOME/.xinitrc-fvwm
#AddToFunc RestartFunction
# + I Exec ...

IgnoreModifiers L25
DeskTopSize 1x1
Emulate Mwm
HideGeometryWindow Move
OpaqueMoveSize unlimited
# Working area : left right top bottom
EwmhBaseStruts 0 0 0 49
BugOpts RaiseOverUnmanaged off
DefaultFont "xft:Cantarell:pixelsize=14"
DefaultColors #FFFFFF #313434

Style * NoIcon
Style * ClickToFocus
Style * ResizeOpaque
Style * MWMFunctions
Style * MWMDecor
Style * OLDecor
Style * !StippledTitle
Style * DecorateTransient
Style * EWMHUseStackingOrderHints
Style * BorderWidth 3, HandleWidth 3
Style * SnapAttraction 13 SameType Screen
Style * Font "xft:Cantarell:pixelsize=14:Bold"
Style * ForeColor darkgray, BackColor #313434
Style * HilightFore white, HilightBack #313434

CursorStyle ROOT left_ptr
CursorStyle TITLE left_ptr
CursorStyle DEFAULT left_ptr
CursorStyle SYS left_ptr
CursorStyle MENU left_ptr
CursorStyle WAIT left_ptr
BusyCursor DynamicMenu True, Read True

MenuStyle * Fvwm
MenuStyle * Hilight3DOff
MenuStyle * SeparatorsLong
MenuStyle * BorderWidth 1
MenuStyle * VerticalMargins 10 10
MenuStyle * Font "xft:Cantarell:pixelsize=15"
MenuStyle * Foreground white, Background #313434
MenuStyle * ActiveFore white, HilightBack #215D9C
MenuStyle * VerticalItemSpacing 4 6, VerticalTitleSpacing 0 4

TitleStyle ActiveUp solid #313434 -- Flat
TitleStyle ActiveDown solid #313434 -- Flat
TitleStyle Inactive solid #313434 -- Flat
TitleStyle Centered Height 20

BorderStyle Inactive -- HiddenHandles NoInset
BorderStyle Active -- HiddenHandles NoInset

ButtonStyle 1 Pixmap close.png -- Flat
ButtonStyle 3 Pixmap min.png -- Flat
ButtonStyle 5 Pixmap max.png -- Flat

ButtonStyle 1 Inactive Pixmap unfocused.png -- Flat
ButtonStyle 3 Inactive Pixmap unfocused.png -- Flat
ButtonStyle 5 Inactive Pixmap unfocused.png -- Flat

ButtonStyle 1 ActiveDown Pixmap close-press.png -- Flat
ButtonStyle 3 ActiveDown Pixmap min-press.png -- Flat
ButtonStyle 5 ActiveDown Pixmap max-press.png -- Flat
##########Titlebar buttons
Mouse 1 1 A Close
Mouse 1 3 A Iconify
Mouse 1 5 A Maximize
##########Titlebar actions: move, raise or focus with single click, maximize with double click.
DestroyFunc MaximizeOrMove
AddToFunc MaximizeOrMove
 + I Raise
 + I Focus
 + D Maximize
 + M ThisWindow (Maximized, !Shaded) Maximize False
 + M TestRc (Match) Move 50-50w 50-50w
 + M TestRc (Match) WarpToWindow 50 1
 + M Move

Mouse 1 T A MaximizeOrMove
# Shade on titlebar middle click
Mouse 2 T A WindowShade
##########Options menu: Super+right click window/ right click titlebar or border/ Super+Return
# Toggle OnTop with Lower
DestroyFunc LowerTo4
AddToFunc LowerTo4
 + I Layer 0 4
 + I Lower
# Move function
DestroyFunc MyMove
AddToFunc MyMove
 + I ThisWindow (Maximized) Maximize False
 + I TestRc (Match) Move 50-50w 50-50w
 + I TestRc (Match) WarpToWindow 50 10
 + I Move

DestroyMenu WindowOptions
AddToMenu WindowOptions
+ "    Lower" LowerTo4
+ "    On Top" Layer 0 6
+ "" Nop
+ "    Minimize" Iconify
+ "    Maximize" Maximize
+ "" Nop
+ "    Move" MyMove
+ "    Resize" Resize Direction SE
+ "" Nop
+ "    Always on Visible Desk    " Stick
+ "" Nop
+ "    Move to Desk 1" MoveToDesk 0 0
+ "    Move to Desk 2" MoveToDesk 0 1
+ "    Move to Desk 3" MoveToDesk 0 2
+ "    Move to Desk 4" MoveToDesk 0 3
+ "" Nop
+ "    Close" Close

Mouse 3 W 4 Menu WindowOptions mouse -1p -1p
Mouse 3 TS A Menu WindowOptions mouse 0p 0p
Key Return A 4 Menu WindowOptions
##########Desktop: empty left click, right click -- desktop menu
DestroyMenu Utilities
AddToMenu Utilities "     FVWM     " Title
+ "  &Identify" Module FvwmIdent
+ "" Nop
+ "  &Console" FvwmConsole
+ "" Nop
+ "  &Config" Exec xterm -e $EDITOR $HOME/.fvwm2rc
+ "" Nop
+ "  &Restart" Restart
+ "" Nop
+ "  &Quit" FvwmForm FvwmForm-QuitVerify

Mouse 1 R A
Mouse 3 R A Menu Utilities mouse -1p -1p
##########Show desktop with Ctrl+Alt+D
DestroyFunc ShowDesktop
AddToFunc   ShowDesktop
 + I All (CurrentPage, !Iconic) Iconify

Key D A CM ShowDesktop
##########Move windows with Super+left mouse click
DestroyFunc FocusWhenMove
AddToFunc FocusWhenMove
 + I Raise
 + I Focus
 + M ThisWindow (Maximized) Maximize False
 + M TestRc (Match) Move 50-50w 50-50w
 + M TestRc (Match) WarpToWindow 50 10
 + M Move

Mouse 1 WST 4 FocusWhenMove
##########Resize windows with Super+middle mouse click
DestroyFunc FocusWhenResize
AddToFunc FocusWhenResize
 + I Raise
 + I Focus
 + I Resize Direction Automatic

Mouse 2 WST 4 FocusWhenResize
##########Scroll Desks with:
# Super+ mouse wheel
Mouse 4 A 4 Desk -1 0 0 3
Mouse 5 A 4 Desk +1 0 0 3
# Super + PgUp\PgDn
Key Prior A 4 Desk -1 0 0 3
Key Next A 4 Desk +1 0 0 3
##########Show 1-4 Desk with Super + F1-F4
Key F1 A 4 GotoDesk 0 0
Key F2 A 4 GotoDesk 0 1
Key F3 A 4 GotoDesk 0 2
Key F4 A 4 GotoDesk 0 3
##########Move window to 1-4 Desk with Super + 1-4
Key 1 A 4 MoveToDesk 0 0
Key 2 A 4 MoveToDesk 0 1
Key 3 A 4 MoveToDesk 0 2
Key 4 A 4 MoveToDesk 0 3
##########Ctrl+Alt+ left\middle\right click to minimize\maximize\close
Mouse 1 W CM Iconify
Mouse 2 W CM Maximize
Mouse 3 W CM Close
##########Alt+Tab
Key Tab A M WindowList Root c c NoGeometry, NoCurrentDeskTitle, IconifiedAtEnd
##########Tiling:
# Super + Left arrow
DestroyFunc TileLeft
AddToFunc TileLeft
 + I ThisWindow (!Shaded, !Iconic) Maximize 50 100
 + I ThisWindow (Maximized, !Shaded, !Iconic) Move 0 0

Key Left A 4 TileLeft
# Super + Right arrow
DestroyFunc TileRight
AddToFunc TileRight
 + I ThisWindow (!Shaded, !Iconic) Maximize 50 100
 + I ThisWindow (Maximized, !Shaded, !Iconic) Move 50 0

Key Right A 4 TileRight
##########Other key bindings
#Keyname      Context  Modifiers    Function
Key Up            A      4          Maximize True   #Super+Up arrow -- maximize
Key Down          A      4          Maximize False  #Super+Down arrow -- unmaximize
Key H             A      4          Iconify         #Super+H -- minimize
Key Q             A      4          Close           #Super+Q -- close
Key R             A     C4          Restart         #Ctrl+Super+R -- restart FVWM
# Keyboard shortcuts for apps
Key X             A     CM          Exec xkill                        #Ctrl+Alt+X -- xkill
Key KP_Multiply   A      C          Exec mixer vol mute               #Ctrl+Num* -- volume mute
Key KP_Subtract   A      C          Exec mixer vol -7                 #Ctrl+Num- -- volume -
Key KP_Add        A      C          Exec mixer vol +7                 #Ctrl+Num+ -- volume +
Key F2            A      M          Exec gmrun                        #Alt+F2 -- gmrun
Key L             A     CM          Exec xscreensaver-command -lock   #Ctrl+Alt+L - lock screen
##########Modules
# FVWM banner
*FvwmBanner: NoDecor
*FvwmBanner: Pixmap Logo.png
# FVWM Identify app from desktop menu
Style FvwmIdent WindowListSkip, NeverFocus, !Title
*FvwmIdent: Font "xft:Cantarell:pixelsize=13"
*FvwmIdent: Fore white
*FvwmIdent: Back #313434
*FvwmIdent: MinimalLayer 6
# FVWM quit dialog
Style FvwmForm-QuitVerify  WindowListSkip, !Title
*FvwmFormDefault: Font "xft:Cantarell:pixelsize=13"
*FvwmFormDefault: ButtonFont "xft:Cantarell:pixelsize=13"
*FvwmFormDefault: TimeoutFont "xft:Cantarell:pixelsize=13"
*FvwmFormDefault: Fore white
*FvwmFormDefault: Back #313434
*FvwmFormDefault: ItemFore white
*FvwmFormDefault: ItemBack #313434
##########Apps
Style Plank UnManaged
Style gvolwheel EWMHIgnoreStackingOrderHints, StaysOnTop
Style panel NeverFocus, EWMHIgnoreStackingOrderHints, StaysOnTop, FixedPosition
Style lxpanel EWMHIgnoreStackingOrderHints, StaysOnTop
Style Gmrun WindowListSkip, !UsePPosition, StaysOnTop, PositionPlacement Center
Style XTerm ResizeHintOverride
Style Nautilus NoDecorHint
Style File-roller NoDecorHint, TitleFormat %c
Style Totem NoDecorHint, TitleFormat %c
Style chromium-browser NoPPosition
Style Python NoDecorHint
# Wine games focus fix
Style *.exe FPLenient
##########Start options per app (set the window position, start maximized, etc)
DestroyModuleConfig FE-StartOps: *
*FE-StartOps: add_window FuncStartOps

DestroyFunc FuncStartOps
AddToFunc   FuncStartOps
# Maximize web browsers on start
#+ I ThisWindow ("Firefox") Maximize
#+ I ThisWindow ("Seamonkey") Maximize
#+ I ThisWindow ("Midori") Maximize
#+ I ThisWindow ("chromium-browser") Maximize
# Stjerm position fix
+ I ThisWindow ("Stjerm") Move 0 0

Window buttons can be downloaded HERE, extract them into your $ImagePath (~/.fvwm/pixmaps/).
Maya GTK theme from screenshots.