What you can do with the package:

First of all, you can test it. :) cd into the top-level t/ directory, and execute 
./runtests.sh. Be sure you do it in this directory, and ONLY in this directory!

You can also try out the three applications I have written thus far.

vaction 
-------

The vaction utilities associate MIME and URI types with programs

Edit the program catalogs that associate MIME and URI types with programs
using vaction-dialog.pl and vaction-gtk2.pl. When you have configured some
media types, you can test your configuration with vopen.pl. To give you an
idea of how this works, look at the example catalog for application/pdf:

<?xml version="1.0" encoding="utf-8"?>

<catalog>
  <!-- Generated by VASM -->
  <command>xpdf %s</command>
  <command>gv %s</command>
  <command>kpdf %s</command>
</catalog>

If you have xpdf installed, doing something like: vopen.pl /path/to/some.pdf
will open the file with xpdf. If you don't have xpdf, it will move on to gv,
and kpdf as a last resort.

I also wrote functionality for installing _templates_, tar(ball) archives
containing pre-made configurations for media types. For example, there might
be one that sets things up for lightweight programs, one for people who like
KDE, etc. Think of it as themes for application preferences. This feature
works fine; I just haven't arranged any templates yet!

If you want to make a template, all you have to do is create application
preferences using the editor, then cd to /path/to/vasm/root/config/vasm/Action
and type something like: tar czf my_template.tgz *, then save it somewhere you
won't lose it. :)

vsuper
-----

Using vsuper is as simple invoking vsuper-dialog.pl or vsuper-gtk2 with a
command name and any arguments that follow it. The only limitation is that you
may not run full-screen console programs like vi and cfdisk; it is, however,
possible to see the output of simple console programs like ls. You can work
around this defect in X with the terminal script (see below) and the -e flag like so:

./vsuper-dialog.pl terminal -e vi

But how does this work, you ask? Isn't root denied access to the X server?
Yes, but both vsuper programs transiently lift that restriction and then
reinstate it upon termination of the program, all transparently.

vmenu
-----

vmenu is a simple menu editor for Gtk2 that produces a single generic template
menu, from which to render window manager-specific menu instances. After
creating or editing a menu, you can generate the corresponding usable menu
files with the script vmenu-translate.pl; currently, the facilities support
Fluxbox, IceWM, WindowMaker, and XFce4. The files created in doing so will
be located in /path/to/vasm/root/config/vasm/Menu/Translation/File. The
process of translation takes icons into account, transfigures them as
necessary for the target window manager, and places the resulting files in
/path/to/vasm/root/config/vasm/Menu/Translation/Icon. All you have to do is
include these files in your window manager menu:

Fluxbox (~/.fluxbox/menu):

[begin] (Fluxbox)
  [include] (~/svn/VASM/trunk/config/vasm/Menu/Translation/File/Fluxbox)
  [exec] (terminal) {terminal}
...

IceWM (~/.icewm/menu):

menufile "VASM Menu" "vasm.png" /path/to/VASM/root/config/vasm/Menu/Translation/File/IceWM
menu "Console" "terminal.png" {
...

XFce4

Use xfce4-menueditor to include the external menu
/path/to/vasm/root/config/vasm/Menu/Translation/File/XFce4

WindowMaker

Use WPrefs to include the external menu
/path/to/vasm/root/config/vasm/Menu/Translation/File/WindowMaker?

If some window managers have their own menu editors, why waste the effort
writing a new one? Because we all get sick of fiddling with a bunch of
unique menu formats! Everyone loves abstraction, especially when someone else
provided (and spent a bunch of elbow grease on) it!

vpasswd
-------

These are also very easy to use. Simply execution of vpasswd-cdialog.pl or
vpasswd-gtk2.pl, without argument, will set the password of your account as
does the traditional passwd utility. With a single command line argument and
root privileges, it will set a new password for an arbitrary user.

The vpasswd utilities were written for inexperienced new users as well as a
sense of completion. :)

terminal
--------

The terminal script abstracts the differences between the various terminal
programs that exist for Vector Linux as well as it can. So instead of typing:

aterm -geometry 80x24 -fn 10x20 -tr -trsb -tint cyan -sh 60 -fg cyan \
-bg black +sb -e cfdisk

you simply type 'terminal -e cfdisk' after configuring several options in a
relatively user-friendly configuration profile. These are merely shell
scripts, located in the directory ~/.terminal, that the script sources to
establish variable definitions. terminal will choose the profile named
'default' unless you explicitly specify another with the -p flag. profile. In
lieu of any terminal profile, the script will assume some comfortable (in the
author's opinion) fallback settings.

To give you an idea of how terminal profiles work, the author's default
profile is included here:

#!/bin/sh

APP=aterm
# screen takes care of that
LOGIN=no
# Transparency is sometimes good...
TRANSPARENT=yes
# ...and so is being able to see when I'm forty
FONT=normal
# Cyan foreground
FG=cyan
# Shading varies depending on background
SHADE=40

This produces a rather nice configuration you can see in the screenshots
subdirectory.

gentags.sh
----------

This is a utility script hanumizzle uses to generate tags for all the Perl
files in a given directory. It follows the pattern: gentags.sh -C dir -o tags,
where -C dir is the directory containing Perl source files and -o is the name
of the output tags file. It's basically interesting only to a programmer (and
specifically, a Perl programmer).
