After year of improving… Here is my config.
It has many nice features, like hiding window border when maximize,
and many others, try, you’ll like it! I use FVWM with lxpanel and it works very nice.
Here it is — s000.tinyupload.com/index.php?fi … 2447229835
Just extract it to your home dir ([color=green]~/.fvwm/), archive contain configuration file and few icons for buttons,
but here is full [color=green]~/.fvwm/config:
# FVWM2 config by ILUXA
ImagePath $HOME/.fvwm/pixmaps/:$HOME/.icons/:$HOME/.fvwm/icons/
AddToFunc StartFunction
+ I Module FvwmCommandS
+ I Module FvwmAnimate
+ I Module FvwmEvent FE-StartOps
AddToFunc InitFunction
+ I Exec [ -f $HOME/.fvwm/autostart ] && sh $HOME/.fvwm/autostart
AddToFunc RestartFunction
# + I Exec …
#AddToFunc ExitFunction
# + I Exec …
IgnoreModifiers L25
DesktopSize 1x1
Emulate Mwm
HideGeometryWindow Never
OpaqueMoveSize unlimited
MoveThreshold 8
# Working area : left right top bottom (33)
#EwmhBaseStruts 0 0 0 60
BugOpts RaiseOverUnmanaged on
DefaultFont "xft:Sans:pixelsize=12"
DefaultColors #FFFFFF #292B2B
Style * NoIcon
Style * ClickToFocus
#Style * ClickToFocusRaisesOff
Style * ResizeOpaque
Style * MwmFunctions
Style * MwmDecor
Style * OLDecor
Style * !StippledTitle
#Style * IndexedWindowName
#Style * TitleFormat %n (%t)
Style * DecorateTransient
Style * StackTransientParent
Style * EWMHUseStackingOrderHints
Style * BorderWidth 2, HandleWidth 2
Style * SnapAttraction 13 SameType Screen
Style * Font "xft:Sans:pixelsize=13:Bold"
Style * ForeColor darkgray, BackColor #292B2B
Style * HilightFore white, HilightBack #292B2B
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:Sans:pixelsize=15"
MenuStyle * Foreground white, Background #292B2B
MenuStyle * ActiveFore white, HilightBack #215D9C
MenuStyle * VerticalItemSpacing 4 6, VerticalTitleSpacing 0 4
TitleStyle ActiveUp solid #292B2B -- Flat
TitleStyle ActiveDown solid #292B2B -- Flat
TitleStyle Inactive solid #292B2B -- 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
# Close/minimize/maximize on button click
DestroyFunc CloseButton
AddToFunc CloseButton
+ C Close
DestroyFunc IconifyButton
AddToFunc IconifyButton
+ C Iconify
# Remove borders when maximize (button)
DestroyFunc MaximizeButton
AddToFunc MaximizeButton
+ C Current (!Maximized) WindowStyle HandleWidth 0
+ C Current (!Maximized) WindowStyle BorderWidth 0
+ C Current (!Maximized) UpdateStyles
+ C Current (Maximized) WindowStyle HandleWidth 2
+ C Current (Maximized) WindowStyle BorderWidth 2
+ C Current (Maximized) UpdateStyles
+ C Current Maximize
Mouse 1 1 A CloseButton
Mouse 1 3 A IconifyButton
Mouse 1 5 A MaximizeButton
##########Titlebar actions
# Remove borders when maximize (function)
DestroyFunc MaximizeFunc
AddToFunc MaximizeFunc
+ I Current (!Maximized) WindowStyle HandleWidth 0
+ I Current (!Maximized) WindowStyle BorderWidth 0
+ I Current (!Maximized) UpdateStyles
+ I Current (Shaded) WindowShade off
+ I Current (Maximized) WindowStyle HandleWidth 2
+ I Current (Maximized) WindowStyle BorderWidth 2
+ I Current (Maximized) UpdateStyles
+ I Current Maximize
# Move or raise with titlebar single click, maximize with double click.
DestroyFunc MaximizeOrMove
AddToFunc MaximizeOrMove
+ I Raise
+ I Focus
+ D MaximizeFunc
+ M ThisWindow (Maximized) MaximizeFunc
+ M TestRc (Match) WarpToWindow 50 1
+ M Move
Mouse 1 T A MaximizeOrMove
# Window shade with Super+PgUp/PgDown
Key Prior A 4 WindowShade on
Key Next A 4 WindowShade off
# Window shade with titlebar scroll
Mouse 4 T A WindowShade on
Mouse 5 T A WindowShade off
##########Lower with super+titlebar left mouse click
DestroyFunc MoveLower
AddToFunc MoveLower
+ I Lower
+ M Move
Mouse 1 T 4 MoveLower
##########Options menu: Super+middle click window or titlebar/Super+Space
# Toggle OnTop with Lower
DestroyFunc LowerTo4
AddToFunc LowerTo4
+ I Layer 0 4
+ I Lower
DestroyMenu WindowOptions
AddToMenu WindowOptions
+ " Lower" LowerTo4
+ " On Top" Layer 0 6
+ "" Nop
+ " Minimize" Iconify
+ " Maximize" MaximizeFunc
+ "" 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 2 W 4 Menu WindowOptions mouse -1p -1p
Mouse 3 T A Menu WindowOptions mouse 0p 0p
Key Space A 4 Menu WindowOptions
##########Desktop: empty left click, right click -- desktop menu
DestroyMenu Power
AddToMenu Power
+ "Cancel" Nop
+ "Reboot" Exec shutdown -r now
+ "Power Off" Exec shutdown now
DestroyMenu RootMenu
AddToMenu RootMenu " FVWM " Title
+ " &Identify" Module FvwmIdent
+ "" Nop
+ " &Console" FvwmConsole
+ "" Nop
+ " &Config" Exec xterm -e vim $HOME/.fvwm/config
+ "" Nop
+ " &Restart" Restart
+ "" Nop
+ " &Power" Popup Power
+ "" Nop
+ " &Quit" FvwmForm FvwmForm-QuitVerify
Mouse 1 R A Nop
Mouse 3 R A Menu RootMenu mouse -1p -1p
Key grave A 4 Menu RootMenu
##########Move windows with Super+left mouse click
DestroyFunc FocusWhenMove
AddToFunc FocusWhenMove
+ I Raise
+ I Focus
+ M ThisWindow (Maximized) MaximizeFunc
+ M Move
Mouse 1 WS 4 FocusWhenMove
##########Resize windows with Super+right mouse click
DestroyFunc FocusWhenResize
AddToFunc FocusWhenResize
# + I Raise
+ I Focus
+ I Current (Maximized) WindowStyle HandleWidth 2
+ I Current (Maximized) WindowStyle BorderWidth 2
+ I Current (Maximized) UpdateStyles
+ I Resize Direction Automatic
Mouse 3 WST 4 FocusWhenResize
##########Focus but don't raise with super+mouse wheel
Mouse 4 W 4 Focus
Mouse 5 W 4 Focus
##########Scroll Desks with Ctrl+Super+PgUp-PgDn/mouse wheel
Key Prior A C4 Desk -1 0 0 3
Key Next A C4 Desk +1 0 0 3
Mouse 4 A C4 Desk -1 0 0 3
Mouse 5 A C4 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
##########Alt+Tab
DestroyFunc WindowListFunc
AddToFunc WindowListFunc
+ I Iconify off
+ I FlipFocus
+ I Raise
# + I WarpToWindow 50-50w 50-50w
Key Tab A M WindowList Root c c NoGeometry, NoCurrentDeskTitle,\
IconifiedAtEnd, CurrentAtEnd, MaxLabelWidth 80
##########Show desktop with Ctrl+Alt+D
DestroyFunc ShowDesktop
AddToFunc ShowDesktop
+ I All (CurrentPage, !Iconic, !conky) Iconify
Key D A CM ShowDesktop
##########Tiling:
# Super + Left arrow
DestroyFunc TileLeft
AddToFunc TileLeft
+ I Current (!Shaded, !Maximized) WindowStyle HandleWidth 0
+ I Current (!Shaded, !Maximized) WindowStyle BorderWidth 0
+ I Current (!Shaded, !Maximized) UpdateStyles
+ I Current (!Shaded, Maximized) WindowStyle HandleWidth 2
+ I Current (!Shaded, Maximized) WindowStyle BorderWidth 2
+ I Current (!Shaded, Maximized) UpdateStyles
+ I Current (!Shaded) Maximize 50 100
+ I Current (Maximized, !Shaded) Move 0 0
Key Left A 4 TileLeft
# Super + Right arrow
DestroyFunc TileRight
AddToFunc TileRight
+ I Current (!Shaded, !Maximized) WindowStyle HandleWidth 0
+ I Current (!Shaded, !Maximized) WindowStyle BorderWidth 0
+ I Current (!Shaded, !Maximized) UpdateStyles
+ I Current (!Shaded, Maximized) WindowStyle HandleWidth 2
+ I Current (!Shaded, Maximized) WindowStyle BorderWidth 2
+ I Current (!Shaded, Maximized) UpdateStyles
+ I Current (!Shaded) Maximize 50 100
+ I Current (Maximized, !Shaded) Move 50 0
Key Right A 4 TileRight
##########Other key bindings
# Unmaximize or minimize
DestroyFunc UnmaximizeIconify
AddToFunc UnmaximizeIconify
+ I ThisWindow (Maximized) MaximizeFunc
+ I TestRc (!Match) Iconify
# Unmaximize function for hotkey
DestroyFunc IconifyKey
AddToFunc IconifyKey
+ I ThisWindow Iconify
# Close function for hotkey
DestroyFunc CloseKey
AddToFunc CloseKey
+ I ThisWindow Close
# Maxmimize only (and remove borders)
DestroyFunc MaximizeTrue
AddToFunc MaximizeTrue
+ I Current (!Maximized) WindowStyle HandleWidth 0
+ I Current (!Maximized) WindowStyle BorderWidth 0
+ I Current (!Maximized) UpdateStyles
+ I Current (!Maximized) Maximize On
# Move hotkey
DestroyFunc MoveKey
AddToFunc MoveKey
+ I Move
#Keyname Context Modifiers Function Description
Key Up A 4 MaximizeTrue #Super+Up arrow -- maximize only
Key Down A 4 UnmaximizeIconify #Super+Down -- unmaximize or minimize
Key R A 4 MoveKey #Super+R -- move
Key R A S4 Resize Direction SE #Shift+Super+R -- resize
Key W A 4 MaximizeFunc #Super+W -- maximize toggle
Key A A 4 IconifyKey #Super+A -- minimize
Key S A 4 Lower #Super+S -- lower
Key Q A 4 CloseKey #Super+Q -- close
Key R A C4 Restart #Ctrl+Super+R -- restart FVWM
# Keybindings for apps
Key X A CM Exec xkill
Key KP_Multiply A C Exec mixer vol mute
Key KP_Subtract A C Exec mixer vol -7
Key KP_Add A C Exec mixer vol +7
Key T A C4 Exec transset -t 0.8
Key F2 A M Exec gmrun
Key L A CM Exec xscreensaver-command -lock
Key Print A C4 Exec gnome-screenshot -i
Key Print A S Exec gnome-screenshot -d 3 -p
Key Print A 4 Exec gnome-screenshot -w -b -p -e shadow -d 3
Key Print A C Exec gnome-screenshot -a
Key grave A C Exec xterm -geometry 80x35 -fg white -bg "#292B2B" -name htop -e htop
Key W A C4 Exec notify-send "$(ansiweather -a false)"
Key W A CS4 Exec notify-send "$(ansiweather -a false -F)"
##########FVWM Modules
# FVWM banner
*FvwmBanner: NoDecor
*FvwmBanner: Pixmap Logo.png
# FVWM Identify app from desktop menu
Style FvwmIdent WindowListSkip, NeverFocus, !Title
*FvwmIdent: Font "xft:Sans:pixelsize=13"
*FvwmIdent: Fore white
*FvwmIdent: Back #292B2B
*FvwmIdent: MinimalLayer 6
# FVWM quit dialog
Style FvwmForm-QuitVerify WindowListSkip, !Title
*FvwmFormDefault: Font "xft:Sans:pixelsize=13"
*FvwmFormDefault: ButtonFont "xft:Sans:pixelsize=13"
*FvwmFormDefault: TimeoutFont "xft:Sans:pixelsize=13"
*FvwmFormDefault: Fore white
*FvwmFormDefault: Back #292B2B
*FvwmFormDefault: ItemFore white
*FvwmFormDefault: ItemBack #292B2B
# FVWM animation (Frame, Lines, Flip, Turn, Zoom3D, Twist Random)
*FvwmAnimate: Effect Frame
*FvwmAnimate: Width 2
*FvwmAnimate: Delay 3
*FvwmAnimate: Iterations 65
##########Apps
Style panel NeverFocus, EWMHIgnoreStackingOrderHints, StaysOnTop, FixedPosition, NeverFocus, !Closable
Style Gmrun WindowListSkip, !UsePPosition, StaysOnTop, PositionPlacement Center
Style XTerm MiniIcon term.png, ResizeHintOverride, TitleFormat %n (%t)
Style URxvt MiniIcon urxvt.png, ResizeHintOverride, TitleFormat %n (%t)
Style desktop_window EWMHIgnoreStackingOrderHints, StaysOnBottom
Style Nautilus NoDecorHint, NakedTransient, TitleFormat %n (%t)
Style Gthumb UseStyle Nautilus
Style File-roller NoDecorHint, TitleFormat %c
Style Totem UseStyle File-roller
Style Evince UseStyle File-roller
Style Gnome-screenshot NoDecorHint, TitleFormat
Style Python NoDecorHint
Style <unknown> UseStyle Python
Style Gcolor2 TitleFormat %n (%t)
Style Pcmanfm TitleFormat %n (%t)
#Style Geany TitleFormat %n (%t)
Style chromium-browser NoPPosition
Style Plank EWMHIgnoreStackingOrderHints, StaysOnBottom
Style Altyo EWMHIgnoreStackingOrderHints, StaysOnTop
Style Cairo-dock UnManaged
Style Stjerm SloppyFocus
Style Midori ResizeHintOverride
#Style conky !Iconifiable, !Title, Sticky, NeverFocus, StaysOnBottom
# 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
# Stjerm position fix
#+ I ThisWindow ("Stjerm") AnimatedMove 0 0
Here is my gtk theme from screenshots, use it with GTK2/GTK3.20+, it wont work with GTK 3.1*, it is based on Numix theme.
s000.tinyupload.com/index.php?fi … 2369753089
Also I use compton as composote manager, here is my ~/.config/compton.conf
dbus = true;
backend = "xrender";
vsync = "opengl";
xrender-sync = true;
refresh-rate = 60;
unredir-if-possible = true;
paint-on-overlay = true;
glx-no-stencil = true;
detect-transient = true;
sw-opti = true;
detect-rounded-corners = true;
use-ewmh-active-win = true;
detect-client-opacity = true;
detect-client-leader = true;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
shadow = true;
clear-shadow = true;
no-dnd-shadow = true;
no-dock-shadow = true;
shadow-ignore-shaped = true;
shadow-radius = 5;
shadow-opacity = 1;
shadow-offset-x = -8;
shadow-offset-y = -8;
shadow-exclude = [
# "!name ~= ''",
"class_g *?= 'Fvwm'",
"class_g *?= 'Conky'",
"class_g %= '*.exe'",
"class_g = 'Mate-notification-daemon'",
"class_g = 'Notification-daemon'",
"class_g = 'Gnome-screenshot'",
"class_g = 'Wine'",
"class_g = 'Firefox' && argb",
"class_g = 'Seamonkey' && argb",
"class_g = 'Thunderbird' && argb",
"class_g = 'chromium-browser' && argb",
"class_g = 'Plank'",
"_GTK_FRAME_EXTENTS@:c"
];
fading = true;
fade-delta = 5;
no-fading-openclose = false;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [
# "!name ~= ''",
"class_g %= '*.exe'",
# "class_g = 'Altyo'",
"class_g = 'Wine'"
];
frame-opacity = 1;
inactive-opacity = 1;
#blur-background = false;
#blur-background-frame = true;
#blur-background-fixed = false;
#blur-background-exclude = [
# "window_type = 'dock'",
# "class_i = 'desktop_window'",
# "class_g = 'Gnome-terminal'",
# "class_g = 'XTerm'",
# "class_g = 'Stjerm'"
#];
focus-exclude = [ ];
invert-color-include = [ ];
wintypes:
{
# combo = { fade = true; shadow = true; };
# notify = { fade = true; shadow = true; };
#
tooltip = { fade = false; shadow = true; opacity = 0.9; };
#
popup_menu = { fade = false; shadow = true; };
dropdown_menu = { fade = false; shadow = true; };
#
# normal = { fade = true; shadow = true; };
# dialog = { fade = true; shadow = true; };
#
# splash = { fade = true; shadow = true; };
# utility = { fade = true; shadow = true; };
# menu = { fade = true; shadow = true; };
# toolbar = { fade = true; shadow = true; };
# dock = { fade = true; shadow = true; opacity = 0.90; };
# desktop = { fade = true; shadow = true; };
# unknown = { fade = true; shadow = false; };
# dnd = { fade = true; shadow = true; };
# { fade = false; shadow = true; opacity = 0.9; focus = true; };
};