Please bear with us as we work to restore functionality to dotfiles.org.
There are many dependencies which will be uploaded in time.
# Fvwm configuration
# $Id: config,v 1.8 2008/07/05 20:21:05 user Exp $
#
# Configuration originally based on
# http://www.fvwm.org/screenshots/desktops/Thomas_Adam-desk-1280x960/config
#
# TODO:
# Send window to desktop function
# Intelligent (e.g., Fibonacci) window tiling function
# Window raise/lower using A-S-l
#
# Features:
# Keyboard centric window management
# Dynamically change appearance through menu (color,wallpaper,resolution,etc.)
#
# Keybindings Reference:
# M-Tab switch window
# M-p toggle button slider panel (pager,xclock,etc.)
# M-Menu show root menu
# M-[0-9] move to page N
# M-S-arrow scroll page
# M-F1 display fvwm man page
# M-F2 terminal emulator
# M-F3 run command
# F3 FvwmConsole
#
# Window Keybindings:
# M-Delete iconify all windows
# M-Insert de-iconify all windows
# M-Enter toggle maximize
# M-S-Enter toggle fullscreen
# M-Space center/resize window
# M-S-Home move/resize window to left half of screen
# M-S-End move/resize window to right half of screen
# M-arrow shade window in direction
# M-c close
# M-s stick
# M-r resize
# M-m move
#
# Mouse Bindings Reference:
# -----------
# | l (m) r |
# -----------
# M-l menu
# M-m window list
# M-r window ops menu
# (C|M)-scroll iterate page number
# Set the ImagePath
ImagePath /usr/share/icons/wm-icons/:$[HOME]/.fvwm/icons:$[HOME]/.fvwm/pixmaps:+
# Set the main colorset
# 0 - focused
# 1 - unfocused
# 2 - menus/buttons
# Traditional colors
Colorset 0 fg rgb:0/0/0, bg rgb:60/a0/c0
Colorset 1 fg rgb:0/0/0, bg rgb:c0/60/77
Colorset 2 fg rgb:0/0/0, bg rgb:a9/a9/a9
# Other colorsets are defined in $[HOME]/.fvwm/colorsets, and are used for the
# dynamic menu.
ColorMapFocus FollowsMouse
# Global variables for Fvwm's use.
SetEnv RCOUNT 0
SetEnv DIR Next
SetEnv TERM xterm
SetEnv FontTiny -*-*-*-*-*-*-6-*-*-*-*-*-*-*
SetEnv FontSmall -misc-fixed-medium-r-*-*-10-*-*-*-*-*-*-*
SetEnv FontNormal -adobe-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*
SetEnv FontMedium -adobe-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-*
SetEnv FontLarge -adobe-helvetica-bold-r-normal-*-18-*-*-*-*-*-*-*
SetEnv OSD "osd_cat -p bottom -A right -c green -s 2 -f $[FontLarge]"
# Default styles common to all windows created.
Style "**" Icon window.xpm
Style "*" BorderWidth 5, HandleWidth 5
Style "*" FvwmBorder, FirmBorder, SloppyFocus
Style "*" Colorset 0
Style "*" HilightColorset 1
Style "*" UseDecor fDecor
Style "*" Button 1, Button 3, Button 5, Button 6, Button 4, Button 2
Style "*" MWMButtons
Style "*" MWMDecor, MWMFunctions, HintOverride, MinOverLapPlacement
Style "*" NoPPosition
Style "*" WindowShadeSteps 20, WindowShadeScrolls
Style "*" DecorateTransient, ResizeOpaque
Style "*" Font $[FontNormal]
# Application specific styles.
Style *Firefox* StartsOnPage 0 1 0, SkipMapping
Style Fvwm* Sticky, WindowListSkip,!Title, CirculateSkip,!Handles
Style FvwmConsole Title, Handles
Style Vim* Title, Handles
Style sunclock !Title, Handles, Sticky
Style xbiff !Title, Handles, Sticky
Style xclock !Title, Handles, Sticky
Style xeyes !Title, Handles, Sticky, !Borders
Style xload !Title, Handles, Sticky
Style xnetload !Title, Handles, Sticky
Style xosview !Title, Handles, Sticky
#BorderStyle Simple
# Set Animation milliseconds-delay [fractions-to-move-list]
# Set the time between frames and the list of fraction offsets to customize the
# animated moves of the AnimatedMove command and the animation of menus
SetAnimation 10 -.01 0 .01 .03 .08 .18 .3 .45 .6 .75 .85 .90 .94 .97 .99 1.0
IconFont $[FontSmall]
IconTitleRelief -50
TitleStyle Height 18
Emulate Fvwm
DesktopName 0 Main
EdgeScroll 0 0
EdgeResistance 500 1
EdgeThickness 1
HideGeometryWindow never
#####
#
# +--------------------------------------------------+
# | 1 3 5 7 9 Title 0 8 6 4 2 |
# |--------------------------------------------------|
#
# AddToDecor allows for things like vector buttons to be defined. This is
# deprecated and plans for it to be re-written are long overdue. :)
AddToDecor fDecor
+ ButtonStyle Reset
+ BorderStyle Simple
+ TitleStyle -- Raised
#+ TitleStyle DGradient 1000 rgb:a9/a9/a9 rgb:0/0/0
#+ ButtonStyle All -- UseTitleStyle
#+ ButtonStyle All Pixmap empty.xpm
#+ AddButtonStyle 1 Pixmap mini.stick.xpm
#+ AddButtonStyle 3 Pixmap mini.fvwm.xpm
#+ AddButtonStyle 5 Pixmap mini.shade1.xpm
#+ AddButtonStyle 6 Pixmap mini.iconify.xpm
#+ AddButtonStyle 4 Pixmap mini.maximize.xpm
#+ AddButtonStyle 2 Pixmap mini.cross.xpm
#+ AddButtonStyle 1 10 25x20@1 30x25@1 30x55@1 43x55@0 50x85@1 57x55@0 70x55@0 70x25@0 75x20@0 25x20@1
#+ AddButtonStyle 3 4 50x75@1 25x25@1 75x25@1 50x75@0
#+ AddButtonStyle 5 12 50x10@1 25x35@1 40x35@1 40x60@1 25x60@1 50x85@1 75x60@0 60x60@0 60x35@0 75x35@0 50x10@0 50x10@1
#+ AddButtonStyle 6 16 60x40@1 60x80@0 15x80@0 15x40@1 60x40@1 40x40@1 40x25@1 75x25@1 75x60@0 60x60@0 75x60@0 75x40@0 85x40@0 85x15@0 60x15@1 60x25@1
#+ AddButtonStyle 4 10 25x40@1 20x40@1 20x80@1 60x80@1 60x65@1 35x65@0 85x65@0 85x10@0 30x10@1 30x65@1
#+ AddButtonStyle 2 17 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x70@1 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1
#################
ClickTime 310
#####
# Use 9 pages per desktop, arranged in a square, like this:
#
# +-----+-----+-----+
# | | | |
# +-----+-----+-----+
# | | | |
# +-----+-----+-----+
# | | | |
# +-----+-----+-----+
#################
DeskTopSize 3x3
######
# Use an arrow rather than the `X` cursor on the root window.
#################
CursorStyle root top_left_arrow
#####
# OpaqueMoveSize allows you to stop Large windows from being moved opaquely,
# I like the effect.
# 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 8 SameType
SnapGrid 1 1
MoveThreshold 3
BugOpts FlickeringMoveWorkAround On
# Handle some Mouse bindings now...
# Recall that mouse formats look like this:
#
# +------------+
# | || || || |
# | |
# +------------+
# 1 3 2
# Binding Functions
# [Key,Mouse]
#
# "I" stands for Immediate
# "M" stands for Motion
# "C" stands for Click
# "H" stands for Hold
# "D" stands for Double Click
# ---------------------------------------------------------------------------
# Contexts:
# R = Root Window rrrrrrrrrrrrrrrrrrrrrr
# W = Application Window rIrrrrFSSSSSSSSSFrrrrr
# F = Frame Corners rrrrrrS13TTTT642Srrrrr
# S = Frame Sides rIrrrrSwwwwwwwwwSrrrrr
# T = Title Bar rrrrrrSwwwwwwwwwSrrrrr
# I = Icon rIrrrrFSSSSSSSSSFrrrrr
# rrrrrrrrrrrrrrrrrrrrrr
# Numbers are buttons: 1 3 5 7 9 0 8 6 4 2
#
# Modifiers: (A)ny, (C)ontrol, (S)hift, (M)eta, (N)othing
# ---------------------------------------------------------------------------
Mouse 4 R A Scroll +100 0
Mouse 5 R A Scroll -100 0
Mouse 4 SFT A FuncFvwmMoveOrRaiseOrShade
Mouse 5 SFT A FuncFvwmMoveOrRaiseOrShade
Mouse 1 R A Menu FvwmMenuRoot
Mouse 2 R A WindowList
Mouse 3 RFT A Menu FvwmMenuWindowOps
Mouse 1 SFT A FuncFvwmMoveOrRaiseOrShade
Mouse 1 SF A FuncFvwmResizeOrRaiseOrShade Maximize
Mouse 1 I A FuncIconifyDeIconify
Mouse 3 I A Menu FvwmMenuWindowOps
Mouse 3 FS A Menu FvwmMenuWindowOps
Mouse 0 1 A Stick
Mouse 0 3 A Menu FvwmMenuWindowOps
Mouse 0 5 A WindowShade
Mouse 0 6 A FuncIconifyDeIconify
Mouse 0 4 A FuncFvwmMaximizeFullScreen
Mouse 0 2 A Close
# Now some keyboard shortcuts (see above).
# Arrow Keys
# press arrow + control anywhere, and scroll by 1 page
# Now using the 'PageScroll' function
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
Key comma A M Scroll -100 0
Key period A M Scroll +100 +0
# press arrow + meta key, and scroll by 1/10 of a page
Key Left A SM Scroll -10 +0
Key Right A SM Scroll +10 +0
Key Up A SM Scroll +0 -10
Key Down A SM Scroll +0 +10
# 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
#Application keybindings.
Key F1 A M Function FuncViewManPage fvwm
Key F2 A M Exec exec $TERM
Key F3 A N Module FvwmConsole
Key F3 A M Function FuncCreateRunDialog
#Toggle Button-Slider panel.
Key p A M Function FuncPressButton "Buttons-Slider"
#Window keybindings.
Key Return WTSF M Function FuncFvwmMaximize
Key Return WTSF MS Function FuncFvwmMaximizeFullScreen
Key C WTSF M Close
Key M WTSF M Move
Key S WTSF M Stick
Key R WTSF M Resize
Key Tab A M FuncSwitchWindow
#Key Tab A 3 SendToModule FvwmProxy ShowToggle
#Key minus WTSF M Function FuncIconifyThumbnail
Key minus WTSF M Iconify
Key Delete A M Function FuncShowDesktop
Key Insert A M Function FuncRestoreDesktop
Key Home WTSF MS Function FuncResizeMoveWindow "left"
Key End WTSF MS Function FuncResizeMoveWindow "right"
Key space WTSF M Function FuncResizeMoveWindow "center"
Key Up WTSF M WindowShade North
Key Down WTSF M WindowShade South
Key Left WTSF M WindowShade West
Key Right WTSF M WindowShade East
Key Menu A M Popup FvwmMenuRoot
Key Up WTSF C3 PackWrapperUp
Key Down WTSF C3 PackWrapperDown
Key Left WTSF C3 PackWrapperLeft
Key Right WTSF C3 PackWrapperRight
# Iterate through desktops from left to right
Key 1 A M GoToPage 0 0
Key 2 A M GoToPage 1 0
Key 3 A M GoToPage 2 0
Key 4 A M GoToPage 0 1
Key 5 A M GoToPage 1 1
Key 6 A M GoToPage 2 1
Key 7 A M GoToPage 0 2
Key 8 A M GoToPage 1 2
Key 9 A M GoToPage 2 2
Key L A CM Exec xscreensaver-command -lock
# Menu styles...
MenuStyle MWM
MenuStyle * Font $[FontNormal]
##############################################################
#These taken from fvwm-themes 'default' theme.
MenuStyle * Hilight3DThickness 2
MenuStyle * PopupDelayed, PopupDelay 150, PopdownDelayed, PopdownDelay 150
MenuStyle * PopupOffset -15 100, TitleWarpOff
MenuStyle * TitleUnderlines2, SeparatorsLong, TrianglesRelief
MenuStyle * Animation, AutomaticHotkeysOff, DoubleClickTime
MenuStyle * BorderWidth 2, SidePic, SideColor
MenuStyle * PopupAsSubmenu, HoldSubmenus, SubmenusRight
MenuStyle * ItemFormat "%.4s%.1|%.5i%.5l%.5l%.5r%.5i%2.3>%1|"
MenuStyle * VerticalItemSpacing, VerticalTitleSpacing
MenuStyle * MenuColorset 2
#MenuStyle * ActiveFore, Hilight3DOff
#MenuStyle * ActiveColorset 1
BusyCursor DynamicMenu True
Style * MouseFocusClickRaises
# functions
DestroyFunc FuncIconifyThumbnail
AddToFunc FuncIconifyThumbnail
+ I ThisWindow (Shaded) WindowShade toggle
+ I Schedule 800 Raise
+ I Raise
+ I Piperead "import -quiet -geometry 128x128 -quality 0 -window $[w.id] png:$./tmp/icon.$[w.id].png"
+ I Iconify
+ I ThisWindow WindowStyle IconOverride, Icon $./tmp/icon.$[w.id].png, StaysOnBottom
DestroyFunc FuncDeThumbnail
AddToFunc FuncDeThumbnail
+ I DestroyWindowStyle
+ I Exec rm -f $./tmp/icon.$[w.id].png
+ I ThisWindow Iconify Off
DestroyFunc FuncShowDesktop
AddToFunc FuncShowDesktop
+ I All (CurrentPage, Iconic, State 1) RestoreDesktop
+ I TestRc (Match) Break
+ I All (CurrentPage, !Buttons-Slider, !Sticky, !Iconic, !State 1) ThisWindow State 1 True
+ I All (CurrentPage, !Buttons-Slider, !Sticky, !Iconic, State 1) Iconify
DestroyFunc FuncRestoreDesktop
AddToFUnc FuncRestoreDesktop
+ I All (CurrentPage, Iconic, State 1) Iconify off
+ I All (CurrentPage, State 1) ThisWindow State 1 False
DestroyFunc FuncPressButton
AddToFunc FuncPressButton
+ I SetEnv CURSOR_X $[pointer.x]
+ I SetEnv CURSOR_Y $[pointer.y]
+ I All [$0] WarpToWindow 1p 1p
+ I FakeClick depth 0 press 1 wait 10 release 1
+ I WindowId root 1 WarpToWindow $[CURSOR_X]p $[CURSOR_Y]p
DestroyFunc FuncResizeMoveWindow
AddToFunc FuncResizeMoveWindow
+ I Pick Piperead `case "$0" in \
"left") echo 'ResizeMove 49 98 0 0"'; \
echo 'ThisWindow WarpToWindow 100 50';; \
"right") echo 'ResizeMove 49 98 50 0'; \
echo 'ThisWindow WarpToWindow 0 50';; \
"center") echo 'ResizeMove 50 50 25 25'; \
echo 'ThisWindow WarpToWindow 50 0';; \
esac`
DestroyFunc FuncCenterWindow
AddToFunc FuncCenterWindow
+ I Pick Piperead "echo AnimatedMove \
$(( $[vp.width]/2-$[w.width]/2 ))p \
$(( $[vp.height]/2-$[w.height]/2 ))p"
+ I ThisWindow WarpToWindow 50 0
DestroyFunc FuncCreateRunDialog
AddToFunc FuncCreateRunDialog
+ I Exec exec urxvt +sb -name fvwm-run-dialog -title "Run program..." \
-fn $[FontSmall] \
-geometry 80x1 --keysym.0xFF0D: " &\nexit\n" \
-e bash --init-file $./.Fvwm-bashrc
+ I Wait fvwm-run-dialog
+ I All (fvwm-run-dialog) WarpToWindow 50 75
AddToFunc FuncFocusRaiseAndStuff
+ I Iconify off
+ I Focus
+ I Raise
AddToFunc FuncSwitchWindow
+ I $[DIR] (CurrentPage, !Iconic, !Sticky) FuncFocusRaiseAndStuff
+ I Deschedule 134000
+ I PipeRead `["$[DIR]" == "Prev"] && \
echo 'SetEnv NDIR Next' || \
echo 'SetEnv NDIR Prev'`
+ I Schedule 700 134000 SetEnv DIR $[NDIR]
DestroyFunc FuncFvwmMoveOrRaiseOrShade
AddToFunc FuncFvwmMoveOrRaiseOrShade
+ H Move
+ M Move
+ C Raise
+ D WindowShade $[func.context]
# FIXME
DestroyFunc FuncWindowShade
AddToFunc FuncWindowShade
+ I PipeRead `case $[func.context] in \
"t") echo 'ThisWindow (Shaded) WindowStyle TitleAtTop'; \
echo WindowShade toggle;; \
"[") echo 'ThisWindow (!Shaded) WindowStyle TitleAtLeft' && echo WindowShade [;; \
"]") echo 'ThisWindow (!Shaded) WindowStyle TitleAtRight' && echo WindowShade ];; \
"-") echo 'ThisWindow (!Shaded) WindowStyle TitleAtTop' && echo WindowShade -;; \
"_") echo 'ThisWindow (!Shaded) WindowStyle TitleAtBottom' && echo WindowShade _;; \
esac`
DestroyFunc FuncFvwmResizeOrRaiseOrShade
AddToFunc FuncFvwmResizeOrRaiseOrShade
+ H Resize $0
+ M Resize $0
+ C Raise
+ D WindowShade $[func.context]
DestroyFunc FuncFvwmMoveOrRaiseLower
AddToFunc FuncFvwmMoveOrRaiseLower
+ H Move
+ M Move
+ C RaiseLower
DestroyFunc FuncFvwmMoveOrIconify
AddToFunc FuncFvwmMoveOrIconify
+ M Move
+ D Iconify
# Doesn't cover lower panel.
DestroyFunc FuncFvwmMaximize
AddToFunc FuncFvwmMaximize
+ I Maximize 100 -80p
DestroyFunc FuncFvwmMaximizeFullScreen
AddToFunc FuncFvwmMaximizeFullScreen
+ I Maximize 100 100
+ I Current (!State 11) WindowStyle NoTitle,!Borders
+ I Current (State 11) WindowStyle Title,Borders
+ I Current RefreshWindow
+ I Current (!State 11) Maximize true
+ I Current (State 11) Maximize false
+ I Current State 11 toggle
DestroyFunc FuncFvwmWindowOpsOrAction
AddToFunc FuncFvwmWindowOpsOrAction
+ I Menu MenuFvwmWindowOps2 $*
DestroyFunc FuncIconifyDeIconify
AddToFunc FuncIconifyDeIconify
+ C ThisWindow (!Iconic) FuncIconifyThumbnail
+ D ThisWindow (Iconic) FuncDeThumbnail
DestroyFunc FuncWindowOpsOrClose
AddToFunc FuncWindowOpsOrClose
+ H Menu FvwmMenuWindowOps
+ C Menu FvwmMenuWindowOps
+ D Close
DestroyFunc FuncFvwmMenuDirectory
AddToFunc FuncFvwmMenuDirectory
+ I PipeRead 'fvwm-menu-directory -d "$0" --exec-file ^launcher --exec-title ^rox --check-subdir --links'
DestroyFunc FuncChangeColorsetPredef
AddToFunc FuncChangeColorsetPredef
+ I DestroyMenu recreate FvwmMenuColorsetPreDef
+ I PipeRead 'echo "AddToMenu FvwmMenuColorsetPreDef"'
+ I PipeRead 'while read l; do \
echo \+ \\"${l/*bg /\ }\\" Function ChangeStyle "$l"; \
done < $./colorsets'
DestroyFunc FuncColorList
AddToFunc FuncColorList
+ I PipeRead 'for x in $(awk \'{ print $$$$4 }\' /usr/share/X11/rgb.txt | grep \'^[a-zA-Z]\' | sort -f -u); do \
echo \+ \\"$$$$x\\" Function $0 "$$$$x"; \
done'
DestroyFunc FuncChangeColorFocused
AddToFunc FuncChangeColorFocused
+ I DestroyMenu recreate FvwmMenuColorFocused
+ I Piperead 'echo "AddToMenu FvwmMenuColorFocused Colors Title"'
+ I Function FuncColorList ChangeColorFocused
DestroyFunc FuncChangeColorUnfocused
AddToFunc FuncChangeColorUnfocused
+ I DestroyMenu recreate FvwmMenuColorUnfocused
+ I Piperead 'echo "AddToMenu FvwmMenuColorUnFocused Colors Title"'
+ I Function FuncColorList ChangeColorUnfocused
DestroyFunc FuncChangeColorRoot
AddToFunc FuncChangeColorRoot
+ I DestroyMenu recreate FvwmMenuRootColor
+ I PipeRead 'echo "AddToMenu FvwmMenuRootColor Colors Title"'
+ I Function FuncColorList ChangeColorRoot
DestroyFunc FuncChangeWallpaper
AddToFunc FuncChangeWallpaper
+ I DestroyMenu recreate FvwmMenuWallpaper
+ I PipeRead 'echo "AddToMenu FvwmMenuWallpaper Wallpapers Title"'
+ I PipeRead 'ls $./wallpaper |\
while read l; do echo \+ \\"${l/\.*/}\\" Function ChangeWallpaper "$l"; done'
DestroyFunc FuncChangeDispRes
AddToFunc FuncChangeDispRes
+ I DestroyMenu recreate FvwmMenuDisplayRes
+ I PipeRead 'echo "AddToMenu FvwmMenuDisplayRes"'
+ I PipeRead 'for x in $(xrandr |sed -e \'/\\(default\\|Screen\\)/d; s/^\\s\\+\\([0-9]\\{3,4\\}x[0-9]\\{3,4\\}\\).*/\\1/g\'); do \
echo \+ \\"$$$$x\\" Function ChangeResolution "$$$$x"; \
done'
DestroyFunc FuncViewManPage
AddToFunc FuncViewManPage
+ I Exec exec $TERM -e man "$0"
DestroyMenu "FvwmMenuWindowOps"
AddToMenu "FvwmMenuWindowOps" "WindowOps" Title
+ "&Move" Pick Move
+ Function FvwmFuncMoveOrRaiseLower
+ "&Resize" Pick Resize
+ Function FuncFvwmResizeOrRaiseOrShade
+ "R&aise" Raise
+ "&Lower" Lower
+ "(De)&Iconify" Iconify
+ "(Un)&Stick" Stick
+ "(Un)Ma&ximize" Function FuncFvwmMaximizeFullScreen
+ "" Nop
+ "&Identify" Module FvwmIdent
+ "" Nop
+ "&Close" Close
+ "&Delete" Delete
+ "D&estroy" Destroy
+ "" Nop
+ "Re&fresh Screen" Refresh
DestroyMenu "FvwmMenuWindowOps2"
AddToMenu "FvwmMenuWindowOps2"
+ "Move" Pick Move
#+ Function FvwmFuncMoveOrRaiseLower
+ "Resize" Pick Resize
#+ Function FuncFvwmResizeOrRaiseOrShade
+ "Raise" Raise
+ "Lower" Lower
+ "Iconify" Iconify
+ "(Un)Stick" Stick
+ "" Nop
+ "Identify" Module FvwmIdent
+ "" Nop
+ "Close" Close
+ "Destroy" Destroy
+ "Delete" Delete
+ "" Nop
+ "ScrollBar" Module FvwmScroll 2 2
DestroyMenu "FvwmMenuRoot"
AddToMenu "FvwmMenuRoot" "Root Menu" Title
+ MissingSubmenuFunction Beep
+ "&Shells" Popup FvwmMenuShellsPopup
+ "&Office" Popup FvwmMenuEditorsPopup
+ "&Internet" Popup FvwmMenuInternetPopup
+ "&Games" Popup FvwmMenuGamesPopup
+ "G&raphics" Popup FvwmMenuDrawingPopup
+ "&Misc" Popup FvwmMenuMiscPopup
+ "A&ppearance" Popup FvwmMenuAppearancePopup
+ "&Display" Popup FvwmMenuDisplay
+ "S&ystem Tools" Popup FvwmMenuSystemPopup
+ "So&und \& Video" Popup FvwmMenuSoundAndVideo
+ "" Nop
+ "&File Management" Popup FvwmMenuFilePopup
+ "" Nop
+ "&Window Operations" Popup FvwmMenuWindowOps2
+ "&Modules" Popup FvwmMenuModulesPopup
+ "&Help" Popup FvwmMenuHelpPopup
+ "" Nop
+ "&Lock Screen" Exec exec xscreensaver-command -lock
+ "E&xit Fvwm" Popup FvwmExitFvwmPopup
DestroyMenu "FvwmMenuAppearancePopup"
AddToMenu "FvwmMenuAppearancePopup"
+ "&Colors" Popup FvwmMenuColors
+ "&Wallpaper" Popup FvwmMenuWallpaper
+ "" Nop
+ "&Reset" Function ResetStyle
DestroyMenu "FvwmMenuMiscPopup"
AddToMenu "FvwmMenuMiscPopup" "Misc" Title
+ "&VMware" Exec exec vmware
+ "&googleearth" Exec exec googleearth
+ "&xplanet" Exec exec $[HOME]/.xplanet/xplanet.sh
DestroyMenu "FvwmMenuSoundAndVideo"
AddToMenu "FvwmMenuSoundAndVideo" "&Sound \& Video" Title
+ "&Alsa mixer" Exec exec $TERM -e "alsamixer"
+ "" Nop
+ "&Xmms" Exec exec xmms
+ "&Cplay (screen)" Exec exec $TERM -T "Cplay" -e "screen -T -RS cplay cplay"
+ "&Mocp" Exec exec $TERM -T "mocp" -e "mocp"
+ "" Nop
+ "A&udacity" Exec exec audacity
DestroyMenu "FvwmMenuShellsPopup"
AddToMenu "FvwmMenuShellsPopup" "Shells" Title
+ "rxvt (&unicode)" Exec exec urxvt -ls
+ "rxvt (unicode) Large" Exec exec urxvt -fn $[FontLarge]
+ "rx&vt (tabbed)" Exec exec urxvt -ls -pe tabbed
+ "&xterm" Exec exec xterm -ls
+ "x&term (unicode)" Exec exec uxterm -ls
+ "xt&erm (unicode) Large" Exec exec uxterm -ls -fn $[FontLarge]
+ "" Nop
+ "&mc" Exec exec $TERM -T "mc" -e "mc"
+ "" Nop
+ "&calc" Exec exec $TERM -T "calc" -e "calc"
+ "&gnuplot" Exec exec $TERM -T "gnuplot" -e "gnuplot"
+ "&python" Exec exec $TERM -T "python" -e "python"
+ "" Nop
+ "&festival" Exec exec $TERM -T "festival" -e "festival"
DestroyMenu "FvwmMenuSystemPopup"
AddToMenu "FvwmMenuSystemPopup" "System Utilities" Title
+ "x&console" Exec exec xconsole
+ "&xsysinfo" Exec exec xsysinfo
+ "x&osview" Exec exec xosview
+ "x&load" Exec exec xload
+ "x&fontsel" Exec exec xfontsel
+ "x&mag" Exec exec xmag
+ "xc&alendar" Exec exec xcalendar
+ "x&kbd" Exec exec xkbd
DestroyMenu "FvwmMenuDrawingPopup"
AddTomenu "FvwmMenuDrawingPopup"
+ "&Dia" Exec exec dia
+ "&Gimp" Exec exec gimp
+ "&Inkscape" Exec exec inkscape
+ "&Blender" Exec exec blender
DestroyMenu "FvwmMenuEditorsPopup"
AddToMenu "FvwmMenuEditorsPopup"
+ MissingSubmenuFunction Beep
+ "&X11" Popup FvwmSubEditorsX11
+ "&Console" Popup FvwmSubEditorsConsole
+ "&Office" Popup FvwmSubEditorsOffice
DestroyMenu "FvwmSubEditorsConsole"
AddToMenu "FvwmSubEditorsConsole" "Editors - Console" Title
+ MissingSubmenuFunction Beep
+ "&vim" Exec exec $TERM -bg white -fg black -e vim
+ "&nano" Exec exec $TERM -bg white -fg black -e nano
DestroyMenu "FvwmSubEditorsX11"
AddToMenu "FvwmSubEditorsX11" "Editors - X11" Title
+ MissingSubmenuFunction Beep
+ "&gvim" Exec exec gvim
+ "x&less" Exec exec xless
+ "&emacs" Exec exec emacs
+ "g&v" Exec exec gv
+ "x&pdf" Exec exec xpdf
+ "" Nop
+ "l&yx" Exec exec lyx
DestroyMenu "FvwmSubEditorsOffice"
AddToMenu "FvwmSubEditorsOffice" "Office" Title
+ MissingSubMenuFunction Beep
+ "&OpenOffice" Popup FvwmMenuOOSubMenu
DestroyMenu "FvwmMenuOOSubMenu"
AddToMenu "FvwmMenuOOSubMenu" "OpenOffice" Title
+ "&OpenOffice" Exec exec openoffice
+ "" Nop
+ "&Writer" Exec exec oowriter
+ "&Spreadsheet" Exec exec oocalc
+ "&Impress" Exec exec ooimpress
+ "&Drawer" Exec exec oodraw
+ "&Formulae" Exec exec oomath
DestroyMenu "FvwmMenuGamesPopup"
AddToMenu "FvwmMenuGamesPopup" "Games - Console" Title
+ "" Nop
+ "Games - X11" Title
+ "&counterstrike" Exec exec cs-1.6
+ "&doom" Exec exec lsdldoom
+ "&quake3" Exec exec quake3
DestroyMenu "FvwmMenuInternetPopup"
AddToMenu "FvwmMenuInternetPopup"
+ "&Browsers" Popup FvwmSubInternetBrowsers
+ "&Mail" Popup FvwmSubInternetMail
+ "&IRC" Popup FvwmSubInternetIRC
DestroyMenu "FvwmSubInternetBrowsers"
AddToMenu "FvwmSubInternetBrowsers" "Console Browsers" Title
+ "&links" Exec exec $TERM -T 'links' -e 'links'
+ "l&ynx" Exec exec $TERM -T 'lynx' -e 'lynx'
+ "&elinks" Exec exec $TERM -T 'elinks' -e 'elinks'
+ "&w3m" Exec exec $TERM -T 'w3m' -e 'w3m'
+ "X11 Browsers" Title
+ "&Firefox" Exec exec firefox
+ "&XLinks" Exec exec links -g
DestroyMenu "FvwmSubInternetMail"
AddToMenu "FvwmSubInternetMail" "Console Mail Clients" Title
+ "&mutt" Exec exec $TERM -e 'mutt'
+ "X11 Mail Clients" Title
+ "" Nop
DestroyMenu "FvwmSubInternetIRC"
AddToMenu "FvwmSubInternetIRC" "Console IRC" Title
+ "&Irssi" Exec exec $TERM -e 'irssi'
+ "X11 IRC" Title
+ "" Nop
DestroyMenu "FvwmMenuFilePopup"
AddToMenu "FvwmMenuFilePopup"
+ MissingSubMenuFunction FuncFvwmMenuDirectory
+ "/" Popup /
+ "/etc" Popup /etc
+ "Home Directory" Popup $[HOME]
DestroyMenu "FvwmMenuDisplay"
AddToMenu "FvwmMenuDisplay"
+ "&Resolution" Popup FvwmMenuDisplayRes
+ "&Calibrate" Exec exec lcdtest
DestroyMenu "FvwmMenuColors"
AddToMenu "FvwmMenuColors" "Predefined Colorsets" Popup FvwmMenuColorsetPreDef
AddToMenu "FvwmMenuColors" "Focused" Popup FvwmMenuColorFocused
AddToMenu "FvwmMenuColors" "Unfocused" Popup FvwmMenuColorUnfocused
AddToMenu "FvwmMenuColors" "Root" Popup FvwmMenuRootColor
DestroyMenu "FvwmMenuColorsetPreDef"
AddToMenu "FvwmMenuColorsetPreDef" DynamicPopupAction FuncChangeColorsetPredef
DestroyMenu "FvwmMenuColorFocused"
AddToMenu "FvwmMenuColorFocused" DynamicPopupAction FuncChangeColorFocused
AddToMenu "FvwmMenuColorUnfocused"
AddToMenu "FvwmMenuColorUnfocused" DynamicPopupAction FuncChangeColorUnfocused
DestroyMenu "FvwmMenuWallpaper"
AddToMenu "FvwmMenuWallpaper" DynamicPopupAction FuncChangeWallpaper
DestroyMenu "FvwmMenuRootColor"
AddToMenu "FvwmMenuRootColor" DynamicPopupAction FuncChangeColorRoot
DestroyMenu "FvwmMenuDisplayRes"
AddToMenu "FvwmMenuDisplayRes" DynamicPopupAction FuncChangeDispRes
DestroyMenu "FvwmMenuHelpPopup"
AddToMenu "FvwmMenuHelpPopup" "Fvwm Manpages" Title
+ "&Fvwm" FuncViewManPage fvwm
+ "Fvwm&Animate" FuncViewManPage FvwmAnimate
+ "FvwmA&uto" FuncViewManPage FvwmAuto
+ "Fvwm&Backer" FuncViewManPage FvwmBacker
+ "FvwmB&anner" FuncViewManPage FvwmBanner
+ "FvwmB&uttons" FuncViewManPage FvwmButtons
+ "Fvwm&Command" FuncViewManPage FvwmCommand
+ "FvwmC&onsole" FuncViewManPage FvwmConsole
+ "FvwmConsoleC.pl" FuncViewManPage FvwmConsoleC.pl
+ "FvwmCpp" FuncViewManPage FvwmCpp
+ "FvwmDebug" FuncViewManPage FvwmDebug
+ "FvwmDragWell" FuncViewManPage FvwmDragWell
+ "FvwmEvent" FuncViewManPage FvwmEvent
+ "FvwmForm" FuncViewManPage FvwmForm
+ "FvwmGtk" FuncViewManPage FvwmGtk
+ "FvwmGtkDebug" FuncViewManPage FvwmGtkDebug
+ "FvwmIconBox" FuncViewManPage FvwmIconBox
+ "FvwmIconMan" FuncViewManPage FvwmIconMan
+ "FvwmIdent" FuncViewManPage FvwmIdent
+ "FvwmM4" FuncViewManPage FvwmM4
+ "FvwmPager" FuncViewManPage FvwmPager
+ "FvwmPerl" FuncViewManPage FvwmPerl
+ "FvwmProxy" FuncViewManPage FvwmProxy
+ "FvwmRearrange" FuncViewManPage FvwmRearrange
+ "FvwmSave" FuncViewManPage FvwmSave
+ "FvwmSaveDesk" FuncViewManPage FvwmSaveDesk
+ "FvwmScript" FuncViewManPage FvwmScript
+ "FvwmScroll" FuncViewManPage FvwmScroll
+ "FvwmTaskBar" FuncViewManPage FvwmTaskBar
+ "FvwmTheme" FuncViewManPage FvwmTheme
+ "FvwmWharf" FuncViewManPage FvwmWharf
+ "FvwmWinList" FuncViewManPage FvwmWinList
+ "FvwmWindowMenu" FuncViewManPage FvwmWindowMenu
+ "" Nop
+ "fvwm-config" FuncViewManPage fvwm-config
+ "fvwm-perllib" FuncViewManPage fvwm-perllib
+ "fvwm-root" FuncViewManPage fvwm-root
+ "fvwm-bug" FuncViewManPage fvwm-bug
+ "fvwm-convert-2.2" FuncViewManPage fvwm-convert-2.2
+ "fvwm-convert-2.4" FuncViewManPage fvwm-convert-2.4
+ "" Nop
+ "fvwm-menu-desktop" FuncViewManPage fvwm-menu-desktop
+ "fvwm-menu-directory" FuncViewManPage fvwm-menu-directory
+ "fvwm-menu-headlines" FuncViewManPage fvwm-menu-headlines
+ "fvwm-menu-xlock" FuncViewManPage fvwm-menu-xlock
DestroyMenu "FvwmMenuModulesPopup"
AddToMenu "FvwmMenuModulesPopup" "Modules" Title
+ Audio Module FvwmAudio
+ Auto Module FvwmAuto 200
+ Buttons Module FvwmButtons
+ Console Module FvwmConsole
+ Event Module FvwmEvent
+ Proxy Module FvwmProxy
+ Ident Module FvwmIdent
+ Banner Module FvwmBanner
+ Pager Module FvwmPager 0 0
+ WinList Module FvwmWinList
DestroyMenu "FvwmExitFvwmPopup"
AddToMenu FvwmExitFvwmPopup "Exit Fvwm?" Title
+ "&Restart" Restart fvwm -f $./config
+ "&Quit" Module FvwmForm FvwmForm-QuitVerify
#Stroke support
#Mouse 3 R A StrokeFunc DrawMotion FeedBack StrokeWidth 1
Stroke 0 0 R N Menu MenuFvwmRoot
# Down, Then Up.
Stroke 25852 0 R N Refresh
# Directions...
Stroke 456 0 R N GotoPage +1p 0p
Stroke 654 0 R N GotoPage -1p 0p
Stroke 852 0 R N GotoPage 0p -1p
Stroke 258 0 R N GotoPage 0p +1p
# Diagonal...
Stroke 159 0 R N GotoPage +1p +1p
Stroke 951 0 R N GotoPage -1p -1p
Stroke 357 0 R N GotoPage -1p +1p
Stroke 753 0 R N GotoPage +1p -1p
# Module Configs
DestroyModuleConfig FvwmPager: *
*FvwmPagerFont $[FontNormal]
*FvwmPagerSmallFont $[FontTiny]
*FvwmPagerColorset * 2
##*FvwmPagerMiniIcons
#*FvwmPagerFore $[fg.cs0]
##*FvwmPagerNoDeskHilight
#*FvwmPagerWindowColors $[fg.cs0] $[bg.cs0] $[fg.cs1] $[bg.cs1]
##*FvwmPagerWindowBorderWidth 2
#*FvwmPagerGeometry 0x0+0+0
#*FvwmPagerDeskTopScale 29
*FvwmPagerSloppyFocus
*FvwmPagerUseSkipList
*FvwmPagerBalloons All
DestroyModuleConfig FvwmWinList: *
*FvwmWinListFont $[FontSmall]
*FvwmWinListFore $[fg.cs0]
*FvwmWinListBack $[bg.cs0]
*FvwmWinListFocusFore $[fg.cs0]
*FvwmWinListFocusBack $[bg.cs0]
*FvwmWinList: Action Click1 Function DeiconifyAndRaise
*FvwmWinList: Action Click2 Iconify
*FvwmWinList: Action Click3 Module FvwmIdent
Style FvwmButtons !Title, !Handles, CirculateSkip, NeverFocus, Sticky, \
WindowListSkip
Style Buttons-Slider NoTitle, NoHandles, !Borders, StaysOnTop
Style *bar* !Handles, !Borders, SloppyFocus, StaysOnTop
DestroyModuleConfig bar: *
*bar: Rows 1
*bar: Columns 6
*bar: Colorset 2
#*bar: Pixmap slate.pat.xpm
*bar: Geometry 880x80+0+870
#*bar: (6x1,Swallow(UseOld, NoHints, Respawn) "")
*bar: (2X1,Swallow "xnetload" "Exec xnetload -bg $[bg.cs2] -fg $[fg.cs2] -novalues -nointerface -update 10 &",Action (Mouse 1) 'Exec $TERM -e watch -n 1 -d -t netstat -vant')
*bar: (2x1,Swallow "xload" "Exec xload -bg $[bg.cs2] -fg $[fg.cs2] -nolabel -update 30 &",Action (Mouse 1) 'Exec $TERM -e top')
*bar: (1x1,Swallow "xeyes" "Exec xeyes +shape -bg $[bg.cs2] -fg $[fg.cs2] &",Action (Mouse 1) 'Exec xmag')
*bar: (1x1,Swallow "xbiff" 'Exec xbiff -bg $[bg.cs2] -fg $[fg.cs2] -file /var/spool/mail/$USER &',Action (Mouse 1) 'Exec $TERM -e mutt')
*bar: (2x1,Swallow "sunclock" 'Exec sunclock -clockgeom 160x60 -dock -nosun -nomoon -setfont "clockstrip|$FontNormal" -colorlevel 1 -setcolor "clockbg|$[bg.cs2]" -setcolor "clockfg|$[fg.cs2]" -setcolor "clockstripbg|$[bg.cs2]" -setcolor "clockstripfg|$[fg.cs2]"'
*bar: (1x1,Swallow "xclock" "Exec xclock -bg $[bg.cs2] -fg $[fg.cs2] -hl $[fg.cs2] -hd $[fg.cs2] -norender &",Action (Mouse 1) 'Exec date | $OSD')
*bar: (2x1,Swallow "FvwmPager" "Module FvwmPager 0 0")
DestroyModuleConfig Buttons-Slider: *
#*Buttons-Slider: Pixmap slate.pat.xpm
*Buttons-Slider: Colorset 2
*Buttons-Slider: Rows 1
*Buttons-Slider: Frame 1
*Buttons-Slider: Padding 0 0
*Buttons-Slider: (Panel(NoBorder, Nohints, left, steps 15, delay 6, indicator 10) "bar" \
'Module FvwmButtons bar')
#DestroyModuleConfig volbar: *
#*volbar: Back darkgrey
#*volbar: Columns 1
#*volbar: Rows 1
#*volbar: (1x1,Action (Mouse 1) \
# "Exec $./scripts/volume.sh toggle", \
# Action (Mouse 4) \
# "Exec $./scripts/volume.sh inc 3", \
# Action (Mouse 5) \
# "Exec $./scripts/volume.sh dec 4", \
# Title "Volume")
#DestroyModuleConfig cmdbar: *
#*cmdbar: Back darkgrey
#*cmdbar: Columns 1
#*cmdbar: Rows 2
#*cmdbar: (5x1,Swallow "FvwmConsole" 'Module FvwmConsole -bg darkgrey')
#*cmdbar: (5x1,Swallow(UseOld, NoHints, Respawn) "fvwmterm" \
# "Exec exec urxvt -T fvwmterm \
# -fn -misc-fixed-medium-r-normal-*-11-*-*-*-*-*-*-* \
# -bg darkgrey -fg black +sb -e bash --rcfile $./.Fvwm-bashrc")
#DestroyModuleConfig mpdbar: *
#*mpdbar: Back darkgrey
#*mpdbar: Columns 5
#*mpdbar: Rows 2
#*mpdbar: (1x1, Action (Mouse 1) 'Exec mocp --play &>/dev/null', Icon \
# $./icons/play.png)
#*mpdbar: (1x1, Action (Mouse 1) 'Exec mocp --pause &>/dev/null', Icon \
# $./icons/pause.png)
#*mpdbar: (1x1, Action (Mouse 1) 'Exec mocp --stop &>/dev/null', Icon \
# $./icons/stop.png)
#*mpdbar: (1x1, Action (Mouse 1) 'Exec mocp --prev &>/dev/null', Icon \
# $./icons/prev.png)
#*mpdbar: (1x1, Action (Mouse 1) 'Exec mocp --next &>/dev/null', Icon \
# $./icons/next.png)
#*mpdbar: (5x1)
*LoginGrabServer
*LoginWarpPointer
*LoginFont $[FontMedium]
*LoginButtonFont $[FontMedium]
*LoginInputFont $[FontMedium]
*LoginFore $[fg.cs0]
*LoginBack $[bg.cs0]
*LoginItemFore $[fg.cs1]
*LoginItemBack $[bg.cs1]
# begin items
*LoginLine center
*LoginText "Start Options:"
*LoginLine center
*LoginButton quit " Quick Start " ^[
*LoginLine center
*LoginButton quit "All Programs" ^M
*LoginCommand RunProgs
Style "Login" !Title, !Handles, BorderWidth 10
DestroyModuleConfig FvwmEvent-count: *
*FvwmEvent-count: Cmd
*FvwmEvent-count: PassId
*FvwmEvent-count: add_window FvwmCountDestroyWindows
*FvwmEvent-count: destroy_window FvwmCountDestroyWindows
DestroyModuleConfig FvwmEvent-decrxvt: *
*FvwmEvent-decrxvt: Cmd
*FvwmEvent-decrxvt: PassId
*FvwmEvent-decrxvt: destroy_window FvwmDecrementRCount
#Specific to FvwmEvent-count
DestroyFunc FvwmCountDestroyWindows
AddToFunc FvwmCountDestroyWindows
+ I SetEnv WinNum 0
+ I All (CurrentDesk !Transient) \
PipeRead 'echo SetEnv WinNum $$$$(($$$$WinNum + 1))'
#+ I Echo $[WinNum]
+ I DesktopName 0 Main ($[WinNum])
AddToFunc FvwmDecrementRCount
+ I PipeRead "test $[RCOUNT] -le 0 && echo SetEnv RCOUNT 1 \
|| echo SetEnv RCOUNT $$$$(($$$$RCOUNT - 1))"
DestroyFunc ChangeStyle
AddToFunc ChangeStyle
+ I ColorSet $*
+ I Style * HilightColorSet $0 $*
+ I UpdateStyles
DestroyFunc ResetStyle
AddToFunc ResetStyle
+ I Function ChangeColorFocused "$[bg.cs0]"
+ I Function ChangeColorUnFocused "$[bg.cs1]"
DestroyFunc ChangeColorFocused
AddToFunc ChangeColorFocused
+ I Style * HilightBack "$*"
DestroyFunc ChangeColorUnfocused
AddToFunc ChangeColorUnfocused
+ I Style * BackColor "$*"
DestroyFunc ChangeColorRoot
AddToFunc ChangeColorRoot
+ I Exec exec xsetroot -solid "$*"
DestroyFunc ChangeWallpaper
AddToFunc ChangeWallpaper
+ I Exec xsetbg $./wallpaper/"$*"
DestroyFunc ChangeResolution
AddToFunc ChangeResolution
+ I Exec exec xrandr -s $0
DestroyFunc PackWindowUp
AddToFunc PackWindowUp
+ I SetEnv low_w 0
+ I WindowId $3 Raise
+ I All (CurrentPage !Iconic AcceptsFocus \
!Shaded) PipeRead "test `expr $[w.y] + $[w.height]` -gt $[low_w] \
-a `expr $[w.y] + $[w.height]` -lt $0 \
-a \\( \\( $[w.x] -gt $1 -a $[w.x] -lt `expr $1 + $2` \\) \
-o \\( $1 -gt $[w.x] -a $1 -lt `expr $[w.x] + $[w.width]` \\) \
-o \\( $1 -le $[w.x] -a `expr $1 + $2` -ge `expr $[w.x] + $[w.width]` \\) \
-o \\( $[w.x] -lt $1 -a `expr $[w.x] + $[w.width]` -gt `expr $1 + $2` \\) \
\\) \
&& echo SetEnv low_w `expr $[w.y] + $[w.height]` \
|| echo Nop"
+ I WindowId $3 AnimatedMove keep $[low_w]p
#+ I WindowId $3 RefreshWindow
AddToFunc PackWrapperUp I NoWindow PackWindowUp $[w.y] $[w.x] $[w.width] $[w.id]
#####
# Name: PackWindowDown
# Bound: Alt+Shift+Down When a window is active.
# Purpose: See PackWindowUp.
#
#################
DestroyFunc PackWindowDown
AddToFunc PackWindowDown
+ I SetEnv high_w $[vp.height]
+ I WindowId $3 Raise
+ I All (CurrentPage !Iconic AcceptsFocus \
!Shaded) PipeRead "test $[w.y] -lt $[high_w] \
-a $[w.y] -gt `expr $0 + $4` \
-a \\( \\( $[w.x] -gt $1 -a $[w.x] -lt `expr $1 + $2` \\) \
-o \\( $1 -gt $[w.x] -a $1 -lt `expr $[w.x] + $[w.width]` \\) \
-o \\( $1 -le $[w.x] -a `expr $1 + $2` -ge `expr $[w.x] + $[w.width]` \\) \
-o \\( $[w.x] -lt $1 -a `expr $[w.x] + $[w.width]` -gt `expr $1 + $2` \\) \
\\) \
&& echo SetEnv high_w $[w.y] \
|| echo Nop"
+ I PipeRead "echo WindowId $3 AnimatedMove keep `expr $[high_w] - $4`p"
#+ I WindowId $3 RefreshWindow
AddToFunc PackWrapperDown I NoWindow PackWindowDown $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]
#####
# Name: PackWindowLeft
# Bound: Alt+Shift+Left When a window is active
# Purpose: See PackWindowUp.
#
# The Logic works likes this:
# 1. Set Destination to the Left Edge
# 2. For every window, Run these tests:
# + Is the Window's Right edge further _Right_ than furthest edge seen yet?
# And: + Is it's Right edge Further _Left_ than Target Windows Left edge? (ie,
#in the way)
# Yes:
# + Does the window start inside Target Window, and end below?
# Or + Does it start above, and end inside?
# Or + Is it the same vertical position/height/size, or start inside and
#end inside?
# Or + Does it start above, and end below?
# Yes:
# This is the new Destination.
# No:
# Nop
# No:
# Nop
# 3. Move to Destination.
#
#################
DestroyFunc PackWindowLeft
AddToFunc PackWindowLeft
+ I SetEnv left_w 0
+ I WindowId $3 Raise
+ I All (CurrentPage !Iconic AcceptsFocus \
!Shaded) PipeRead "test `expr $[w.x] + $[w.width]` -gt $[left_w] \
-a `expr $[w.x] + $[w.width]` -lt $1 \
-a \\( \\( $[w.y] -gt $0 -a $[w.y] -lt `expr $0 + $4` \\) \
-o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt $0 \\) \
-o \\( $[w.y] -ge $0 -a `expr $[w.y] + $[w.height]` -le `expr $0 + $4` \\) \
-o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt `expr $0 + $4` \\) \
\\) \
&& echo SetEnv left_w `expr $[w.x] + $[w.width]` \
|| echo Nop"
+ I WindowId $3 AnimatedMove $[left_w]p keep
#+ I WindowId $3 RefreshWindow
AddToFunc PackWrapperLeft I NoWindow PackWindowLeft $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]
DestroyFunc PackWindowRight
AddToFunc PackWindowRight
+ I SetEnv right_w $[vp.width]
+ I WindowId $3 Raise
+ I All (CurrentPage !Iconic AcceptsFocus \
!Shaded) PipeRead "test $[w.x] -lt $[right_w] \
-a $[w.x] -gt `expr $1 + $2` \
-a \\( \\( $[w.y] -gt $0 -a $[w.y] -lt `expr $0 + $4` \\) \
-o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt $0 \\) \
-o \\( $[w.y] -ge $0 -a `expr $[w.y] + $[w.height]` -le `expr $0 + $4` \\) \
-o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt `expr $0 + $4` \\) \
\\) \
&& echo SetEnv right_w $[w.x] \
|| echo Nop"
+ I PipeRead "echo WindowId $3 AnimatedMove `expr $[right_w] - $2`p keep"
#+ I WindowId $3 RefreshWindow
AddToFunc PackWrapperRight I NoWindow PackWindowRight $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]
AddToFunc StartFunction
#+ I Exec exec xsetroot -solid black
#+ I Exec exec xrdm -merge $[HOME]/.Xdefaults
#+ I Exec exec xmodmap $[HOME]/.Xmodmap
#+ I Exec exec xscreensaver
#+ I Exec exec lineakd
+ I Test (Init) Module FvwmForm Login
+ I Module FvwmButtons -g 13x80+1268+943 Buttons-Slider
+ I Module FvwmEvent FvwmEvent-count
+ I Module FvwmEvent FvwmEvent-decrxvt
+ I Module FvwmCommandS
+ I Module FvwmAnimate
+ I Module FvwmProxy
#+ I Module FvwmWinList
AddToFunc RestartFunction
+ I All (Buttons-Slider) close
+ I Exec exec lineakd -r
DestroyFunc RunProgs
AddToFunc RunProgs
+ I Exec exec $TERM
+ I Exec exec firefox
+ I Exec exec $TERM -e mutt
AddToFunc ExitFunction I Nop
#Maybe something will go here one day.