Scripting interactive console menus...

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Jeremy C. Reed
Date:  
Subject: Scripting interactive console menus...
On 8 Aug 2003, Entelin wrote:

> What scripting language / extensions would be best to use to write an
> interactive console text menu system. I am thinking of something like
> the kernel's menuconfig only in a scripting language rather than C. Any
> idea's ?


Linux's Menuconfig uses lxdialog which is based on xdialog. So look at
dialog and xdialog. dialog is available from sunsite (or ibiblio) mirrors
under the utils/shell category. xdialog is at http://xdialog.dyns.net/

Also:

 DialogML -- Awk script for using XML dialog definitions
   has console mode or can use dialog/Xdialog
   http://dialogml.sourceforge.net/
 http://kaptain.sourceforge.net/ (uses QT)
   grammar scripts seem difficult to understand
   can have actions where it runs programs
   has many features (widgets), but the main goal is to provide gui
    for getting the command line options/switches for running another command
 gdialog (in gnome-utils)
 Wxdialog -- based on old Xdialog code for building wizards
 wdialog "wizard like dialog" (consolei and X?)
 - Wdialog tool that merges cdialog and Xdialog into one tool with wizard
   and multi-edit dialogs
   (not same as WDialog the Caml-based widgets for HTTP)
 dialog (console uses curses library)
 cdialog (console)
 whiptail (console uses newt library) (a dialog clone)
 Xdialog (GTK+ drop-in replacement for dialog, cdialog and gdialog)
   -- has wizards (basically uses "Next", "Cancel" and "Previous")
   - progress bars, check buttons, beeps, etc.



Some of the above are for the X11 environment.

I already had that list because I researched this last August. I wrote a
tool called xui that read in a specification and then created X11 menus.
See http://www.reedmedia.net/software/xui/


Some others for C (non-scripting):
libmenu
menuc
libform
slang

Jeremy C. Reed
http://bsd.reedmedia.net/