H.Merijn Brand > cshmen-3.50_01 > cshmen

Download:
cshmen-3.50_01.tgz

Annotate this POD

Source  

NAME ^

cshmen, xamen - Basic menu application in curses or perl/Tk

SYNOPSYS ^

  # cshmen [-?] [-a] [-e] [-d] [-v] [-n] [-m dir] [menu]

  # xamen  [-?] [-a] [-e] [-d] [-v] [-n] [-m dir] [menu]

DESCRIPTION ^

cshmen is a low level recursive menu program using curses. xamen is the perl/Tk translation for cshmen

INSTALLATION ^

As this was built for internal use only, there are no serious attempts yet made to create a working environment for building and installing.

 $ make

Should build cshmen in the current folder. You might need to change #include <curses.h> to #include <ncurses.h> and maybe some lines in the Makefile too.

DOCUMENTATION ^

This is seriously missing in this dist, as the only available documentation is written in Uniplex. In Dutch. Both pretty useless for the OpenSource community.

Menu format ^

The menu files

A menu file consists of menu lines. Each line looks like

ID:MenuText:Command:State[:HelpFile]

ID

Two ID's are required: "H" for Header, and "Q" for Footer. In these two cases, the State is ignored (but still required).

The H-line will be used to display the menu title. The command may optionally define a different environment for this menu (and all the descendants).

The Q-line will be shown on the last line and is a placeholder for the <Back> action. Text is shown, but Command is ignored.

For all the other lines ID denotes the line to display this item on, optionally followed by a letter to use instead (default is the line number). Lines 10 though 16 are indicated by 'A' through 'F'.

    H:Home menu      ::1
    1:Text for line 1:echo line 1:1
    3=F:Fortune      :fortune:2
    B:Test menu      :M test_menu:1
    Q:Stop           ::1
MenuText

Free text to show in the menu. The colon is forbidden. and the underscores are translated to space.

Command

The command to be invoked A command can be a series of commands seperated by ' ; '. Whitespace matters. Each command can have optional command line arguments, redirection and a execution folder. Arguments can be questions.

Commands that start with 'M ' call a menu. No ' ; ' allowed. If you *do* have a command 'M', use 'env'.

  proc @Directory 1>/tmp/proc-1.log 2>>/tmp/proc-2.log -
       ?0QuestText[,[DefaultValue][,[Prefix][,[Options][,[HelpFile]]]]
State
 0 = Not shown (hidden). Item cannot be selected
 1 = Normal, active
 2 = Normal, but wait after execution finishes with a user prompt
HelpFile

Optional help description for this item

TODO ^

 * Documentation: pod, manual page or serious readme. NO info!
 * A better Makefile
 * Some sort of install procedure
 * example menu's
 * See top of xamen

AUTHOR ^

H.Merijn Brand, <h.m.brand@procura.nl>

COPYRIGHT AND LICENSE ^

Copyright (C) 1986-2006 H.Merijn Brand, PROCURA B.V.

it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

syntax highlighting: