# 4DWM-like config for FVWM
  # By Chris <[email protected]>
  # Based on work by Yaxkukmo
  # Modified by jirka <[email protected]>
  #################
  # Image path
  #################
  #
  ImagePath $[HOME]/.fvwm/icons:+
  #Colorset 1 fg black, bg black, SGradient 4 1 red 5 grey, dither
  Colorset 8 fg black, bg #a0a0a0
  Colorset 13 fg black, bg black
  Colorset 10 fg black, bg #808080
  Colorset 11 fg black, bg #b0b0b0
  # inactive windows
  Colorset 15 fg black, bg  #808080, sh #292929
  Colorset 3 fg black, bg  #808080
  # active windows
  Colorset 16 fg black, bg  #a59f80
  #Colorset 4 fg black, bg  #a59f80
  Colorset 17 fg black, bg #808080, pixmap unknown.xpm
  #
  #################
  # default style
  #################
  Style *           !MWMFunctions, MWMDecor, HintOverride, !MWMBorders
  #
  #################
  # style for toolchest and sticky applications
  #################
  #
  Style toolchest Title, !Handles, WindowShade, !Button 1, !Button 2, !Button 4, !Closable, Sticky, !StickyStippledTitle, WindowListSkip, !Closable
  Style FvwmButtons Title, !Handles, WindowShade, !Button 1, !Button 2, !Button 4, Sticky, !StickyStippledTitle, WindowListSkip, !Closable
  Style *FvwmPager NoTitle, NoHandles, WindowShade, Button 1, !Button 2, Button 4, Sticky, !StickyStippledTitle, WindowListSkip, BorderWidth 0
  #Style rclock Title, Handles, WindowShade, Button 1, !Button 2, !Button 4, Sticky, !StickyStippledTitle, WindowListSkip
  #Style xtdesktop NoTitle, NoHandles, Sticky, WindowListSkip, staysOnBottom
  Style *stalonetray* NoTitle, !Handles, WindowShade, Sticky, WindowListSkip, BorderWidth 0
  #
  #################
  # IconSize needed to snapshots as icons
  #################
  #
  SetEnv fvwm_icon_size 93
  #
  #################
  # Starting xterm iconified
  #################
  #
  Style uxterm StartNormal
  AddToFunc StartFunction I Test (init) Exec exec xterm -bg gray10 -fg gray90 -iconic -geometry +0-0 -title "UNIX Console" -e zsh
  #
  #################
  #I think it is posible to get red cursor
  #################
  #
  CursorStyle root left_ptr white red
  OpaqueMoveSize -1
  SnapAttraction 8 SameType
  SnapGrid 1 1
  MoveThreshold 3
  BugOpts FlickeringMoveWorkAround On
  #
  #################
  # here we got SGI colors and font for windows and menu
  #################
  #
  DefaultFont "-*-helvetica-bold-*-*-*-14-*-*-*-*-*-*-*"
  Style *  BorderWidth 7, HandleWidth 7
  TitleStyle LeftJustified
  TitleStyle Height 25
  Style * NoDecorHint
  Style * GNOMEIgnoreHints
  Style * MouseFocusClickRaises
  Style * Colorset 15
  Style * HilightColorset 16
  BorderStyle -- !NoInset
  MenuStyle * PopupOffset -5 -1
  MenuStyle *  HilightBack #a3a3a3
  MenuStyle * MenuColorset 11
  MenuStyle * Hilight3DThick
  MenuStyle * !SeparatorsLong
  MenuStyle * BorderWidth 2
  *FvwmIdent: Font  "-*-helvetica-bold-*-*-*-14-*-*-*-*-*-*-*"
  #
  #################
  # Here are vector buttons and width of the border and hadlers
  #ButtonStyle 2         \
  #################
  #
  ButtonStyle 2         \
     Vector 9 0+5px100-6p@3 100-7px100-6p@3 \
     100-7px-0+4p@3 0+5px0+4p@3 0+5px100-5p@3 \
     0+7px100-5p@2 \
     0+8px100-5p@3 100-6px100-5p@3 100-6px-0+6p@3
  ButtonStyle 4          \
      Vector 9 50-2px50+1p@3 50+2px50+1p@3 50+2px50-3p@3 50-2px50-3p@3 50-2px50+2p@3 \
     50-0px50+2p@2 \
     50-0px50+2p@3 50+3px50+2p@3 50+3px50-1p@3
  ButtonStyle 1         \
     Vector 9 0+4px50+1p@3 100-6px50+1p@3 100-6px50-2p@3 0+4px50-2p@3 0+4px50+2@3 \
     0+5px50+2p@2 \
     0+6px50+2p@2 100-5px50+2p@3 100-5px50@3
  #
  #################
  # What should be done after click on particular button
  #################
  #
  Mouse 0 1 N Menu WindowMenu
  Mouse 0 2 A Maximize 100 100
  Mouse 0 4 A Iconify
  Mouse 1 R A Menu FvwmMenuRoot
  Mouse 1 A M  Move
  #Mouse 0 4 A   Thumbnail
  Mouse 2              R       A       Menu WindowMenu Nop
  Mouse 3              R       A       WindowList
  #
  #################
  # setting Icons
  #################
  #
  SnapGrid 5
  BugOpts RaiseOverUnmanaged on
  EdgeScroll 0 0
  EdgeResistance 200 10000
  EdgeThickness 1
  Style ** Icon yax_default.xpm
  Style * IconBox 1000x150+240+0, IconGrid 1 1, IconFill Left Top
  Style * IconSize 90 70 -1 -1
  Style * IconBackgroundColorset 17
  Style * IconBackgroundRelief 2
  Style * IconBackgroundPadding 2
  #Style * IconSize 95 75 -1 -1
  Style * IconTitle, IndexedWindowName
  Style * WindowShadeSteps 0
  Style * IconFont "-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*"
  #
  #################
  # Icons applications
  #################
  #
  Style * IconOverride
  #Style * DecorateTransient
  Style xmmix Icon yax_audio.xpm
  Style uxterm Icon winterm.xpm
  Style xterm Icon winterm.xpm
  Style Adminterm Icon winterm.xpm
  Style Remote Icon yax_ssh.xpm
  Style iceweasel Icon Firefox.xpm
  Style *Thumbs* Icon fm.xpm
  Style *player* Icon yax_audio.xpm
  Style *XnView* Icon yax_view.xpm
  Style *Viewer* Icon yax_view.xpm
  Style xfontsel Icon font_select.xpm
  Style xmcalendar Icon calendar.xpm
  Style Calculator* Icon Xcalc.xpm
  Style gimp Icon yax_gfx.xpm
  Style gmemusage* Icon gmemusage.xpm
  Style Evince* Icon yax_view.xpm
  Style Xpdf Icon acroread.xpm
  Style Kopete Icon web_jump.xpm
  Style Totem Icon MPlayer.xpm
  Style mplayer Icon MPlayer.xpm
  Style NEdit Icon edit.xpm
  Style *FvwmPager Icon yax_pager.xpm
  Style xmag Icon distort.xpm
  #Style rox Icon ~/IconCatalog/ dirview.xpm
  Style rox Icon fm.xpm
  #
  # iconify and deiconify
  #
  AddToFunc DeiconifyAndRearrange
   + C Iconify off
   + C All (CurrentPage, Iconic) PlaceAgain Icon
  AddToFunc IconFunc
   + C DeiconifyAndRearrange
   + M Raise
   + M Move
   + D DeiconifyAndRearrange
  Mouse 1 I A DeiconifyAndRearrange
  #
  #################
  # root menu
  #################
  #
  *FvwmScript: DefaultFont  "-*-helvetica-bold-*-*-*-14-*-*-*-*-*-*-*"
  DestroyMenu "FvwmMenuRoot"
  AddToMenu "FvwmMenuRoot" "root Menu" Title
  + "Winterm" Exec exec uxterm
  + " E&xit 4Dwm " Popup FvwmExitFvwmPopup
  DestroyMenu "FvwmExitFvwmPopup"
  AddToMenu FvwmExitFvwmPopup "Exit 4Dwm?" Title
  + "&Restart"   Restart fvwm -f ~/.fvwm2rc
  + "&Quit"       FvwmForm FvwmForm-QuitVerify
  #
  #################
  # SGI window menu
  #################
  #
  DestroyMenu WindowMenu
  AddToMenu WindowMenu
  + " Window Options " Title
  + "&Iconify"      Iconify On
  + "R&aise"      Raise
  + "&Lower"      Lower
  + "&Stick"      Stick
  + "Shade"      WindowShade
  + "Ma&ximize"   Maximize 100 100
  + "Maximize &Horizontally"   Maximize 100 0
  + "Maximize &Vertically"   Maximize 0 100
  + "I&dentify"    FvwmIdent
  + ""               Nop
  + "Kill Window"         Destroy
  + "Exit Window"      Delete
  #
  # Definition for  multiple desktop
  #
  DesktopSize 4x2
  DestroyModuleConfig FvwmPager: *
  *FvwmPager: Colorset * 1
  #*FvwmPager: HilightColorset * 4
  *FvwmPager: WindowColorsets 2 10
  *FvwmPager: Window3DBorders
  *FvwmPager: SmallFont none
  *FvwmPager: Hilight  #a59f80
  *FvwmPager: DeskHilight
  *FvwmPager: SolidSeparators
  *FvwmPager: BalloonFont "-*-helvetica-bold-*-*-*-14-*-*-*-*-*-*-*"
  *FvwmPager: Balloons All
  *FvwmPager: BalloonYOffset +2
  *FvwmPager: BalloonBorderWidth 1
  *FvwmPager: UseSkipList
  *FvwmPager: MoveThreshold 3
  *FvwmPager: BalloonStringFormat %c
  *FvwmPager: WindowBorderWidth 2
  *FvwmPager: NoMiniIcons
  *FvwmPager: Geometry 220x120-5-5
  *FvwmPager: NoDecor
  DestroyConfig FvwmBanner: *
  *FvwmBanner: NoDecor
  #*FvwmBanner: Pixmap /home/yaxkukmo/.fvwm/sgi_logo.xpm
  #####
  # Name:     Thumbnail
  # Purpose:  Iconify a window with a reduced screenshot of the application
  #           Window, looks really cool.
  #
  #+ I PipeRead "xwd -silent -id $[w.id] | convert -resize
  $[fvwm_icon_size] x $[fvwm_icon_image]> -border 1x1 -frame 1x1 \
  #
  ##################
  DestroyFunc Thumbnail
  AddToFunc Thumbnail
  + I Raise
  #+ I PipeRead "xwd -silent -id $[w.id] | convert -resize
  $[fvwm_icon_size] x $[fvwm_icon_image]! -border 1x1 -frame 1x1 \
  #    -mattecolor black -quality 0 xwd:-png:$[HOME]/.fvwm/icon.tmp.$[w.id].png \
  #    && echo WindowStyle IconOverride, Icon
  $[HOME]/.fvwm/icon.tmp.$[w.id].png, StaysOnBottom \
  #    || echo Nop"
  + I Iconify
  DestroyFunc DeThumbnail
  AddToFunc DeThumbnail
  + I DestroyWindowStyle
  + I Exec exec rm -f $HOME/.fvwm/icon.tmp.$[w.id].png
  # FIXME: This will destroy all Windowstyle settings.
  *FvwmEvent: deiconify DeThumbnail
  #
  #  Getting toolchest
  #
  Style Toolchest BorderWidth 2
  Style Toolchest BorderColorSet 13
  Style Toolchest HilightBorderColorSet 13
  Style * SloppyFocus
  DestroyMenu "ToolApps"
  AddToMenu "ToolApps"
  #+ "Dictionaries"    Popup ToolAppsDictionaries
  #+ "LaTeX2e"       Popup ToolAppsLatex
  + "Office"    Popup ToolAppsOffice
  + "Graphics"       Popup ToolAppsGraphics
  #+ "Multimedia"       Popup ToolAppsMultimedia
  #+ "Burn cd"      Exec exec k3b
  DestroyMenu "ToolAppsDictionaries"
  AddToMenu "ToolAppsDictionaries"
  + "Dictionary"    Exec exec stardict
  #+ "From polish to english"    Exec exec urxvt -n pol-eng -e sap -p
  #+ "From english to polish"    Exec exec urxvt -n eng-pol -e sap -a
  DestroyMenu "ToolAppsLatex"
  AddToMenu "ToolAppsLatex"
  + "Document Viewer"    Exec exec atril
  + "Pdf Viewer"    Exec exec xpdf
  DestroyMenu "ToolAppsOffice"
  AddToMenu "ToolAppsOffice"
  + "OpenOffice Word"    Exec exec lowriter
  + "OpenOffice Excel"    Exec exec localc
  + "OpenOffice PowerPoint"    Exec exec loimpres
  + "PDF Viewer"    Exec exec atril
  DestroyMenu "ToolAppsGraphics"
  AddToMenu "ToolAppsGraphics"
  + "The Gimp"    Exec exec gimp
  #+ "Inkscape"    Exec exec inkscape
  #+ "Dia"    Exec exec dia
  + "Picture Browser"    Exec exec geeqie
  DestroyMenu "ToolAppsMultimedia"
  AddToMenu "ToolAppsMultimedia"
  + "Picture Browser"    Exec exec geeqie
  #+ "Audio Player"    Exec exec beep-media-player
  #+ "Video Player"    Exec exec vlc
  DestroyMenu "ToolDesktop"
  AddToMenu "ToolDesktop"
  + "Customize"       Popup ToolCustomize
  + "Open Unix Shell"   Exec exec xterm -n Winterm -name Winterm -geometry 80x24
  + "Open Admin Shell"   Exec exec xterm -name Adminterm -geometry 80x24 -n Adminterm -bg \#440000 -e su -
  + "Open X Terminal Emulator"   Exec exec x-terminal-emulator
  + "File Manager"   Exec exec nautilus
  + ""          Nop
  #+ "Run Shadow Desktop"    Exec exec xcompmgr -c 1
  #+ "Stop Shadow Desktop" Exec exec killall xcompmgr
  + "Open 4Dwm Console"    Module FvwmConsole
  #+ "Lock Desktop"    Nop
  + ""          Nop
  #+ "Pager"          Module FvwmPager
  #+ "Go To Page 1"      GoToPage 0 0
  #+ "Go To Page 2"      GoToPage 1 0
  #+ ""          Nop
  + "Audio Events On"          Module FvwmEvent
  #+ "Control Audio"    Exec exec xmmix
  DestroyMenu "ToolCustomize"
  AddToMenu "ToolCustomize"
  + "Background Color"    Popup ToolDesktopBg
  + "Edit Config File"    Exec exec xterm -n Config -e vim ~/.fvwm/fvwmrc
  + "Edit StartUp File"    Exec exec xterm -n StartUp -e vim ~/.Xsession
  + "Edit XResources File" Exec exec xterm -n Xresources -e vim ~/.Xdefaults
  + "Apply XResources"    Exec exec xrdb ~/.Xdefaults
  DestroyMenu "ToolDesktopBg"
  AddToMenu "ToolDesktopBg"
  + "Indy"   Exec exec xsetroot -solid DodgerBlue3
  + "Crimson"   Exec exec xsetroot -solid SkyBlue4
  + "O2"      Exec exec xsetroot -solid SteelBlue4
  + "Indigo"   Exec exec xsetroot -solid RoyalBlue4
  + "Octane"   Exec exec xsetroot -solid DarkCyan
  + "Onyx"   Exec exec xsetroot -solid DarkSlateBlue
  + "Black"   Exec exec xsetroot -solid black
  DestroyMenu "ToolUtilities"
  AddToMenu "ToolUtilities"
  #+ "Search ..."   Exec exec gnome-search-tool
  + "Text Editor" Exec exec gvim
  #+ "Calendar"   Exec exec xcalendar
  + "Clipboard"   Exec exec xclipboard
  + "Font Viewer" Exec exec xfontsel
  + "Choose Window To Destroy" Exec exec xkill
  + "Magnify Part Of Desktop" Exec exec xmag
  DestroyMenu "ToolSystem"
  AddToMenu "ToolSystem"
  #+ "Hardware Info"      Exec exec urxvt -n Hinv -e sudo hinv
  #+ "System Monitor"   Exec exec gnome-system-monitor
  #+ "Disc Usage"      Exec exec baobab
  + "Console Process Monitor"      Exec exec xterm -n Top -e top
  + "Memory usage"   Exec exec xosview
  + "System Restart"   Nop
  + "System Halt"      Nop
  + "Log Out"      Nop
  DestroyMenu "ToolHelp"
  AddToMenu "ToolHelp"
  + "X Man Viewer"      Exec exec xman
  + "Debian GNU/Linux"      Exec exec firefox http://www.debian.org
  DestroyMenu "ToolInternet"
  AddToMenu "ToolInternet"
  + "Web Browser"      Exec exec firefox
  #+ "Internet Communicator"      Exec exec kopete
  #+ "Ftp client"      Exec exec urxvt -n Ftp -e lftp
  *Toolchest: Columns 1
  *Toolchest: Rows 6
  *Toolchest: BoxSize smart
  *Toolchest: Padding 11 0
  *Toolchest: Frame 1
  *Toolchest: Font "-*-helvetica-bold-*-*-*-14-*-*-*-*-*-*-*"
  *Toolchest: Colorset 11
  *Toolchest: ActiveColorset 8
  *Toolchest: ButtonGeometry 105x26+10+6
  *Toolchest: (Right, Icon toolIcon.xpm, Title (Side, Left) Desktop, Action (Mouse 1) \
     `Menu ToolDesktop rectangle $widthx$height+$left+$top +$widthp-5p +1p`)
  *Toolchest: (Right, Icon toolIcon.xpm, Title (Side, Left) Utilities, Action (Mouse 1) \
         `Menu ToolUtilities rectangle $widthx$height+$left+$top +$widthp-5p +1p`)
  *Toolchest: (Right, Title (Side, Left) Internet, Icon toolIcon.xpm Action (Mouse 1) \
         `Menu ToolInternet rectangle $widthx$height+$left+$top +$widthp-5p +1p`)
  *Toolchest: (Right, Title (Side, Left) System, Icon toolIcon.xpm, Action (Mouse 1) \
         `Menu ToolSystem rectangle $widthx$height+$left+$top +$widthp-5p +1p`)
  *Toolchest: (Right, Title (Side, Left) Apps, Icon toolIcon.xpm, Action (Mouse 1) \
         `Menu ToolApps rectangle $widthx$height+$left+$top  +$widthp-5p +1p`)
  *Toolchest: (Right, Title (Side, Left) Help, Icon toolIcon.xpm, Action (Mouse 1) \
         `Menu ToolHelp rectangle $widthx$height+$left+$top  +$widthp-5p +1p`)
  #
  # events
  #
  DestroyModuleConfig FvwmEvent: *
  # replace rplay by a sound player that can play .au sound file
  #*FvwmEvent: Cmd "Exec exec aplay "
  #*FvwmEvent: StartDelay 3
  #*FvwmEvent: Delay 1
  #*FvwmEvent: startup          "~/.fvwm/sounds/O2start.wav"
  #*FvwmEvent: add_window       "~/.fvwm/sounds/start-app.wav"
  #*FvwmEvent: destroy_window   "~/.fvwm/sounds/critical.wav"
  #*FvwmEvent: iconify          "~/.fvwm/sounds/open-win.wav"
  #*FvwmEvent: deiconify        "~/.fvwm/sounds/attention.wav"
  #*FvwmEvent: windowshade      "~/.fvwm/sounds/start-app.wav"
  #*FvwmEvent: dewindowshade    "~/.fvwm/sounds/attention.wav"
  #
  # start additional applications and fvwm modules
  #
  AddToFunc StartFunction
  #+ I Module FvwmEvent
  + I Module FvwmAuto 750
  + I Module FvwmButtons Toolchest
  + I Exec stalonetray &
  + I Exec mate-keyboard-properties &
  + I Exec redshift-gtk &
  + I Exec xsetroot -solid black &
  + I Exec nautilus --no-desktop &
  #+ I Module FvwmPager 0 0
  #+ I Test (init) Exec exec xtdesk
  #+ I Test (init) Exec exec rclock -geometry 170x175-5+5 -update 60 -fg black -bg \#a0a0a0
  + I Module FvwmPager
  #+ I Module FvwmBanner

