


XCMDPANEL(1.3)       Talisman User Commands        XCMDPANEL(1.3)



NAME
     xcmdpanel - command panel utility for X

SYNOPSIS
     xcmdpanel [-help] [-debug] [-ghost|-noghost] [-boxed|-paned]
     [-oneshot|-persist] [filename]

DESCRIPTION
     The xcmdpanel program   allows the user     to run  a  user-
     configured command panel on a workstation display running X.
     Each xcmdpanel is composed of buttons, each of which may  be
     configured  to  run  a  shell command using the Bourne shell
     sh(1).  Buttons   without   associated commands  are  merely
     used as labels.

OPTIONS
     The various options may  appear in any order:

     filename
          A file containing the label/command pairs and  comments
          used   to   configure  an  invocation  of  xcmdpanel.
          Defaults  to  .xcmdpanel  in  thecurrent  directory  or
          ~/.xcmdpanel  in the home directory if .xcmdpanel    is
          unavailable.

     -help
          Print a   usage message and exit.

     -ghost
          Allow  each  button   to   be  activated   only   once,
          whereafter    that  button  will be ghosted to indicate
          that it is  no longer valid.

     -noghost
          Don't use ghosting, instead allow multiple use  of  all
          command buttons (the default).

     -boxed
          Use the   boxedWidget  to  manage  the  buttons.   This
          causes   the   buttons   to   appear  in  a  tray-style
          arrangement.

     -paned
          Use  the   panedWidget  to  manage  the  buttons   (the
          default).   This  causes  the buttons to appear in    a
          single column.

     -oneshot
          The  panel  will  exit  after  the  first   button   is
          activated     and its command, if any, completed.

     -persist



X Version 11         Last change: Release 5                     1






XCMDPANEL(1.3)       Talisman User Commands        XCMDPANEL(1.3)



          Don't use oneshot, that  is, the   panel persists until
          explicitly exited (the default).

     xcmdpanel will also accept the standard X  Toolkit  options;
     see the xterm(1) manual page, subsection RESOURCES.

USAGE
     The xcmdpanel  has been used to ease project management,  to
     pop  up  automatically  generated menus, and to  handle menu
     hierarchies.   It  is    characterized  by  small,  project-
          and  directory-specific  menus,  generally run  at need
     rather than from xinit(1) or the like.

     Output   from   a   particular   invocation   of   xcmdpanel
     will  generally  show  up  in the xterm(1) from which it was
     invoked.  Hence the parent  terminal  is  often  used  as  a
     display window for ls(1) and make(1) output.

     The configuration file is composed of labels and commands in
     parentheses,      and      comments      (any     not     in
     parentheses).  Nesting   of parentheses is observed unless a
     parenthesis  is  escaped   with  a  backslash, which  itself
     may be so escaped   (see SCRIPTS).

     All text outside of parentheses    is ignored.

     Parenthesized strings  are  automatically paired,   ignoring
     newlines.   Any  label  associated with     an empty command
     string is considered to  be a  text  button  rather  than  a
     title   button,   and   is  automatically  ghosted.   Labels
     may    also be   empty strings, and will produce blank  text
     boxes in the resulting menu.

EXAMPLES
     To use the  underlying  X  Toolkit   options   to  select  a
     particular font:

          xcmdpanel -fn  '*sony*24*'

     Another   example   using explicit resources:

          xcmdpanel -xrm '*font: *sony*24*'

     To get the same     effect  through  an  X  RESOURCES  file,
     include the following line in your resources file:

          xcmdpanel*font: *sony*24*

SCRIPTS
     A project menu:





X Version 11         Last change: Release 5                     2






XCMDPANEL(1.3)       Talisman User Commands        XCMDPANEL(1.3)



              Label   Command

          (Title)        ()
          ( ( \)    ) )   ()  a test label showing parens
          ()        ()
          (Clear)        (clear &)
          (Make)         (make &)
          (Edit File)    (${EDITOR} `ifc     .` &)     InterViews only
          (Run a.out)    (a.out &)      execute
          (List)         (echo listing ;     ls -Flasg &)
          (Du)      (du . &)
          (Update   Menu)     (xcmdpanel -debug &)
          (Time Test)    (sleep 5)

     Generating an audio menu on a Sun SPARC in csh(1):


          rm .xcmdpanel
          foreach   file ( *.au )
              echo -n "(`expr $file : '\(.*\).au'`)" >>     .xcmdpanel
              echo    "(cat $file  > /dev/audio)"    >> .xcmdpanel
          end
          xcmdpanel -boxed &

     Generating an audio menu on a Sun SPARC in sh(1):


          for file in *.au
          do
              echo -n "(`expr $file : '\(.*\).au'`)"
              echo    "(cat $file  > /dev/audio)"
          done > .xcmdpanel
          xcmdpanel -boxed &

X RESOURCES
     xcmdpanel uses the following X resources:

     paned (class   Paned)
                   Indicates whether to use the  panedWidget.
                   Defaults  to  true.  If false, the boxedWidget
                   is used instead.

     ghost (class   Ghost)
                   Indicates whether buttons are  to  be  ghosted
                   after selection.  Defaults to false.

     debug (class   Debug)
                   Whether   or not to do  debugging.    Defaults
                   to false.

     oneshot (class Oneshot)
                   Determines whether the panel exits after first



X Version 11         Last change: Release 5                     3






XCMDPANEL(1.3)       Talisman User Commands        XCMDPANEL(1.3)



                   button activation.  Defaults to false.

     xcmdpanel also uses the resources of its subwidgets, includ-
     ing   the   commandWidget,   panedWidget,   boxWidget,   and
     textWidget.

FILES
     .xcmdpanel          The usual  configuration  file  (in  the
                         current   dir)   for  an  invocation  of
                         xcmdpanel.
     ~/.xcmdpanel        Default   configuration file to be  read
                         by  xcmdpanel  when no other appropriate
                         file is   available.

SEE ALSO
     X(1), xinit(1), sh(1), system(3)

BUGS
     Probably.

COPYRIGHT
     Copyright (c) 1990, 1993, Christopher Alexander North-Keys

     Author's credit     must be   retained in  binaries,  manual
     entries, sources, and derived   code.

     This software may be freely copied,  distributed,  compiled,
     and   altered,   provided   the   above  restrictions    are
     observed.

     This  software  is  provided  "as  is",  with no   warranty,
     guarantee,  support,  maintenance,  update  schedule, claims
     to fitness   for any   purpose, or anything  else  from  the
     author  or  the author's employer(s).  See the   source code
     for     additional copyright and limitation information.

AUTHOR
     Christopher Alexander North-Keys
     <erlkonig@gnu.ai.mit.edu>

     Director/Instructor of OS and Software Design
     RDA Computer Training

NOTES
     The    xcmdpanel  program   was    produced    under     the
     auspices    of  Group  Talisman.  I'd also like to thank Mic
     Kaczmarczik for his aid in documentation.








X Version 11         Last change: Release 5                     4



