######################################################################
# FVWM - main configuration file
######################################################################

ImagePath +:/all/share/icons
ImagePath +:/usr/local/share/pixmaps
ImagePath +:/usr/share/pixmaps/fvwm
ImagePath +:/home/bscott/.fvwm/icons_distro
ImagePath +:/usr/share/icons/hicolor/16x16/apps
ImagePath +:/usr/share/icons/wm-icons/mini
ImagePath +:/usr/share/icons/wm-icons/16x16-general
ImagePath +:/usr/share/pixmaps

Emulate Fvwm
GeometryWindow hide Never
OpaqueMoveSize unlimited
BusyCursor DynamicMenu True, Read True

# Do not consider "Caps Lock", "Num Lock", and "Scrol Lock" keys as
# modifiers for keyboard bindings.  Otherwise you need bindings
# for each possible combination of locking key toggle states.
IgnoreModifiers L25

######################################################################
# virtual desktop

# to change the number of virtual desktops, change:
#   DesktopName declarations (in main.conf)
#   GotoPage bindings (in bindings.conf)
#   Pager dimensions (in modules/Dock.conf)

# these are as much to pre-establish the desktops as anything
DesktopName 0 Desk0
DesktopName 1 Desk1
DesktopName 2 Desk2
DesktopName 3 Desk3
DesktopName 4 Desk4

# size of each virtual desktop, WxH, in multiples of physical screens
# currently each desktop is the same size as the screen
# when working with a low-res screen, increase this for large virtual desktop
DeskTopSize 1x1

# border edge size, in pixels, for auto-scroll mouse detection
# only useful when desktop size is greater than one page
# if this is zero, viewport will not scroll when mouse hits screen edge
EdgeThickness 0
# amount to scroll viewport when mouse hits edge, in pixels
EdgeScroll 5p 5p
# when mouse hits screen edge, wait X miliseconds before scrolling viewport
# (Style uses "Delay" for this, and "Resistance" for something else)
EdgeResistance 0
# as above, but while moving a window.  -1 disables.
Style * EdgeMoveDelay -1
# as above, but while resizing a window.  -1 disables.
Style * EdgeResizeDelay -1
# How many pixels "off the edge of the screen" the pointer has to try to move
# before the window actually moves off the edge.
Style * EdgeMoveResistance 0

# FIXME EdgeResizeResistance does not seem to be a thing, per docs + Google.
# Did I just dream this up one day and never notice it errors?
#Style * EdgeResizeResistance 0

# objects act magnetic (pull together) if within X pixels
# All = all objects (as opposed to just windows, or just icons, etc.)
# Screen = also snap to screen edges the same way (FIXME not working?)
Style * SnapAttraction 10 All Screen

# window maximize/placement exclusion: l r t b
# 72 = 64 for dock, plus 4+4 for frame on each side
EwmhBaseStruts screen DisplayPort-0 72 0 0 0
EwmhBaseStruts screen DisplayPort-2 0  0 0 0
#EwmhBaseStruts 72 0 0 0

######################################################################
# read in sub-files

Read colors.conf
Read titlebar.conf
Read styles.conf
Read menus.conf
Read distro_menus.conf
Read bindings.conf
Piperead 'for m in $HOME/.fvwm/modules/*.conf ; do echo Read $m ; done'
Read functions.conf

######################################################################
# END OF FILE
######################################################################