##############################################################################
###########################################################################
# Now some keyboard shortcuts.

# Arrow Keys
# press arrow + control anywhere, and scroll by 1 page
Key Left        A       CM      Scroll -100 0
Key Right       A       CM      Scroll +100 +0
Key Up          A       CM      Scroll +0   -100
Key Down        A       CM      Scroll +0   +100

# press shift arrow + control anywhere, and move the pointer by 1% of a page
Key Left        A       SC      CursorMove -1 0
Key Right       A       SC      CursorMove +1 +0
Key Up          A       SC      CursorMove +0   -1
Key Down        A       SC      CursorMove +0   +1

# press shift arrow + meta key, and move the pointer by 1/10 of a page
Key Left        A       SM      CursorMove -10 +0
Key Right       A       SM      CursorMove +10 +0
Key Up          A       SM      CursorMove +0   -10
Key Down        A       SM      CursorMove +0   +10

# press ctrl + meta + number key, and move the selected page
Key 1 A CM GotoPage 0 0
Key 2 A CM GotoPage 1 0
Key 3 A CM GotoPage 2 0
Key 4 A CM GotoPage 3 0
Key 5 A CM GotoPage 0 1
Key 6 A CM GotoPage 1 1
Key 7 A CM GotoPage 2 1
Key 8 A CM GotoPage 3 1

