# Anthony DiSante's Fvwm config file
# http://nodivisions.com/tech/linux/fvwm/
#
# originally based on taviso's config file:
# http://dev.gentoo.org/~taviso/fvwm2rc.html
#
# Random notes:
# 'I' stands for "Immediate", and is executed as soon as the function is invoked.
# The action 'I' causes an action to be performed on the button-press, if the function is invoked with prior knowledge of which window to act on.
# 'M' stands for "Motion", i.e. if the user starts moving the mouse.
# 'C' stands for "Click", i.e., if the user presses and releases the mouse.
# 'H' stands for "Hold", i.e. if the user presses a mouse button and holds it down for more than ClickTime milliseconds.
# 'D' stands for "Double-click".
ImagePath ${HOME}/adata/programs/icons:/usr/share/icons:+
SetEnv fvwm_video_path $[HOME]/media/video
SetEnv fvwm_video_exec mplayer
SetEnv fvwm_audio_path $[HOME]/media/audio
SetEnv fvwm_audio_exec "beep-media-player --play"
SetEnv fvwm_image_path $[HOME]/media/images
SetEnv fvwm_image_exec xv
SetEnv fvwm_rom_path $[HOME]/stuff/zsnes
SetEnv fvwm_rom_exec zsnes
SetEnv fvwm_wallpaper_dir /home/falling/adata/lemmings/sights/wallpaper
#SetEnv fvwm_wallpaper $[fvwm_wallpaper_dir]/haiku.png
SetEnv fvwm_bible_path /home/falling/adata/lemmings/bible/kjv
SetEnv fvwm_bible_exec mozilla-go.sh
#####
# You can automatically move the viewport into adjacent pages when the pointer
# hits the screen edge, but I dont like this.
#
# EdgeThickness disables edge scrolling and EdgeCommand, which I never use. set this
# to 1 or 2 to enable them.
#################
EdgeResistance 15 100
EdgeThickness 0
#####
# http://www.fvwm.org/documentation/faq/#5.5
#################
IgnoreModifiers L25
#####
# You can use EwmhBaseStruts to stop Maximised windows from obscuring TaskBars/ButtonBars
# or anything else you always want to be visible.
#
# This Setting makes sure my ButtonBar on the left and taskbar along the bottom is always
# visible, if you would like some windows to ignore this setting when being placed or Maximized,
# you can set the EWMHPlacementIgnoreWorkingArea or EWMHMaximizeIgnoreWorkingArea Style options.
#
# you can also use the ewmhiwa flag on ceratin Maximize commands, so you could have one menu
# option for normal maximization, and one for full-screen maximization.
#################
EwmhBaseStruts 0 0 14 14
######
# Fvwm uses a default ClickTime of 150ms, which is way too short for me.
# A Click that lasts <= ClickTime is considered a `Click` in functions,
# > ClickTime is a `Hold`.
# Remember that if you have a function that has actions on Click (C) and
# DoubleClick (D), fvwm will have to wait at least this long so it can tell which
# action you are trying to make.
#################
ClickTime 200
DeskTopSize 2x2
CursorStyle default left_ptr
# for root menu and popup window menu
CursorStyle menu left_ptr
# root window
CursorStyle root left_ptr
# titlebar buttons
CursorStyle sys left_ptr
# titlebar itself
CursorStyle title left_ptr
# busy cursor (gumby on a cursor! my life is complete.)
CursorStyle wait gumby
#####
# OpaqueMoveSize allows you to stop Large windows from being moved opaquely,
# I like the effect, and have Cycles to burn, so all windows can use it.
#
# SnapAttraction lets nearby windows snap together, or snap to edges so that they
# are easier to align on your desktop, The default is off, if you set it too large
# it's annoying as hell, 3 pixels is just right.
#################
OpaqueMoveSize -1
SnapAttraction 3 SameType
######
# Use bash if it exists.
#################
Test (f /bin/bash) ExecUseShell /bin/bash
######
# Menu Settings.
#
# * PopupOffset allows you to control where submenus will appear, and
# whether they should overlap or not.
# * PopupDelay controls how long fvwm will wait before showing an sub
# menu, if you would rather click than just hover on the menu item, set
# this to 0, if you would rather the menus appear instantly use the PopupImmediately
# setting.
# * This menu uses a translucent Colorset, and Hilighted items are light
# blue with a single pixel border.
# * I changed the default ItemFormat to be a little more spacious.
#
# AutomaticHotKeys generates your HotKeys (Keys you can press when a menu opens to
# jump straight to an item) for you, you can write your own also, or disable them.
# I've gone off HotKeys recently, so it's disabled for now.
#
# Try adding fgsh xxxx to Colorset 1 to change the Colour of the Font shadow on Hilighted
# Menu entries.
#
# Anyone using lots of transparency in their theme will want to read these great tips
# from olicha (Olivier Chapuis, an fvwm developer) on efficiency and performance
# http://www.mail-archive.com/fvwm@hpc.uh.edu/msg02143.html
#################
Colorset 0 fg black, bg grey, Translucent #bdbac6 90
Colorset 1 fg black, bg #6b83b5, hi #dcdcdc, sh #dcdcdc
MenuStyle * Hilight3DThin, PopupOffset -10 100
#MenuStyle * Font "Shadow=1 1 SE:xft:Bitstream Vera Sans Mono:style=Roman:size=8"
MenuStyle * Font "Shadow=1 1 SE:xft:Clean-8"
MenuStyle * MenuColorset 0, HilightBack, ActiveColorset 1
MenuStyle * BorderWidth 2, TitleUnderlines1, SeparatorsLong, TrianglesSolid, Animation
MenuStyle * ItemFormat "%.2|%.5i%.5l%.5i%2.3>%2|"
MenuStyle * AutomaticHotKeys
######
# Use colormaps according to Focus, rather than where the Mouse is.
#################
ColormapFocus FollowsFocus
######
# Default window Styles.
#
# I like single pixel borders, which look cleaner and simpler that the default 3d borders.
#
# It can be a little tricky to grab the handles, but I usually use a Key Binding for that
# anyway, you can always make the handles stick out a bit more if you use them more than I do.
#
# SloppyFocus is the one true Focus policy :) (focus follows mouse, except on root)
#
# If I click in a window, I like it to be raised (MouseFocusClickRaises)
#
# GrabFocus is terrible, windows are always stealing focus and keystrokes end up in the wrong
# windows and you lose your train of thought, etc. So turn it off here, and back on for windows
# that play nice with it.
#
# Set up an IconBox (an area that Windows jump to by default when Iconified) along the left.
# You can set more than one of these, as one gets filled the next one is used. You might also
# be interested in this FAQ: http://www.fvwm.org/documentation/faq/#3.15
#
# Syntax Reminder:
#
# IconBox [screen scr-spec] l t r b
#
# Fvwm offers several placement policies, which decide where new windows should appear, I've
# found that SmartPlacement makes a decent guess at where the windows should be, but there are
# plenty more to choose from.
#
# If you find that a window is being placed in some awkward location, it may be setting it's own
# geometry, you can ask fvwm to ignore this with either NoPPosition or NoUSPosition, for example:
# Style wmtimer NoUSPosition
# you might also find the ExplainWindowPlacement BugOpt useful (search the man page).
#
# IconAlpha looks great, but requires a lot of redrawing while being moved...so I have disabled
# it (by setting to 100) for Hilighted Icons, this also creates a cool MouseOver effect :)
#
# If you want to stop Thumbnails getting too big, you can use the IconSize option.
#################
Colorset 13 fg #f6f6f6, bg black, IconAlpha 40
Colorset 14 fg white, bg black, fgsh black, IconAlpha 100
Style * Font "Shadow=1 1 SE:xft:Aquafont:size=9", BorderWidth 1, HandleWidth 1
Style * Colorset 13, HilightColorset 14
Style * MWMFunctions, MWMDecor, HintOverride, DecorateTransient, NoPPosition
#Style * IconBox 20 20 100 -15, IconFill left top, SloppyFocus, MouseFocusClickRaises
Style * SmartPlacement, WindowShadeSteps 20, ResizeOpaque
Style * Button 1, Button 2, Button 4, Button 6, GrabFocusOff
Style * NoIconTitle
BorderStyle Active Solid black -- NoInset HiddenHandles
BorderStyle Inactive Solid black -- NoInset HiddenHandles
#####
# My Vectors look like this
#
# +----------------------------------------------------------+
# | . ? _ # X |
# +----------------------------------------------------------+
# | 1 8 6 4 2 |
# | |
# |
#
# When the Buttons are ActiveDown (Pressed), The shadow vector is not drawn.
#
# Note that some Title/Button Styles are destructive.
#
# Vectors are basically just a set of co-ordinates, each button is a grid of 100x100 points
# (or you can use pixels..it's up to you), following each vector you must specify a line type:
#
# @0 Shadow (sh)
# @1 Hilight (hi)
# @2 Background (bg)
# @3 Foreground (fg)
# @4 Invisible (just move the pointer, dont draw anything)
#
# I normally use Gradients for my themes, but I am using a TiledPixmap below for the titlebar back.
# If you would like the same pixmaps that i use, you can use these:
#
# begin 644 title_back.png
# MB5!.1PT*&@H````-24A$4@````$````1"`8````
3````"7!(67,```L3```+$P$`FIP8````!W1)344'U`,7##(;H1J%
# ME@```!UT15AT0V]M;65N=`!#3````"7!(67,```L3```+$P$`FIP8````!W1)344'U`,7##4`9#[:
# MO0```!UT15AT0V]M;65N=`!#(`(P#7O$CI!U5BA4`````245.1*Y"8((`
# `
# end
#
# man uudecode if you're not sure what to do with these :)
#
# If you would like an example of a TitleBar gradient:
# TitleStyle Active ( VGradient 16 1 #5a8ade 50 #000000 -- Flat )
#
# More complex styles can be achieved using the MultiPixmap feature, see the
# man page for details.
#
# ButtonStyle and TitleStyle are destructive, i.e. all other TitleStyles
# before them will get overridden.
#
# AddButtonStyle and AddTitleStyle are not destructive (mostly), so you can
# stack multiple styles (pixmaps, vectors, etc) on top of each other to make
# some nice effects.
#
# I have seperated the vectors below into different parts, I have made one in
# shadow and one in fg, if you dont like the shadow you can comment it out.
#
# Title bar Buttons can also be MiniIcons, this can look nice, there
# is an example below commented out.
##################
Colorset 7 fg black, bg white, sh white, RootTransparent Buffer, Tint #f6f6f6 20
DestroyDecor DefaultDecor
AddToDecor DefaultDecor
+ TitleStyle LeftJustified Height 20
+ TitleStyle InActive ( Colorset 7 -- Flat ) Active ( Colorset 7 -- Flat )
# Note: this is for the middle of the titlebar only -- NOT the end button areas:
+ AddTitleStyle Active ( TiledPixmap ant_title_back_20tall.png -- Flat ) \
Inactive ( TiledPixmap ant_title_back_inactive_20tall.png -- Flat )
+ ButtonStyle All InActive ( Colorset 7 -- Flat )
+ ButtonStyle All Active ( Colorset 7 -- Flat )
# Note: this is for the end button areas of the titlebar only -- NOT the middle (text) area:
+ AddButtonStyle All Inactive TiledPixmap ant_title_back_inactive_20tall.png -- Flat
+ AddButtonStyle All Active TiledPixmap ant_title_back_20tall.png -- Flat
# Ant: these make a small dot at position 1 (left end of titlebar) but I
# don't want it there, because I'm using icons there.
#+ AddButtonStyle 1 Active Vector 4 49x49@2 49x51@2 51x51@2 51x49@2 -- Flat
#+ AddButtonStyle 1 Inactive Vector 4 49x49@3 49x51@3 51x51@3 51x49@3 -- Flat
+ AddButtonStyle 1 AllUp Vector 2 50x55@1 50x55@1 -- Flat
# Ant:
# Comment next 2 lines to disable the icons in the titlebars of windows.
+ AddButtonStyle 1 Active MiniIcon -- Flat
+ AddButtonStyle 1 InActive MiniIcon -- Flat
+ AddButtonStyle 2 Active Vector 4 40x40@2 60x60@2 60x40@4 40x60@2 -- Flat
+ AddButtonStyle 2 Inactive Vector 4 40x40@3 60x60@3 60x40@4 40x60@3 -- Flat
+ AddButtonStyle 2 AllUp Vector 4 40x45@1 60x65@1 60x45@4 40x65@1 -- Flat
+ AddButtonStyle 4 Active Vector 7 40x40@2 40x60@2 60x60@2 60x40@2 40x40@2 40x45@2 60x45@2 -- Flat
+ AddButtonStyle 4 Inactive Vector 7 40x40@3 40x60@3 60x60@3 60x40@3 40x40@3 40x45@3 60x45@3 -- Flat
+ AddButtonStyle 4 AllUp Vector 4 40x65@1 60x65@1 45x50@4 55x50@1 -- Flat
+ AddButtonStyle 6 Active Vector 5 40x60@2 60x60@2 60x55@2 40x55@2 40x60@2 -- Flat
+ AddButtonStyle 6 Inactive Vector 5 40x60@3 60x60@3 60x55@3 40x55@3 40x60@3 -- Flat
+ AddButtonStyle 6 AllUp Vector 2 40x65@1 60x65@1 -- Flat
+ ButtonStyle 1 - MwmDecorMenu
+ ButtonStyle 6 - MwmDecorMin
+ ButtonStyle 4 - MwmDecorMax
Style * UseDecor DefaultDecor
# FlickeringMoveWorkaround disables ConfigureNotify events that
# are usually sent to an application while it is moved. If some
# windows flicker annoyingly while being moved, this option may
# help you. Note that if this problem occurs it is not an fvwm
# bug, it is a problem of the application.
BugOpts FlickeringMoveWorkaround True
#BugOpts ExplainWindowPlacement True
#####
# Application specific Style settings
#################
Style * ClickToFocus
Style XTerm MiniIcon ant-computer.png
Style Eterm MiniIcon computer_x11.png
Style xman MiniIcon book_help_paper.png
Style xmag ClickToFocus, MiniIcon document_database_view.png
Style Gkrellm2 Sticky, WindowListSkip, StaysOnBottom, NeverFocus
Style opera EWMHMiniIconOverride, MiniIcon opera.png
Style XVroot GrabFocus
Style gmrun MiniIcon gears.png, NoFuncHint, NoDecorHint, GrabFocus
Style FvwmIdent MiniIcon label_tag_version.png
Style Calculator MiniIcon calculator.png
Style gcalctool EWMHMiniIconOverride,MiniIcon calculator.png
Style beep-media-player MiniIcon audio_horn.png, UsePPosition
Style xmessage MiniIcon person_face_talking.png
Style xchat-2 !FPFocusByProgram, NoFuncHint, NoDecorHint
Style aterm WindowShadeShrinks
Style rxvt WindowShadeShrinks
Style Message MiniIcon person_face_talking.png
Style VMware MiniIcon hardware_computers.png
Style SDL_App EWMHMiniIconOverride, MiniIcon games_jesters-cap.png
Style XDosEmu EWMHMiniIconOverride, MiniIcon games_jesters-cap.png
Style FvwmScript-Quit MiniIcon plug.png
Style pan !FPFocusByProgram
Style nautilus EWMHMiniIconOverride, MiniIcon floppy_disk.png
Style abiword-2.0 EWMHMiniIconOverride, MiniIcon document_letter_word-processor.png
Style grip EWMHMiniIconOverride, MiniIcon hardware_audio_cd.png
Style xv MiniIcon graphics_woman_panel.png
Style xwrits NoDecorHint, NoFuncHint
Style gvim EWMHMiniIconOverride, MiniIcon gvim.png
Style XOsview WindowListSkip
Style Ddd MiniIcon audio_waveform_view.png
Style Eboard MiniIcon games_chess.png
Style Gimp EWMHMiniIconOverride, MiniIcon ant-gnome-gimp-24x24.png
Style gimp-2.0 EWMHMiniIconOverride, MiniIcon graphics_paint_edit.png
Style findtextdialog NoFuncHint, NoDecorHint
Style fvwm_menu MiniIcon gears.png, NoButton 4
Style xmms MiniIcon ant-gnome-grecord-24x25.png, WindowListSkip, !Iconifiable, NeverFocus
Style Lplayer MiniIcon graph_mixer.png
Style wmtimer NoUSPosition
Style FoxWindow EWMHMiniIconOverride, MiniIcon ant-text-2-17x18.png, IconOverride, Icon ant-text-3-48x48.png
Style ROX-Filer EWMHMiniIconOverride, MiniIcon ant-gnome-folder-24x24.png, IconOverride, Icon ant-gnome-folder-48x48.png
Style Mozilla-bin EWMHMiniIconOverride, MiniIcon ant-mozilla-24x24.png
#Style Thunderbird-bin EWMHMiniIconOverride, MiniIcon ant-emblem-mail-2-24x24.png, Icon ant-emblem-mail-2.xpm
Style Thunderbird-bin EWMHMiniIconOverride, MiniIcon ant-emblem-mail-2-24x24.png, IconOverride, Icon tb.xpm
Style Firefox-bin EWMHMiniIconOverride, MiniIcon ant-firefox_icon-01-24x24.png, Icon ant-firefox_icon-01-48x48.png
Style Xawtv MiniIcon ant-tv-20x20.png, Icon ant-tv-48x48.png
Style tvtime MiniIcon ant-tv-20x20.png, Icon ant-tv-48x48.png
Style gaim IconOverride, Icon online.png
#####
# Miscellaneous Module Settings.
#################
# FvwmIdent is an xwininfo replacement.
DestroyModuleConfig FvwmIdent: *
*FvwmIdent: Back #dadada
*FvwmIdent: Fore #747474
*FvwmIdent: Font "xft:clean-8"
# FvwmScroll swallows applications into smaller containers, sometimes handy.
DestroyModuleConfig FvwmScroll: *
*FvwmScroll: Back #f6f6f6
*FvwmScroll: Fore #f6f6f6
# FvwmEvent can bind Commands to Events
DestroyModuleConfig FvwmEvent: *
# FvwmBacker can change wallpaper as you change desks or pages, or execute commands.
DestroyModuleConfig FvwmBacker: *
#####
# Hit Alt+Esc to toggle FvwmProxy, which allows you to see all windows on your
# desktop, even if they've been obscured..really cool.
##################
DestroyModuleConfig FvwmProxy: *
*FvwmProxy: Font "xft:clean-8"
*FvwmProxy: ProxyMove true
Key Escape A M SendToModule FvwmProxy ShowToggle
#####
# Mouse bindings.
#################
# Syntax Reminder:
# Mouse Button Context Modifiers Function
Mouse 1 R A Nop
Mouse 3 R A Menu MenuFvwmRoot
Mouse 2 R A WindowList (CurrentPage) SortByClass MaxLabelWidth 60, NoCurrentDeskTitle
# The 1,2,4,6 are the buttons in a window's titlebar, as shown above
# in the "My vectors look like this" section... but basically,
# 1=upperleft button
# 6=minimize button
# 4=maximize button
# 2=x button
# And "Mouse 0" I think means "any mouse button".
Mouse 0 1 A Menu MenuFvwmWindowOps
Mouse 0 6 A Iconify
Mouse 0 4 A Maximize
Mouse 0 2 A DestroyOnHold
# The contexts (TSIF etc):
# T=titlebar
# I=iconbox
# W=window (in the body of a window)
# F=frame corners
# S=sides (borders) of a window, including top and bottom
#Mouse 4 T A WheelToggleShade True
#Mouse 5 T A WheelToggleShade False
Mouse 1 FS A Resize-or-Raise
Mouse 1 T A Move-or-Raise
Mouse 2 T A RaiseLower
Mouse 3 T A Menu MenuFvwmWindowOps
#Mouse 1 I A Iconify
Mouse 1 I A DeiconifyAndRearrange
Mouse 2 I A Raise-Maybe-Move
Mouse 3 I C Close
#Mouse 3 TSIF A RaiseLower
Mouse 1 W M Move-or-Raise
Mouse 2 W C Resize-or-Raise
Mouse 3 W M Menu Window-Ops Nop
#Key Menu A A Menu MenuFvwmRoot
#####
# Fvwm executes StartFunction when Fvwm is initialized, and at restart.
# A Good place to start Modules.
#
# FvwmCommandS Allows you to run Fvwm Commands from a Terminal, like this:
# $ FvwmCommand 'Module FvwmBanner'
# Or any other Command.
#
# You can test for Initialization from within StartFunction, this is a good
# place to set the Background or start your favourite applications.
#
# osd_cat comes from the xosd package.
#################
AddToFunc StartFunction
+ I Module FvwmCommandS
+ I Module FvwmAnimate
+ I Module FvwmEvent
+ I Module FvwmProxy
+ I PipeRead "echo Module FvwmButtons -g $$(($[vp.width]))x14+0-0 FvwmButtonsAnt"
+ I PipeRead "echo Module FvwmButtons -g $$(($[vp.width]))x14+0+0 FvwmButtonsAntTop"
# Ant: I want DeiconifyAndRearrange here, but it gives me the crosshair select-a-window
# cursor on every restart???
# Update: I'm currently using mouse-motion ("M") as a hack here, but there is probably
# a proper way to disable this behavior.
+ M DeiconifyAndRearrange
DestroyMenu MenuFvwmRoot
AddToMenu MenuFvwmRoot
# An example with text-for-executable file and an icon:
#Test (x nautilus) + %folder_view.png%"Nautilus File Manager" Exec exec nautilus --no-desktop
+ %ant-rec.png%"Audio Recording" Popup Menu-Rec
+ %ant-book.png%"Bible" Popup Menu-Bible
+ %ant-tv-24x24.png%"Entertainment" Popup Menu-Entertainment
+ %ant-film.png%"Imaging/Video" Popup Menu-Imaging
+ %ant-mozilla-24x24.png%"Internet" Popup Menu-Internet
+ %ant-tool_wrench.png%"Misc" Popup Menu-Misc
+ %ant-text-2-17x18.png%"Text/Office" Popup Menu-Office
+ "" Nop
+ %ant-computer.png%"Terminal (aterm)" Exec exec aterm -sl 3000 -tr -fg white -sh 50 -fn fixed -sr -trsb
+ %ant-computer.png%"Terminal (xterm)" Exec exec xterm -sl 3000 -rightbar
+ %ant-gnome-folder-24x24.png%"Guest Files" Exec exec rox /home/guests/
+ "" Nop
+ %bomb2-24x24.png%"Exit Fvwm..." Popup MenuQuit-Verify
DestroyMenu Menu-Misc
AddToMenu Menu-Misc
#+ %cursor.png%"Configure Cursor" Module FvwmForm FvwmForm-RootCursor
+ %ant-book.png%"Fvwm ManPages" Popup MenuFvwmManPages
+ "Switch theme to black" Exec exec ln -sf $[HOME]/.fvwm/blackrc $[HOME]/.fvwm/fvwm2rc-extra
+ "Switch theme to white" Exec exec ln -sf $[HOME]/.fvwm/whiterc $[HOME]/.fvwm/fvwm2rc-extra
DestroyMenu Menu-Internet
AddToMenu Menu-Internet
+ %ant-mozilla-24x24.png%"Web Browser (mozilla)" Exec exec mozilla-go.sh
+ %ant-instant-messenger.png%"Instant Messenger (gaim)" Exec exec gaim
+ %ant-file_transfer.png%"FTP (gftp)" Exec exec gftp
DestroyMenu Menu-Entertainment
AddToMenu Menu-Entertainment
+ %ant-tv-24x24.png%"TV (tvtime)" Exec exec tvtime
+ %ant-tv-24x24.png%"TV (xawtv)" Exec exec xawtv -device /dev/video0
+ %ant-gnome-grecord-24x25.png%"Play Random Album (xmms)" Exec exec play-random-album
+ %ant-gnome-grecord-24x25.png%"Browse Music Files (rox)" Exec exec rox /music/
+ %ant-audio.png%"Volume (gnome-volume-control)" Exec exec gnome-volume-control
+ %ant-video.png%"Browse Video Files (rox)" Exec exec rox /home/falling/adata/video/
DestroyMenu Menu-Office
AddToMenu Menu-Office
+ %ant-stock_openoffice-24x24.png%"OpenOffice" Popup Menu-OOo
+ %ant-calculator.png%"Calculators" Popup Menu-Calculators
+ %ant-text-2-17x18.png%"Text Editor (adie)" Exec exec a
+ %ant-stock_form-table-control.png%"Spreadsheet (gnumeric)" Exec exec gnumeric
DestroyMenu MenuQuit-Verify
AddToMenu MenuQuit-Verify
+ "Quit Fvwm Now" Quit
+ "Restart Fvwm" Restart
DestroyMenu Menu-Imaging
AddToMenu Menu-Imaging
+ %ant-gnome-folder-24x24.png%"Browse Photos (rox)" Exec exec rox /home/falling/adata/photos/
+ %ant-gnome-folder-24x24.png%"Browse Wallpaper (rox)" Exec exec rox /home/falling/adata/lemmings/sights/wallpaper/
+ %ant-help.png%"Change Wallpaper..." Exec exec aterm -sl 3000 -tr -fg white -sh 50 -fn fixed -sr -trsb -e less /home/falling/adata/programs/howto-fvwm-wallpaper.txt
+ %ant-gnome-gimp-24x24.png%"Image Editor (gimp)" Exec exec gimp
DestroyMenu Menu-Rec
AddToMenu Menu-Rec
+ %ant-help.png%"Recording with Ardour..." Exec exec aterm -sl 3000 -tr -fg white -sh 50 -fn fixed -sr -trsb -e less /home/falling/adata/programs/howto-recording.txt
+ "Wave Editor (audacity)" Exec exec audacity
+ "Cheesetracker" Exec exec cheesetracker_qt
+ "Solfege" Exec exec solfege-go
DestroyMenu Menu-Bible
AddToMenu Menu-Bible
+ %ant-book.png%"Browse Books..." Popup $[fvwm_bible_path]
+ %ant-search.png%"Search for terms..." Exec exec xterm -sl 3000 -rightbar -hold -e bible-search
DestroyMenu Menu-Calculators
AddToMenu Menu-Calculators
+ %ant-calculator.png%"calculator" Exec exec calculator
+ %ant-calculator.png%"gcalctool" Exec exec gcalctool
+ %ant-calculator.png%"xcalc" Exec exec xcalc
DestroyMenu Menu-OOo
AddToMenu Menu-OOo
+ %ant-stock_openoffice-24x24.png%"writer" Exec exec oowriter
+ %ant-stock_openoffice-24x24.png%"calc" Exec exec oocalc
+ %ant-stock_openoffice-24x24.png%"draw" Exec exec oodraw
+ %ant-stock_openoffice-24x24.png%"impress" Exec exec ooimpress
+ %ant-stock_openoffice-24x24.png%"math" Exec exec oomath
+ %ant-stock_openoffice-24x24.png%"web" Exec exec ooweb
#####
# `Pick` is very handy, if it's obvious which window you're talking about,
# The command is executed immediately within the context of that window.
#
# If it isnt obvious, for example, you select `Move` from the Root menu, the
# cursor becomes a crosshair, and you can select the window you you would like
# to apply the command to by clicking it.
#
# This saves a lot of work, you can use `Pick` with everything that might be
# Called without context and only write one function/menu instead of two.
#################
DestroyMenu FvwmMoveMethods
AddToMenu FvwmMoveMethods
+ %desktop-page-1.png%"Page &1" Pick MoveToPage 0 0
+ %desktop-page-2.png%"Page &2" Pick MoveToPage 1 0
+ %desktop-page-3.png%"Page &3" Pick MoveToPage 0 1
+ %desktop-page-4.png%"Page &4" Pick MoveToPage 1 1
# XXX: I can probably automate making this menu.
DestroyMenu MenuPageList
AddToMenu MenuPageList
+ "1" Pick MoveToPage 0 0
+ "2" Pick MoveToPage 1 0
+ "3" Pick MoveToPage 0 1
+ "4" Pick MoveToPage 1 1
#####
# WindowOps, Main window controls menu.
#################
DestroyMenu MenuFvwmWindowOps
AddToMenu MenuFvwmWindowOps
+ "Re&size" Pick Resize
+ "Move" Pick Move
+ "Ico&nify" Pick Iconify
+ "Ma&ximize" Pick Maximize
+ "Relocate" Popup FvwmMoveMethods
+ "Zoom Window" Pick Exec exec xmag -source $[w.width]x$[w.height]+$[w.x]+$[w.y] -mag 2
+ "Identify" Pick Module FvwmIdent
# Keep these commented but don't delete them... I may want them back sometime.
#+ "" Nop
#+ "Stick" Pick Stick
#+ "Scroll" Pick Module FvwmScroll
#+ "Refresh" Pick RefreshWindow
+ "" Nop
+ "Close" Pick Close
+ "Destroy" Pick Destroy
#####
# Name: DestroyOnHold
# Bound: Titlebar Button 2 (X)
# Purpose: When clicked, Raise the window Immediately.
# If the button is pressed and released, Close the Window. If it is pressed
# and held, Destroy it, and issue a Beep to confirm.
#
# There is a 100ms delay before issuing `Close` so I have a chance to see the
# animation when the button changes from ActiveDown to ActiveUp :).
#
#################
DestroyFunc DestroyOnHold
AddToFunc DestroyOnHold I Raise
+ C Schedule 200 Close
+ H Destroy
+ H Beep
#####
# Miscellaneous Functions
#################
AddToFunc Move-or-Raise
+ I FlipFocus
+ I Raise
+ M Move
+ D WindowShade Toggle
AddToFunc Raise-Maybe-Move I Raise
+ M Move
AddToFunc Resize-or-Raise I Raise
+ M Resize
# If the gaps appearing in your IconBox annoy you, you can use this function
# to arrange the icons after DeIconifying windows.
AddToFunc DeiconifyAndRearrange
+ I Iconify off
+ I FlipFocus
+ I All (CurrentPage Iconic) PlaceAgain Icon
#+ C All (CurrentPage Iconic) RecaptureWindow
#####
# Telling a window that is already moving to AnimatedMove is not a good idea!
# This function makes sure the user doesnt accidentally catch a window twice, by
# setting one of the windows states while it is being moved.
#
# Every window has around 30 user definable states which you can test in
# functions, you can use them for anything you like.
##
DestroyFunc LockingSlide
AddToFunc LockingSlide
+ I Test (!State 2) Break
+ I State 2 False
+ I AnimatedMove $0 $1
+ I State 2 True
DestroyFunc FuncFvwmViewManPage
AddToFunc FuncFvwmViewManPage
#+ I Exec exec xterm -fg $[fg.cs33] -bg $[bg.cs33] -g 80x40 -fn 7x14 -fb 7x14bold -n "Manual Page - $0" -T "Manual Page - $0" -e man "$0"
+ I Exec exec aterm -fn fixed -g 100x60 -n "ManPage - $0" -T "Manual Page - $0" -e man "$0"
DestroyMenu MenuFvwmManPages
AddToMenu MenuFvwmManPages "FVWM Man Pages" Title
+ "fvwm" FuncFvwmViewManPage fvwm
+ "FvwmAnimate" FuncFvwmViewManPage FvwmAnimate
+ "FvwmAuto" FuncFvwmViewManPage FvwmAuto
+ "FvwmBacker" FuncFvwmViewManPage FvwmBacker
+ "FvwmBanner" FuncFvwmViewManPage FvwmBanner
+ "FvwmButtons" FuncFvwmViewManPage FvwmButtons
+ "FvwmCommand" FuncFvwmViewManPage FvwmCommand
+ "FvwmConsole" FuncFvwmViewManPage FvwmConsole
+ "FvwmConsoleC.pl" FuncFvwmViewManPage FvwmConsoleC.pl
+ "FvwmCpp" FuncFvwmViewManPage FvwmCpp
+ "FvwmDebug" FuncFvwmViewManPage FvwmDebug
+ "FvwmDragWell" FuncFvwmViewManPage FvwmDragWell
+ "FvwmEvent" FuncFvwmViewManPage FvwmEvent
+ "FvwmForm" FuncFvwmViewManPage FvwmForm
+ "FvwmGtk" FuncFvwmViewManPage FvwmGtk
+ "FvwmGtkDebug" FuncFvwmViewManPage FvwmGtkDebug
+ "FvwmIconBox" FuncFvwmViewManPage FvwmIconBox
+ "FvwmIconMan" FuncFvwmViewManPage FvwmIconMan
+ "FvwmIdent" FuncFvwmViewManPage FvwmIdent
+ "FvwmM4" FuncFvwmViewManPage FvwmM4
+ "FvwmPager" FuncFvwmViewManPage FvwmPager
+ "FvwmPerl" FuncFvwmViewManPage FvwmPerl
+ "FvwmProxy" FuncFvwmViewManPage FvwmProxy
+ "FvwmRearrange" FuncFvwmViewManPage FvwmRearrange
+ "FvwmSave" FuncFvwmViewManPage FvwmSave
+ "FvwmSaveDesk" FuncFvwmViewManPage FvwmSaveDesk
+ "FvwmScript" FuncFvwmViewManPage FvwmScript
+ "FvwmScroll" FuncFvwmViewManPage FvwmScroll
+ "FvwmTaskBar" FuncFvwmViewManPage FvwmTaskBar
+ "FvwmTheme" FuncFvwmViewManPage FvwmTheme
+ "FvwmWharf" FuncFvwmViewManPage FvwmWharf
+ "FvwmWinList" FuncFvwmViewManPage FvwmWinList
+ "FvwmWindowLister" FuncFvwmViewManPage FvwmWindowLister
+ "" Nop
+ "fvwm-config" FuncFvwmViewManPage fvwm-config
+ "fvwm-perllib" FuncFvwmViewManPage fvwm-perllib
+ "fvwm-root" FuncFvwmViewManPage fvwm-root
+ "" Nop
+ "fvwm-menu-desktop" FuncFvwmViewManPage fvwm-menu-desktop
+ "fvwm-menu-directory" FuncFvwmViewManPage fvwm-menu-directory
+ "fvwm-menu-headlines" FuncFvwmViewManPage fvwm-menu-headlines
+ "fvwm-menu-xlock" FuncFvwmViewManPage fvwm-menu-xlock
+ "" Nop
+ "fvwm-themes-config" FuncFvwmViewManPage fvwm-themes-config
+ "fvwm-themes-com" FuncFvwmViewManPage fvwm-themes-com
+ "fvwm-themes-images" FuncFvwmViewManPage fvwm-themes-images
+ "fvwm-themes-menuapp" FuncFvwmViewManPage fvwm-themes-menuapp
+ "fvwm-themes-start" FuncFvwmViewManPage fvwm-themes-start
# By Ant:
Style * MouseFocusClickRaises
EdgeScroll 0 0
# The 3rd field is "context" and A means "any" i.e. the keybinding is always in effect.
# The 4th field is for modifier keys: [C]ontrol, [S]hift, [M]eta (aka Alt), or [N]one.
Key r A CM Restart
Key F4 A M Close
Key F1 A C Exec exec a /home/falling/.fvwm/.fvwm2rc
Key b A SM Exec exec killall mozilla-bin
Key b A CM Exec exec mozilla-go.sh
Key c A SM Exec exec gcalctool
Key d A CM All (CurrentPage AcceptsFocus) Iconify True
Key e A CM Exec exec thunderbird
Key f A CM Exec exec gftp
Key f A CS Exec exec firefox
Key f A SM Exec exec xterm -g 40x5 -hold -e "freeram 200000"
Key f A SMC Exec exec xterm -g 40x5 -hold -e "freeram 250000"
Key i A CM Exec exec gaim
Key g A CM Exec exec gimp
Key n A CS Exec exec a
Key q A CM Quit
Key z A CM Exec exec rox /home/falling/adata
Key s A CM Exec exec a /home/falling/adata/scratch.txt
Key t A CS Exec exec tvtime
Key t A CM Exec exec xawtv -device /dev/video0
Key t A SM Exec exec xterm -hold -g 210x44 -e taillog -s
Key v A CM Exec exec aumix
Key v A CS Exec exec gnome-volume-control
Key m A CM Exec exec xmms
Key x A CM Exec exec xterm -sl 3000 -rightbar
Key x A SM Exec exec xscreensaver-demo
Key 1 A CS Exec exec xscreensaver-command -activate
Key Print A N Exec exec gnome-panel-screenshot-with-delay
Key Print A M Exec exec gnome-panel-screenshot-with-delay --window
# Control+Alt+[arrowkey] switches desktops:
Key Up A CM GotoPage 0p -1p
Key Left A CM GotoPage -1p 0p
Key Right A CM GotoPage +1p 0p
Key Down A CM GotoPage 0p +1p
Key Space A M Menu MenuFvwmWindowOps
# These are the multimedia keys... I ran xev and pressed each one to find
# its keycode, then I found this list of "XF86foo" keynames in the file
# /usr/X11R6/include/X11/XF86keysym.h... I picked the ones that I wanted,
# and set them to the keycodes by adding lines like this to ~/.xmodmaprc:
#
# keycode 223 = XF86Standby
#
# Then just make sure to run "xmodmap ~/.xmodmaprc" at the start of each
# X session (by putting it into your .xinitrc file, for example).
Key XF86Standby A N Exec exec xscreensaver-command -lock
Key XF86AudioMute A N Exec exec mutetoggle
Key XF86AudioLowerVolume A N Exec exec volumeant down
Key XF86AudioRaiseVolume A N Exec exec volumeant up
Key XF86AudioPlay A N Exec exec xmms -t
Key XF86AudioStop A N Exec exec xmms -s
Key XF86AudioPrev A N Exec exec xmms -r
Key XF86AudioNext A N Exec exec xmms -f
#Key XF86HomePage
#Key XF86Mail
#Key XF86Search
Key XF86Start A N Exec exec /home/falling/adata/programs/play-random-album
# New windows get focus:
# http://www.fvwm.org/documentation/faq/#3.18
*FvwmEvent-NewWindow: StartDelay 4
*FvwmEvent-NewWindow: add_window FuncFocusWindow
DestroyFunc FuncFocusWindow
AddToFunc FuncFocusWindow
+ I FlipFocus
#+ I WarpToWindow
AddToFunc StartFunction I FvwmEvent FvwmEvent-NewWindow
# Trying to get Alt-Tab to be sane...
# WindowListFunc is a built-in that is called automatically whenever the use
# selects a window from a WindowList (like the Alt-Tab WindowList). The
# default definition of WindowListFunc is:
#
# AddToFunc WindowListFunc
# + I Iconify off
# + I FlipFocus
# + I Raise
# + I WarpToWindow 5p 5p
#
DestroyFunc WindowListFunc
AddToFunc WindowListFunc
+ I DeiconifyAndRearrange
+ I Raise
#Key Tab A M WindowList Root c c CurrentAtEnd, NoDeskSort, NoGeometry, SelectOnRelease Meta_L
Key Tab A M WindowList (CurrentPage) Root c c NoDeskSort, NoGeometry, SelectOnRelease Meta_L, NoCurrentDeskTitle
Style * IconBox 500x50+500-25
#Style aterm NoTitle
Style FvwmButtonsAnt NoTitle, WindowListSkip, CirculateSkip, Sticky, BorderWidth 0, NoHandles, StaysOnTop, NeverFocus
Style FvwmButtonsAntTop NoTitle, WindowListSkip, CirculateSkip, Sticky, BorderWidth 0, NoHandles, StaysOnBottom, NeverFocus
DestroyModuleConfig FvwmButtonsAntTop: *
*FvwmButtonsAntTop: Colorset 20
*FvwmButtonsAntTop: Frame 0
*FvwmButtonsAntTop: Padding 0 0
*FvwmButtonsAntTop: Rows 1
*FvwmButtonsAntTop: Columns 1
*FvwmButtonsAntTop: (1x1, Frame 0)
#Colorset 20 RootTransparent, bg average, Tint black 20, bgTint black 20
Colorset 20 fg white, bg black
DestroyModuleConfig FvwmButtonsAnt: *
*FvwmButtonsAnt: Colorset 20
*FvwmButtonsAnt: Frame 0
*FvwmButtonsAnt: Padding 0 0
*FvwmButtonsAnt: Rows 1
*FvwmButtonsAnt: Columns 1
*FvwmButtonsAnt: (1x1, Frame 0, Padding 0 0, Swallow "antsysmon2" `Exec aterm -fg white -bg black -cr black -bw 0 -sl 0 +sb -fn 6x10 -title antsysmon2 -e /home/falling/adata/programs/antsysmon --preset ant-full`)