ft's fvwm setup

If you find this setup to feel slightly like another window manager,
that might just be for the reason, I used that wm for ages and I really
did like it a lot. I switched to fvwm because of its flexibility.

fvwm-dotfiles.tar.bz2

Screenshots: [[ clean ]](/comp/fvwm/clean.png) [[ simple ]](/comp/fvwm/simple.png) [[ busy ]](/comp/fvwm/busy.png)
clean:
      right after the start
simple:
      that is about what my screen looks like normally
busy:
      this is a bit much. you can see icons, focused/unfocued/shaded windows,
      and the menu, which uses generated thumbnails of wallpapers.

config
Reads other files and starts FvwmPerl.

config.d/functions
Defines all functions used in this setup (except for 'init', see below).

config.d/vars
A few variables defined by 'SetEnv'.

config.d/cursor
Frankly, the standard cursors suck. This file's contents fix that.

config.d/colorsets
Colordefinitions.

config.d/decor
Window decorations (including the look of the titlebar buttons.

config.d/mouse
Fvwm let's you define everything you'd like. This file defines which mouse button does what.

config.d/keys
Thy keyboard setup.

config.d/menus
This defines all menus (static and dynamic).

config.d/fvwmbuttons
Being the WindowMaker Fan that I am, I can only work if I got a "Dock" and a "Clip". :-)
Both are implemented in this file using FvwmButtons.

config.d/fvwmform
Implements a "Run..." dialog using FvwmForm.

config.d/modules
Misc module configuration.

config.d/desktops
Desktop size/names etc.

config.d/misc
Everything, that doesn't fit elsewhere.

config.d/styles
Defining 'styles' using Styles. :-)
These are various settings; see fvwm(1)

config.d/init
Functions called at fvwm startup (and restart).



Scripts used by the configuration.

bin/fvwm_launch.sh
Shell script, that launches applications with certain settings.
Probably most useful for apps, that are terminals which run screen
session with special setups and therefore need more care with
(re)attaching to them etc.
bin/gen_menu_wallpapers.pl
This Perl script implements my dynamic wallpaper menu.
bin/gen_move_menu.pl
This Perl script implements my dynamic move menu for all windows.
bin/load_std.pl
Yet another Perl script, that starts certain applications on certain
desktops. This script is behind the 'load standard apps' feature of the menu.
bin/matlabstart.sh
A script that starts matlab in the appropriate working directory.
bin/screen_running.sh
Prints '1' if a certain screen session is running; '0' otherwise.
Used internally.
bin/xlockhibernate.sh
Lock the screen and go into hibernation.



Scripts used by scripts used by the configuration. :-)

lib/launch/launch_email.sh
Launches a terminal with screen in which mutt, cmus, wyrd and slrn are running.

lib/launch/launch_misc.sh
Launches a terminal with a plain screen running zsh.

lib/launch/launch_web.sh
And here we got another terminal, again with screen, that runs w3m for
various websites.



Configuration for all those scripts.

etc/fvwm_launch.cfg
Global configuration for fvwm_launch.sh.

etc/launch_email.cfg
Specific configuration for launch_email.sh.

etc/launch_misc.cfg
Specific configuration for launch_misc.sh.

etc/std_programs.cfg
Configuration for the load_std.pl script.