# Keyboard accelerators
Key F1          A       M       Raise
Key F2          A       M       Popup WindowMenu
#Key F3         A       M       Lower
Key F3          A       M       Move
Key F3          A       C       Resize
Key F4          A       M       Close
#Key Tab                A       M       CirculateUp
#Key Tab                A       SM      CirculateDown
###Key Tab A M WindowList "Prev FlipFocus" # Previous version
Key Tab A M Windowlist (CurrentPage) root c c CurrentDesk SelectOnRelease Alt_L NoHotkeys NoCurrentDeskTitle NoGeometry CurrentAtEnd
Key Escape A M Windowlist (CurrentPage) root c c CurrentDesk SelectOnRelease Alt_L NoHotkeys NoCurrentDeskTitle NoGeometry CurrentAtEnd
Key F7          A       M       Move
Key F8          A       M       Resize
Key F9          A       M       Iconify
Key F10         A       M       Maximize
#Key F11                A       N       WindowList 1
Key F12         A       N       WindowList 2
Key F12         A       M       WindowShade
Key m                   A       M       Maximize 0 100
Key i                   A       M       Iconify

Key     x                       A       MC      exec xterm -bg black -fg wheat -geometry -0-0 -tn iris-ansi
Key     z                       A       MC      exec xterm -bg black -fg wheat -geometry +0-0 -tn iris-ansi
#Key    x                       A       MC      exec /usr/sbin/xwsh -noscrollbar -bg black -fg wheat -geometry 80x24-0-0 -title "Right Terminal"
#Key    z                       A       MC      exec /usr/sbin/xwsh -noscrollbar -bg black -fg wheat -geometry 80x24+0-0 -title "Left Terminal"
Key     v                       A       MC      exec gvim
Key     w                       A       MC      exec firefox
#Key    s                       A       MC      exec /usr/sbin/xwsh -title "Midnight Commander" -noscrollbar -e /usr/nekoware/bin/mc