
     XWindow Programming Environment (XWPE)

          xwpe [ options ] file ...
           xwe [ options ] file ...
           wpe [ options ] file ...
            we [ options ] file ...

     XWPE can be used with or without the programming  interface.
     It has its own X interface but can be used also on a charac-
     ter terminal.  xwpe fires up the X interface  together  with
     the  programming interface. xwe is the X version but without
     the special features of the programming interface.  In  con-
     nection  with a simple character terminal you can use wpe to
     programme and we as editor.


     Table of Contents:

     What is xwpe ?

     The Command-line

     The initialization files

     The main-menu

     Control-character sequences used by xwpe

     Changing the Control-character sequences
         (Common User Access)

     The editor

     The Programming-Environment

     The debugging-environment

     The file-manager

     Search and replace functions

     The project-file

     Commands used for Programming C

     Using the help-functions

     The GNU General Public License

     Hints for installation

     Credits

 

     What is xwpe ?

     xwpe is a X-window programming environment designed for use
     on UNIX-systems. It is similar to 'Borland C++ or Turbo Pas-
     cal' environments. The  differences between the  programming
     environments from  Borland and  xwpe is  that many compilers
     and linkers  may  be  started.  From a menu three  different
     debuggers  can be chosen. And of course not only key strokes
     can select these options you can also use a mouse.

     Errors that occur while compiling and linking  a program can
     be examined  in the  sources:  The cursor  will  jump to the
     corresponding line in the source-file. Programs using more
     than  one  source-file  can  be  managed  with the so called
     project-option (see also project-file).  The  programme  can
     be  started  from  within  the  Programming-Environment  and
     errors   may   be    found    using    a    debugger.    The 
     debugging-environment  allows  the  user  to set  and  unset 
     breakpoints directly in the source  code.  The  contents  of  
     variables  may  be  displayed  in  a  special  window,   the 
     Watch-Window.  This  window  is  updated  while  reaching  a  
     breakpoint.  The  Stack-Window displays the programme stack.

     Help is available for xwpe and the  man-pages  installed  on
     the system may be displayed. All this can be reached via the
     help-functions.

     The editor may be used to edit up to 35 files  at  the  same
     time.   They  are  all displayed in a window of their own. A
     mouse is used to select special editor function from the top
     menu.  These  function  can  also  be  selected by hitting a 
     special key or combinations of keys. Some of these  features
     are a  complete  search  and  replace  function (yes, it can 
     search for regular  expressions)  and  a  file-manager.  The
     file-manager  is  used  to  open,  copy,  rename and move or
     delete files.

     The X-window programming environment can be used without the
     special  programming  features.  If  it  is invoked as `xwe'
     (`we' if used with a character terminal) it can be used as a
     editor e.g. for shell-programming.

     Special thanks to all who contribute to this program  (see
     Credits)

     Send   questions   or   problems   to   Dennis   Payne,
     <dulsi@identicalsoftware.com>.

     Copyright (C) 1993 Fred  Kruse  xwpe  is  free.  Anyone  may
     redistribute copies of xwpe to anyone under the terms stated
     in the GNU General Public License.  The  author  assumes  no
     responsibility  for errors or omissions or damages resulting
     from the use of xwpe or this manual.

 

    Credits

    The original xwpe was developed by Fred Kruze.
    The manual was translated to English by Lothar Schuette.
    Faster screen displaying was provided by Axel Rohde.

    The  xwpe  alpha   project   was  started   by  Dennis  Payne
    <dulsi@identicalsoftware.com>.

    Additional contributers include:
    Anthony Barbachan <barbacha@Trill.cis.fordham.edu>
    Alex Buell <alex.buell@tahallah.demon.co.uk>
    Guido Draheim <guidod@gmx.de>
    Kenn Flynn <flynnk@astro.umd.edu>
    German Gomez Garcia <german@pinon.ccu.uniovi.es>
    Stefan Hille <stoppok@osibisa.ms.sub.org>
    Roman Levenstein <roman.levenchteine@kullen.rwth-aachen.de>
    Mark Loftis <mloftis@lansminds.com>
    Brian O'Donnell <odonnllb@indigo.ie>
    Alexander Neundorf <Alexander.Neundorf@rz.tu-ilmenau.de>
    Alexei Pavlov <Alexei.Pavlov@lri.fr>
    Pedro <peteri@carme.sect.mce.hw.ac.uk>
    Duane Penzien <D.Penzien@computer.org>
    Yarick Rastrigin <yarick@relex.ru>
    Sebastiano Suraci <sebax@tin.it>
    Mark Spieth <mark@melb.interline.aust.com>
    Matej Vela <vela@debian.org>
    Brian White <linut@squonk.net>
    Martin Zampach <zampach@eurotel.cz>

    Special thanks to:
    Jussi Hamalainen <count@theblah.org>
    Ronald Holzloehner <ronald@align.physik.tu-berlin.de>
    James M. <dart@ncn.net>
    Andrei Malyshev <andrei@cmpc02.physics.ox.ac.uk>
    Tony Stout
    Oliver Wilson
    and all other testers.


    The command-line

          xwpe [ options ] file ...
           xwe [ options ] file ...
           wpe [ options ] file ...
            we [ options ] file ...

       The possible options are:

       -mb    The next file has to be treated as a binary file.

       -mn    The next file is an ASCII-file (default)

       -nc number
              An   integer  specifying  the  maximum  number  of
              columns that will be used.

       -nm number
              The  number  of  steps  before an auto-save will be
              done.

       -nu number
              This option specifies the maximum number  of  steps
              to save for undo.

       -pm    The next file is a message-file.

       -r     Start  xwpe  in  the  recover  mode.  The  internal
              buffers  are saved in files with the postfix `.ESV'
              in the name if a signal is caught by xwpe  (except
              for  SIGKILL).   If  the editor is invoked with the
              `-r' option is specified in the command  line,  the
              old session will be recovered.

       -sf file
              file  will  be  used instead of the personal option
              file, $HOME/.xwpe/xwperc.

       -so    The default options are used. The option file  will
              not be read.

       The   following   standard  X  command  line  options  are
       available for the X-Window versions.

       -display display
              This option specifies the X server to contact;  see
              X(1).

       -font font, -fn font
              The font to used for the text can be specified with
              this option.  The default is 8x13.

       -geometry geometry, -g geometry
              This option specifies the  preferred  size  and  and
              position of the editor; see X(1).

       -iconic
              This indicates that xwpe should ask the window man-
              ager to start as icon rather than a normal  window.

       -pcmap This starts xwpe with a private colormap.

 
 
     The initialization files

     On  startup  (subject  to  the  -sf and -so options), xwpe
     reads the personal initialization file $HOME/.xwpe/xwperc.
     If  no  such  file  exists, the system wide initialization
     file, /usr/local/lib/xwpe/xwperc,  is  read.   If  neither
     file exists, the default options will be used.

     xwperc  is a text file written by the programming environ-
     ment.  Although modification by hand is possible  comments
     will be erased if the options are latter saved from within
     xwpe.


     X-Resources:

     The following resources  are  available.  The  application
     name is either "xwe" or "xwpe".  Both belong to the "Xwpe"
     class.

     font (class Font)
            Specifies the name of the font to use.  The default
            is ``8x13.''

     geometry (class Geometry)
            Specifies  the  preferred  size and position of the
            editor.  Sizes of less than 80 x 25 are ignored.

     color1 (class Color1)

     ...

     color16 (class Color16)
            xwpe uses 16 colors. The default setting is similar
            to the PC-color set.



     The main-menu

     The WE-menu system is entered by pressing F10, ALT-<SP>  (or
     <ESC>)  from  within  the  editor  window. It can be left by
     pressing <ESC>. A sub menu can be called directly by  press-
     ing ALT-<highlighted letter>.

     Here is a list of those sub menus:

          System-Menu    Environment-management

          File-Menu      file managing

          Edit-Menu      all functions used for editing

          Search-Menu    search and replace

          Block-Menu     block-commands used in the editing
                               windows.

          Run-Menu       Programming-Environment (only available
                         for wpe and xwpe)

          Debug-Menu     Debugging-Environment (not available for
                         we and xwe)

          Project-Menu   programming with more than one source
                         file (only wpe and xwpe)

          Options-Menu   toggle options

          Window-Menu    window management

          Help-Menu      yes, this is the help system




          The System-Menu (Alt-#):

          About WE            A    Display version number and
                                   copyright.
          Clear Desktop       C    Close all windows.
          Repaint Desktop     R    Initialize the desktop and
                                   reopens all windows.
          System Info         S    Displays the current filename,
                                   directory, ...
          Show Wastebasket    W    Display the files saved in the
                                   wastebasket (file-manager).
          Delete Wastebasket  D    Empty wastebasket.



          The File-Menu (Alt-F):

          File-Manager   M    Puts the file-manager-window on top.
                              If it is not found a new one is
                              opened.
          ADd F.-Mng.    D    Opens a new file-manager-window.
          New            N    Open a new file 'Noname'.
          Save           S    Save this file using the `old' name.
          Save As        A    Use a new name to save this file
                              (see also file-manager)
          Save ALl       L    Save all files that were changed.
          Execute        E    Execution-Manager
          SHell          H    Start a UNIX-Shell.
          Find           F    Search for a file name (see Find).
          Grep           G    Search for a regular expression in
                              files (see also Grep)
          Print          P    Print this file.
          Quit           Q    Quitting XWPE



          The Edit-Menu (Alt-E):

          Cut              T  Delete the marked text and copy it
                              into the clipboard.
          Copy             C  Copy the marked text into the
                              clipboard.
          Paste            P  Insert the buffer behind the cursor.
          Show Clipboard   S
          Delete           D  Delete the marked text.
          Undo             U  Undo the last change in the text.
          Redo             R  Do the last change one time more.
          Load XBuffer     L  Copy the XWindow-buffer into xwpe's
                              paste-buffer.
          Write to XBuffer W  Just the other way round.



          The Search-Menu (Alt-S):

          Find           F    Search for a regular expression.
                              (see also
                                  Search and Replace Functions)
          Replace        R    Search and replace a regular
                              expression. (see also
                              Search and Replace Functions)
          Search again   S    Repeat the last Find/Replace.
          Go to Line     G



          The Block-Menu (Alt-B):

          Begin Mark     B    Mark the beginning of a block.
          End Mark       E    Set the end-mark.
          Mark Line      L    Mark this line.
          Mark Whole     W    Mark the entire scope.
          Goto Begin     G    Jump to the beginning of this block.
          Goto End       N    Jump to the end of this block.
          Copy           C    Copy this block.
          Move           M    Move this block.
          Delete         D    Delete this block.
          Hide           H    Delete the set block-marks.
          Read           R    Insert a file at the cursor position.
          Write          W    Write a block to a file.
          Move to Right  I    Move a block to the right.
          Move to Left   T    Move a block to the left.

     A block can also be marked by pressing `^k b' at the
     entire beginning and `^k k' at the end of the desired block. 

     xwpe (and xwe) allows marking a block with the mouse:
     Holding down the left button and moving over the text marks
     it as block.
     Holding down Shift and moving with the text cursor around
     also marks a block.



          The Run-Menu (Alt-R):

          Compile             C    Compile a programme.
                                   (see Programming-Environment)
          Make                M    Create an executable.
          Run                 R    Create an executable and start
                                   it.
          Install             I    Install a project.
                                   (see also project-file)
          Execute make        E    Start make(1).
          Next Error          N    Jump to the next Error.
          Previous Error      P    Jump to the previous Error.
          Show Definition     S    Find the definition of an
                                   expression. (see also
                                    Commands used for Programming C
          Show Next Def.      X    Find next definition of an
                                   expression. (see also
                                    Commands used for Programming C
          Matching Bracket    K    Find the matching bracket.
                                   (see also
                                    Commands used for Programming C
          Beautify            B    Beautify a programme.
                                   (see also
                                    Commands used for Programming C
          Arguments           A    Enter the arguments used to
                                   start a programme.



          The Debug-Menu (Alt-D):(see also Debugging-Environment)

          Toggle Breakpoint   B    Set/remove a breakpoint.
          ReMove all Breakp.  M    Remove all Breakpoints.
          Make Watch          W    Select a variable to watch.
                                   (see also Watch-Window)
          Edit Watch          E    Edit a watched variable.
          Delete Watch        D    Delete a watched variable.
          Remove All Watches  A    Delete all watched variables.
          Show StacK          K    Show the stack. (see also
                                   Stack-Window)
          Goto cursor         G    Execute to the cursor.
          Finish Function     F    Finish the current function.
          Trace               T    Execute next programme line
                                   (step into any function).
          Step                S    Execute next programme line
                                   (step over any function).
          Run/Continue        R    Start/continue debugging.
          Quit                Q    Exit the debugger.



          The Project-Menu (Alt-P):

          Open Project   P    Input a project-file.
                              The Project-Window is  opened.
          Close Project  C    Stop using a project.
          Add Item       A    Add a file to this project.
          Delete Item    D    Delete this file from the project.
          Options        O    Project-Options




          The Options-Menu (Alt-O):

          Adjust Colors  A    Change the colors.
          Save Options   S    Save all changes to the options.
          Editor         E    Options used by the editor.
                              (see also Editor-Options)
          File-Manager   F    Options used by the file-manager
                              (see also File-Manager-Options)
          Programming    G    Options used by the programming-
                              environment (Stop at error/warning)
                              (see also Syntax-Support)
          Compiler       C    Change the options for compilers
                              (see also Compiler-Options)
          Debugger       D    Select the debugger (gdb, sdb, dbx)
                              and full-screen/normal mode.



          The Window-Menu (Alt-W):

          Size/Move      S    Resize and move this window.
          Zoom           Z    Maximize this window.
          Tile           T    Put all windows one beside the
                              other.
          Cascade        A    Put all windows like a cascade
                              one over another.
          Next           X    Choose the next window in the list.
          Close          C    Close this window.
          List All       L    Display a list of all windows. A
                              window can be selected by pressing
                              <CR> or Alt-<s>.
          Output Window  O    Display the output (not X11).
          Messages       M    The Message-Window will be opened.
          Project        P    The Project-Window will be opened.
          Watches        W    The Watch-Window will be opened.



          The Help-Menu (Alt-H):

          Editor         E    Help to the editor (WE)
          Topic Search   T    UNIX man-pages.
          FUnction Index U    Index to all UNIX-functions
                              (see also Function-Index)
          Info           I    The GNU-infosystem.
          Goto           G    Goto help page
          Back           B    Goto the page you see before
          Next           N    Goto the next page
          Previous       P    Goto the previous page




     Control-character sequences (special keys) used by xwpe

     How to enter the special keys Alt and ESC on a  UNIX  system
     (without XWindow):

     Alt-X - is realized by pressing <ESC> X.  (X is a  printable
     character.)

     ESC - is realized by the sequence <ESC> <Return>.

     The following functions can be reached by  control-character
     sequences:

          Cursor-Movement

          Editing

          Deleting

          Block-Commands

          Marker-Commands

          Search- and Replace-Commands

          Buffer-Commands

          Read and Save

          Window-Commands

          Run-Commands

          Commands used for Programming C

          Debug-Commands

          Help-Commands

          Help Editing-Commands

          Quit XWPE



          Cursor-Movement:

          up arrow
          Ctrl P              move the cursor one line up

          down arrow
          Ctrl N              move the cursor one line down

          right arrow
          Ctrl F              move the cursor one character right

          left arrow
          Ctrl B              move the cursor one character left

          Ctrl right arrow
          Alt right arrow     move the cursor one word right

          Ctrl left arrow
          Alt left arrow      move the cursor one word left

          Home
          Ctrl A              move the cursor to column 1

          End
          Ctrl E              move the cursor to the last column

          Ctrl up arrow
          Page Up             move the cursor one window up

          Ctrl down arrow
          Page Down           move the cursor one window down

          Ctrl Page Up
          Alt Ctrl A          goto first row

          Ctrl Page Down
          Alt Ctrl E          goto last row

          Ctrl Home
          Alt Ctrl P          goto first row of this window

          Ctrl End
          Alt Ctrl N          goto last row of this window



          Editing:

          <Return>       Insert a line-break.
                         (see also Automatic Indentation)

          Ctrl H
          <Backspace>    Delete a character backwards.
                         (see also Automatic Indentation)

          Ctrl D
          Del            Delete the character the cursor is on.

          <Tab>          Indent the text.
                         (see also Automatic Indentation)

          Alt-I          Switch insert to overwrite mode and
          Insert         vice versa.

          Alt-J          Switch to special-character-insert-mode.



          Deleting:

          Ctrl T         Kill the next word after the cursor.
          Ctrl O T       Kill the word immediately before the
                         cursor.
          Ctrl Y         Delete a whole line
          Ctrl Z
          Ctrl O Y       Kill from the cursor position to the end
                         of line.



          Block-Commands:

          Shift + Cursor-movement
                         mark a block

          Ctrl K  B      Set the beginning mark
          Ctrl K  K      Set the end mark
          Ctrl K  L      Mark this line
          Ctrl K  X      Mark the whole document
          Ctrl K  A      Jump to the beginning mark
          Ctrl K  Z      Jump to the end mark
          Ctrl K  C      Copy block
          Ctrl K  V      Move block
          Ctrl K  Y      Kill block
          Ctrl K  H      Hide block
          Ctrl K  R      Insert a file at the cursor position
          Ctrl K  W      Write a block to a file
          Ctrl K  I      Shift a block to the right
          Ctrl K  U      Shift a block to the left



          Marker-Commands:

          Ctrl K n       Set the marker no. n ( n = 1 - 9 )
          Ctrl O n       Jump to the marker no. n



          Search- and Replace-Commands:

          Find
          F4
          Ctrl O F       Search for a string

          Alt-F4
          Ctrl O A       Replace a string with another string

          Ctrl-F4
          Ctrl L         Repeat the last search or replace

          Alt G          Goto line



          Buffer-Commands:

          Cut
          Shift Del
          Ctrl X         Kill the marked text to the kill-buffer

          Copy
          Shift Insert
          Ctrl C         Copy the marked text to the kill-buffer

          Paste
          Ctrl Insert
          Ctrl V         Copy the kill-buffer to the cursor

          Ctrl W         Display the kill-buffer

          UNDO
          Ctrl U         Undo an unwanted change

          REDO
          Ctrl R         Undo the last undo

          Alt Delete     Copy the marked text to the X-buffer

          Alt Insert     Copy the X-buffer to the cursor



          Read and Save:

          Open
          F3        Start the file-manager (Open a file etc.)

          F2        Save the file



          Window-Commands:

          Alt-Z
          F5        Zoom the window (maximum size)

          Ctrl F5
          Alt-F2    Resize and move the window

          F6
          Alt-N     Switch to the next window

          Alt-F3    Close this window

          Shift F4  Put all windows one beside the other

          Shift F5  Put all windows like a cascade one
                    over another.



          Run-Commands:

          Alt F9
          Alt C     Compile (see also Programming-Environment)

          F9
          Alt M     Create an executable

          Ctrl F9
          Alt R     Create an executable and start it

          Alt L     Install a project (see also project-file)

          Alt A     Start make(1)

          Alt V     Jump to the previous error
                    (see also Message-Window)

          Alt T     Jump to the next error (see Message-Window)



          Commands used for Programming C:

          Ctrl O S Search the definition of an expression
                   (see Programming C)

          Ctrl O N Search for the next definition of an
                   expression (see Programming C)

          Ctrl O K Search for a corresponding bracket
                   (see Programming C)

          Ctrl O B Beautify C-source code (see Programming C)





          Debug-Commands:

          Ctrl F10
          Ctrl G R       Start the debugger (see
                         Debugging-Environment)

          Ctrl F2
          Ctrl G Q       Quit the debugger

          F7
          Ctrl G S       Execute next programme line
                         (step into any function)

          F8
          Ctrl G N       Execute next programme line
                         (step over any function)

          Ctrl F8
          Ctrl G B       Set/remove a breakpoint

          Ctrl G M       Remove all Breakpoints

          Ctrl F7
          Ctrl G W       Select a variable to watch
                         (see also Watch-Window)

          Ctrl G E       Edit a watched variable
                         (see also Watch-Window)

          Ctrl G D       Delete a watched variable
                         (see also Watch-Window)

          Ctrl F6
          Ctrl G K       Show the stack. (see also Stack-Window)

          Ctrl G O       Display the output (not X11)



          Help-Commands:

          F1             Help to the editor (WE)

          Ctrl F1        UNIX man-pages

          Alt F1         Index to all UNIX-functions
                              (see also Function-Index)


          Help Editing-Commands:

          Ctrl O E       Insert end of section marker

          Ctrl O H       Insert header around text block

          Ctrl O M       Insert highlight marker around text block

          Ctrl O U       Insert button around text block



          Quit XWPE

          Alt-X          Quit from XWPE



     Changing the Control-character sequences
          (Common User Access):

     Some function-keys may be used in a  second  form  which  is
     compatible to OSF-Motif and MS-Windows.

     These are the changes:

          Window management:
          F6        ->  Ctrl F6    Select next window
          Alt F3    ->  Ctrl F4    Close window
          F5        ->  Shift F6   Zoom

          Search and Replace:
          Ctrl F4   ->  F3         Search again
          F4        ->  Alt F3     Search
          Alt F4    ->  Ctrl F3    Replace

          File operations:
          F3        ->  F2         Start the file-manager
          F2        ->  Alt F2     Save

          Debugger:
          Ctrl F8   ->  F5         Set a breakpoint
          Ctrl F7   ->  Ctrl F5    Watch
          Ctrl F6   ->  Ctrl F3     Call stack

          Quit from XWPE:
          Alt X     ->  Alt F4



     Quitting XWPE:

     Files that are  NOT  changed  will  be  closed  without  any
     warning after the Quit-command is send.  If any changes have
     not been saved, xwpe displays a warning message  and  allows
     the user to save these files:

          Yes       Save the file
          No        Close without save
          ESC       Cancel from quit (no more files are closed)



     The editor

     The editor may be used to edit up to 35 files  at  the  same
     time.  They  are  all  displayed  in  a  window of their own
     (Editor-Window).

     The functions of this editor may be selected by  pressing  a
     special key,  using the mouse or selecting it from the menu.
     These functions are, besides  killing  or  inserting  single
     characters from/into the text:

     Copy, move  and  delete  a  block  in  one  file  (see  also
     Block-Menu).

     Copy, move and delete a block between different  files  (see
     also Edit-Menu).

     Search and replace strings (see also Search-Menu).

     Resize and move the windows used to  edit  files  (see  also
     (Window-Menu).

     Change the behavior of the editor (see also Options-Menu).

     Edit, save and manipulate files (see also File-Menu).



     Using the help-functions

     If the help is selected, a separate window is  opened  which
     displays  a  case-sensitive help. If Help/Editor is selected
     the contents of the editor-functions-help will be displayed.

     Most documents include links to other help-pages.  They  are
     highlighted and may be selected by clicking on them with the
     mouse or pressing <CR> after the cursor is moved over them.

     By pressing <Backspace> the last visited  help-page  is  re-
     displayed.  This  can  be  done  also  by  clicking  on  the
     highlighted title.

     Programmer also want to take a look at Help-Menu.



     The file-manager

     The purpose of the file-manager is to select  files,  create
     new directories, copy files and directories, move and rename
     files and directories, delete and change the access  permis-
     sions of files and directories.

     Alt-N
          Select the 'Name'-line where the default entry  may  be
          changed. If the entry is
           1. a existing file, pressing <Return> will  open  this
          file for editing
           2. a new (non-existing) file, pressing  <Return>  will
          be created
           3. a mask (regular expression) selecting the files for
          the 'Files'-menu. '*' matches all characters, one char-
          ter in the range  of  "a..z".  Pressing  <Return>  will
          select all matching files and the

     Alt-F
          Select the 'Files'-menu which shows all  files  in  the
          selected  directory.  The  marked file can be opened by
          pressing <Return> or Alt-E.

     Alt-D
          Select the 'Directory'-line. The working directory  may
          be entered here. <Return> selects the w.d.

     Alt-T
          Select the tree of  directories.  Pressing  the  cursor
          keys walks through the tree, <Return> selects the work-
          ing directory.

     Alt-C
          Change the working directory to the one entered in the

     Alt-E
          The file selected in the 'Name'-line will be opened for
          editing.

     Alt-M
          Rename or move into another directory.

     Alt-R
          Delete the marked file. The file will be moved into the
          wastebasket  or  removed  from  the  disk,  this can be
          selected from File-Manager-Options.

     Alt-L
          Create a link for the marked file. If possible, a  hard
          link will be created. Only if a directory or files that
          are saved on different disk-partitions are  selected  a
          soft link will be used.

     Alt-O
          The file will be copied. The new name must be entered.

     Alt-K
          Make a new directory named "new.dir". This name may  be
          changed.

     Alt-A
          Change the file attributes.

     Alt-S
          (only avail-able in function Save As) The file will  be
          saved using the name displayed in the line 'Name'.

     <ESC>
          Quit the file-manager.




     The Execution-Manager:

     The purpose of the execution-manager is to start  executable
     files  and  shell-scripts. Only files with execute-attribute
     will be selected in the 'Files'-menu.

     Alt-N
          Select the 'Name'-line where the default entry  may  be
          changed. If the entry is
           1. a existing file, pressing  <Return>  will  be  exe-
          cuted.
           2. a mask (regular expression) selecting the files for
          the 'Files'-menu. '*' matches all characters, one char-
          acter in the range of "a..z".  Pressing  <Return>  will
          select all matching files and the

     Alt-F
          Select the 'Files'-menu which shows all  files  in  the
          selected  directory.  The  marked file can be opened by
          pressing <Return> or Alt-E.

     Alt-D
          Select the 'Directory'-line. The working directory  may
          be entered here. <Return> selects the w.d.

     Alt-T
          Select the tree of  directories.  Pressing  the  cursor
          keys walks through the tree, <Return> selects the work-
          ing directory.

     Alt-C
          Change the working directory to the one entered in the

     Alt-E
          The file selected in the 'Name'-line will be opened for
          execution by the OS.

     <ESC>
          Quit the execution-manager.




     The Programming-Environment

     If a Project-File is selected this project will be compiled,
     linked  and  executed from the Run-Menu. If there is no pro-
     ject the file in the current window will be taken as target.
     The compiler / linker is selected automatically by xwpe and is
     distinguished by the file-name postfix. The compiler and its
     options  may  be  selected in the menu Run/Options (see also
     Compiler-Options).

     Only those files which were never  compiled  or  which  have
     been changed since the last time they were compiled are com-
     piled (and linked). Changes in  'include'd  files  are  only
     considered for C-programs.

     Error  in  compilation  and  linking  are  listed   in   the
     Message-Window.  These  errors stop the creating process and 
     the file that contains the error will be opened and the cur-
     sor  will be set in the corresponding line.



     The debugging-environment

     The Debug-Menu is used to set breakpoints in the source code
     and   to   start   debugging.  If  the  debugger  stops  the
     corresponding line in the source is marked.  Files  will  be
     opened if necessary.

     Stops are caused by breakpoints or signals.

     In the Watch-Window the contents of selected  variables  and
     constants are displayed after each stop.

     The stack is displayed in the Stack-Window after a stop.



     Find:

     Find starts a search for files  in  a  specified  directory.
     This search may be recursive.

     Alt-L
          Enter the filename  or  a  file-mask  as  described  in
          File-Manager.

     Alt-I
          Enter the starting directory for the search.

     Alt-K
          Enable a recursive search.

     Alt-O
          Start.

     <ESC>
          Break find.

          All those directories  containing  matching  files  are
          listed in the Find-Window.




     Grep:

     Search for files containing a substring. The files  selected
     for  the  grep  must  match  an expression also used for the
     File-Manager.

     Alt-T
          Enter the string to search.

     Alt-C
          Distinguish between small and capital letters.

     Alt-W
          Only search for whole words.

     Alt-R
          Search for regular expressions. 
          (See Search and Replace Functions)

     Alt-L
          Enter a file-name  or  a  file-mask,  as  described  in
          File-Manager, to search in.

     Alt-I
          The directory to search in.

     Alt-K
          Also search in sub-directories.

     Alt-O
          Start the search.

     <ESC>
          Don't search any further.

          All those files containing matching strings are  listed
          in the Grep-Window.




     Search and replace functions

     Alt-T
          Enter the string to searched.

     Alt-N
          New string that replaces the old one.  (Only  used  for
          Replace)

     Alt-C
          Distinguish between small and capital letters.

     Alt-W
          Only search for whole words.

     Alt-R
          Search for regular expressions. The  following  regular
          expressions (like (e)grep(1)) may be used:

     ^    Matches the empty string at the beginning of a line.

     $    Matches the empty string at the end of a line.

     .    The period matches any single character.

     []   A list of characters enclosed by [ and  ]  matches  any
          single character in that list.

     [^ ] Matches any single character not in the list of charac-
          ters enclosed by [ and ].

     [ - ]
          A range of ASCII characters is  represented  by  giving
          the first and the last character separated by a hyphen.

     *    The character in front of the asterix is repeated  zero
          or more times.

     +    The character in front of the plus is repeated  one  or
          more times.

     ?    The character in front of the question mark is repeated
          zero or once.

     |    OR: OR separates two strings of which one will match.

          The character after the \ will not  be  interpreted  as
          special character.

     Alt-P
          (Replace only) Ask before  each  replacement.  Possible
          answers are:

                       Yes    Y  Replace text
                       No     N  Don't replace text
                       <ESC>     Stop search

     Alt-D
          Search forward.

     Alt-B
          Search backward.

     Alt-G
          Search in the whole text.

     Alt-S
          Only search in the marked block.

     Alt-F
          Start search from cursor-position.

     Alt-E
          Search from the text or block beginning.

     <RETURN>
          Search/Replace only one time than stop.

     Alt-A
          Execute all replacements till the  end  of  the  entire
          scope. (Replace only)

     <ESC>
          Don't search any further.




     Function-Index:

     XWPE creates a list of all manual-pages that can be found in
     the search-path given by the environment variable MANPATH.

     The index is distinguished in the following sections:

          User Commands
          System Calls        : C - functions
          C-Lib.-Functions    : C - functions from the C -library
          Devices & Network Interface
          File Formats
          Games & Demos
          Environments, Tables and TROFF Macros
          Maintenance Com.    : Administrations commands

     After the section is selected a list  of  all  manual  pages
     belonging  to  that  section will be displayed. One of these
     pages may be selected by pressing <Return>  or  clicking  on
     the name. A new window appears containing the manual page.

     A manual page can also be selected by giving its name in the
     Menu Help/Functions.

     Manual pages are read-only documents (like  all  other  help
     files  too). But they can be used as source for editing com-
     mands.




     The Editor-Window

     If a file has to be edited the Editor-Window  is  used.  The
     mouse  (see  also  The Mouse in the Editor-Window), function
     keys or the editor-menu can be used to edit a text.

     The most important menus are:

     Copy, move and delete a block in a file (see Block-Menu).

     Copy, move and delete a block between different  files  (see
     also Edit-Menu).

     Search and/or replace strings (see also Search-Menu).

     Resize and move the windows (see also Window-Menu).

     Change the options used by the editor in the Options-Menu.

     Files may be selected, saved and changed in the File-Menu.




     The Find-Window

     The Find-Window is used to list all directories in which the
     searched   file   was  found.  Alt-S  and  <Return>  open  a 
     File-Manager for the selected directory which  displays  all
     found files. <ESC> closes this window.



     The Grep-Window

     The Grep-Window is used to  list  all  files  in  which  the
     searched  string  was  found.   Alt-S  and <Return> open the
     marked file for editing.  The  cursor  jumps  to  the  first
     occurrence  of  the searched string.  <ESC> closes this win-
     dow.



     The Message-Window

     Errors  in  compilation  and  linking  are  listed  in   the
     Message-Window  which  is  a read-only file. An error can be
     selected by moving around using the cursor-keys and pressing
     <Return> or by using the mouse.

     If an error is selected, the file causing this error will be
     opened  and the cursor jumps to the found line. This file is
     (normally) read-write and can be edit  immediately  so  that
     the next trial can be started.



     The Project-Window

     All those files that are listed in the project-file will  be
     displayed  in  the  project-window which is started from the
     Project-Menu or from the  Window-Menu.   New  files  may  be
     entered  by  pressing Alt-A (Add) or <Ins> directly form the
     file-manager.  An already  existing  entry  may  be  changed
     after  it  is selected by Alt-E (Edit) or <CR> or be deleted
     by pressing Alt-D  (Delete)  or  <Del>.   Alt-O  enters  the
     Project-Options and <ESC> closes the project-window.




     The Variable-Window

     In the Project-File variables  may  be  selected,  they  are
     displayed  in  the variable-window which can be started from
     the Project-Options.
     Alt-A (Add) and <Ins> are used to enter a new variable,
     Alt-E (Edit) and <CR> change an existing entry and
     Alt-D (Delete) and <Del> are used to delete an entry.
     <ESC> will close this window.



     The Install-Window

     This window is selected from the Project-Options and used to
     display  and change those commands which will be executed to
     install a file/project.
     Alt-A (Add) and <Ins> are used to enter a new command,
     Alt-E (Edit) and <CR> change an existing entry and
     Alt-D (Delete) and <Del> are used to delete an entry.
     <ESC> will close this window.



     The Watch-Window

     This  window  displays  read-only  values   from   variables
     selected in the watch-function (see also Debug-Menu).

     To search for an entry the cursor keys may be used  to  walk
     around  and the search-function finds a variable. Other pos-
     sible functions are:

     <Return>
          Edit a selected variable.

     <Return>
          Enters a new variable if the last line of this file  is
          selected.

     <Insert>
          Insert a new variable at this position in the file.

     <Del>
          Delete this entry.

          If a variable is not found in  the  current  context  a
          warning is displayed.



     The Stack-Window

     The stack history is displayed in this window, but it  can't
     be edited.

     The cursor keys are used to walk around in this list and the
     search-function  will  find  an  entry.  <Return>  will jump
     within the stack (this is not possible together with the

     The stack may be examined if a signal is caught by the pro-
     gramme.  If  this  happens within a system-function than the
     calling visible function is shown.




     Usage of the mouse with XWindow:

     All those keystrokes used to select from within  a  menu  or
     mark  a  block can be replaced by using the mouse. A command
     will be selected by one click on the word or the correspond-
     ing  line. A click on the 'Cancel'-command or the upper left
     'Close-Button' will close a window.

     The mouse can be used  within  the  editor-window  (see  the
     Mouse in the Editor-Window) and within the file-manager (see
     Mouse in the File-Manager).




     The Mouse in the Editor-Window

     All those keystrokes used to select from within  a  menu  or
     mark  a  block can be replaced by using the mouse. A command
     will be selected by one click on the word or the correspond-
     ing  line. A click on the 'Cancel'-command or the upper left
     'Close-Button' will close a window.

     The upper right button labeled with [z] is  the  Zoom-Button
     used to zoom a window.

     A click on the  upper  frame  and  moving  the  mouse  while
     holding the left button down will move the window.

     Resizing a window is done be clicking on an edge and  moving
     the mouse around while holding the button down.

     A line is selected by clicking on  the  line-number  on  the
     lower frame. A new window is opened to enter a new number.

     The right and the lower border move the cursor around in the
     window. The cursor moves one line/character if the arrows at
     both ends of the borders are selected. A whole page  is  the
     size of the movement if a click is set on the border itself.
     Moving the marker will move the displayed entry around.

     Function within the window:
     
     The left mouse-button:

     One click will move the cursor to  the  corresponding  posi-
     tion.

     If the button is pressed while the mouse-cursor is over  the
     text-cursor  a  word  is  marked. A marked word being marked
     again selects the whole line.

     Holding the button down and moving the mouse around is  used
     to  mark  an array. If <Shift> is pressed, too, the new text
     will be added to the previous selected one.

     The right mouse-button:

     Clicking the right button will copy the marked text into the
     buffer. The Alt-key selects the X-buffer.

     Shift selects the cut-option: The text is  copied  into  the
     selected buffer and is cut from the file.

     The middle mouse-button:

     Clicking the middle button will copy  the  contents  of  the
     buffer  at  the  mouse-position (Paste). The Alt-key selects
     the X-buffer.



     The Mouse in the File-Manager:

     All those keystrokes used to select from within  a  menu  or
     mark  a  block can be replaced by using the mouse. A command
     will be selected by one click on the word or the correspond-
     ing line.

     A click on the Cancel-command or the upper left Close-Button
     will close the file-manager.

     The upper right button labeled with [z] is  the  Zoom-Button
     used to zoom a window.

     A click on the upper frame and moving the mouse while  hold-
     ing the left button down will move the window.

     Resizing a window is done be clicking on an edge and  moving
     the mouse around while holding the button down.

     The right and the lower border move the mark around  in  the
     files-list and in the tree. The cursor moves one line if the
     arrows at both ends of the borders  are  selected.  A  whole
     page  is  the  size of the movement if a click is set on the
     border itself. Moving the marker  will  move  the  displayed
     entry around.

     Function within the window:
     
     The left mouse-button:

     One click will mark a not  selected  file  or  directory.  A
     marked  file  is  selected  for loading into the editor on a
     second click. A marked directory becomes the current working
     directory after clicking again on it's name.

     A marked file may be moved into  another  directory  if  the
     left button is held down while moving the mouse-pointer into
     the directory displayed in another file-manager window.

     The right mouse-button:

     Clicking the right button  on  an  already  marked  file  or
     directory will call the Move/Rename-function.

     A link is created by  "moving"  a  file  or  directory  into
     another file-manager-window. The link will be created in the
     current selected working directory in the other window.

     The middle mouse-button:

     To duplicate a file or directory in  the  current  directory
     just click with the middle mouse-button on its marked name.

     A copy into another directory is performed by  holding  down
     the  middle  button  while  moving  the  mouse-pointer  into
     another file-manager window.



     Editor-Options

     Display:
     Alt-S
          The end-of-line will be displayed as '$' if a <NL>  was
          entered and as '' as NULL (the next line the connecting
          line).

     Auto-save:
     Alt-P
          All options will be saved after the quitting  the  edi-
          tor.

     Alt-H
          After N changes a file will be saved  automatically.  The
          number  N  can  be  entered/changed in the Max. Changes
          -field (Alt-X). For the saved file 'file-name'.ASV will
          be  used  as  new  file-name,  the original file is not
          changed. After a normal quit from xwpe  the  .ASV-files
          are deleted.

     Keys (Setting up the function keys):
     Alt-L
          The function keys are bind like introduced in xwpe ver-
          sion < 1.2.0 (Turbo C alike).

     Alt-C
          The 'Common User Access' function key binding  will  be
          used (MS-Windows alike).


     Auto-Indent (Automatic Indentation):
     Alt-Y
          Auto-Indent is used only for files that can be used for
          compilation  (that  are  defined in the Option/Compiler
          -menu).

     Alt-W
          Auto-Indent is used for all files.

     Alt-V
          Don't use Auto-Indent.


     Alt-M
          The maximum number  of  columns  per  row.  After  this
          number or columns a word wrap is performed.

     Alt-T
          The number of characters a TabStop counts.

     Alt-X
          The number of  changes  that  force  an  auto-save  (if
          enabled).

     Alt-N
          The  number  of  steps  that  are  saved  for  an  undo
          (Edit/Undo).

     Alt-I
          The number of columns used for auto-indent.




     File-Manager-Options

     Directories:
     Alt-F
          Hidden files are displayed.

     Alt-D
          Hidden directories are displayed.

     Alt-K
          All actions (Move, Link, Copy and Remove) are recursive
          (sub directories will be used as source too).

     Sort Files By
     Alt-N
          Name

     Alt-I
          Time (time of creation time)

     Alt-B
          Bytes (Size)

     Alt-R
          Reverse order.

     Move/Copy:
     Alt-Q
          If the source of a Move/Copy-operation  already  exists
          it is only overwritten after a confirmation.

     Alt-V
          An existing files is overwritten.

     Alt-T
          Existing files are not overwritten.

     Remove:
     Alt-W
          Deleted files are moved into the wastebasket.

     Alt-A
          Files are really deleted. A confirmation is necessary.

     Alt-M
          Files are really deleted. No confirmation.

     Links on Files:
     Alt-H
          First try a hard-link.  If  this  does  not  succeed  a
          soft-link is used.

     Alt-S
          Use a soft-link.

     Wastebasket:
     Alt-P
          After exit of xwpe  a  confirmation  for  deleting  the
          files in the wastebasket is necessary.

     Alt-E
          The contents of the wastebasket is removed.

     Alt-L
          The contents of the wastebasket is not removed.

     On Open:
     Alt-C
          Closes the file manager after opening a file.



     Compiler-Options

     If the  Menu  Options/Compiler  is  selected the entries Add 
     Compiler and  Remove  Compiler  and  all  compilers that are 
     defined are displayed.

     If Add Compiler or a defined compiler is selected  the  fol-
     lowing options menu is enabled:

     Language
          The name of the programming language.

     Compiler
          The path to the compiler.

     Compiler-Options
          Options used by the compiler.

     Loader-Options
          Options used to link the files.

     Executable-Name
          The  name  of  the   resulting   executable   (default:
          [programme-name].e).

     File-Postfix
          The postfix that forces this compiler to be used  (e.g.
          .c implies to use the C-compiler).

     Compiler-Style
          Select whether error-messages are created like a GNU or
          similar compiler would create it or whether the defini-
          tion for messages entered in the Message-String  should
          be used.

     OK   Accept the changes made.

     CANCEL
          Reject the changes.

     A new compiler/programming language can be  entered  in  Add
     Compiler.  If  the  new  one  is selected its options may be
     changed.

     A compiler selected from the list is removed by Remove  Com-
     piler.



     Project-Options

     Compiler
          The path to the compiler.

     Compiler-Options
          Options used by the compiler.

     Loader-Options
          Options used to link the files.

     Executable-Name
          The name of the resulting executable (default: a.out).

     Store Objects in Library
          If a filename is entered this file is used  as  library
          to  all  object-files. This library is used automatically
          for linking.

     Compiler-Style
          Select whether error-messages are created like a GNU or
          similar compiler would create it or whether the defini-
          tion for messages entered in the Message-String  should
          be used.

     Variables ...
          Variables used  by  the  project  can  be  entered  and
          removed from a separate Variable-Window.

     Install ...
          The commands used to install a program are edited  in
          the Install-Window.

     Save The new project-file will be saved.

     Save As
          The new project-file will be saved  with  a  new  file-
          name.

     CANCEL
          Quit from the menu without any changes.



     Programming C

     For all C-  and  C++-programs  there  are  some  utilities
     installed to aid the programmer:

     Show Definition (^O S):
     Jump to the definition of a C-expression:  The file contain-
     ing  the definition of the entered expression will be put in
     the foreground and the cursor jumps to the definition  which
     will  be  highlighted.  Structs,  unions, classes, typedefs,
     preprocessor definitions, extern variables and functions can
     be searched.  If a project is defined all files belonging to
     it will be scanned for the definition. Also  all  #include'd
     files  are  scanned recursively as long as they can be found
     in the System-Include-Path defined in Options/Programming.

     If the name is used more than one time in definitions  (e.g.
     as name of a struct and as name of an external variable) the
     next definition may be found with ^O N  (Show  next  Defini-
     tion).

     Matching Bracket (^O  K):
     If the cursor is above a bracket the corresponding closing /
     opening  bracket  is searched and the cursor is moved to it.
     Otherwise the cursor is moved to the next  opening  bracket.
     The  following  pairs of brackets are recognized: {}, [] and
     ().

     Beautify (^O B):
     As C is a block-oriented language all  blocks  are  indented
     equal.  The  depth of the intention depends on the degree of
     the blocking-depth.




     The project-file

     The project-file allows to  compile  and  create  programmes
     containing  more than on module. It is created from the menu
     Project/Options (see also Project-Options) or directly  with
     an editor. The syntax corresponds to that of a Makefile (for
     version 1.1.0 and  above  only).   In  a  project-file  only
     definitions of variables and install-targets are recognized.
     The definition of variables is used like this:

          name = string

     The number of variables is not limited. They are accessed by
     writing  $(name). If a variable is named like an environment
     variable than this environment variable is used. If a  vari-
     able is not defined an empty string is inserted.

     The following variables are predefined:

     FILES
          The names of modules being compiled and linked together
          to create the executable file.

     CMP  Compiler-Path

     CMPFLAGS
          Compiler-Options

     CMPSWTCH
          How are mistakes interpreted? ('GNU'(Default)/'other')

     LDFLAGS
          Loader-Options

     EXENAME
          The name of the Executables (Default: a.out)

     LIBNAME
          The filename used for a library. This library will hold
          all object-files belonging to the project. This library
          is used automatically for linking.
          
     A makefile can be transformed to a project-file very  simple
     by adding the following lines to it (C-code):

               FILES=$(CFILES)
               CMP=$(CC)
               LDFLAGS=$(LIBFLAGS)
               EXENAME='Targetname'

     How Compile and Make work:

     The files are translated in the order given  in  the  FILES-
     variable. If a source has changed after the last translation
     then it is translated again else the next source  is  taken.
     An  error  occurring  while  making  stops  the  work and is
     displayed in the Message-Window.

     If no error occurs then all object-files are linked together
     to an executable named $(EXENAME).

     The project-file can contain an 'install'-target. The  first
     line of this target is

               install: dependencies

     The dependencies are ignored because they have to be entered
     into  the  FILES-variable. All following lines starting with
     <TAB> are interpreted as  UNIX-commands  and  are  executed.
     These line may contain variables defined above:

               <TAB> Command1
               <TAB> Command2

     Command can be every UNIX-command (only  'cd'  is  not  exe-
     cuted).  The  'install'-target  is  started  from  the  menu
     Run/Install or Alt-L (see Run-Menu).


     The Message-String:

     The Message-String defines how warnings  and  error-messages
     produced  by  a  compilation  should  be  interpreted if the
     Compiler-Style 'Other' was selected. It has  to  be  changed
     for each compiler and work like this.

     character, '[a-z]' matches one character  in  the  range  of
     "a..z". (This was described in the section File-Manager.)

     ${FILE}
          is like '*' but the characters are stored  as  name  of
          the file containing the error.

     ${LINE[+-N]}
          is like '*' but the  characters  are  stored  as  line-
          number  containing  the  error.  An  integer  N  can be
          added/subtracted to the line-number.

     The message-string has to contain both ${FILE} and  ${LINE}.
     If a line of output can be interpreted so that it contains a
     valid filename and a valid line number it is used as  error-
     output.

     Also the column number can be used to  interpret  an  error-
     containing line.

     ${COLUMN[+-N]}
          With ${COLUMN} being used as number.

     ${COLUMN=BEFORE[+-N]}
          The string ${COLUMN} is the expression  to  search  for
          and the column is Before the string found.

     ${COLUMN=AFTER[+-N]}
          The string ${COLUMN} is the expression  to  search  for
          and the column is after the string found.

     An integer N can be added/subtracted to the column-number.

     If a message is written in more than one row (e.g. Sun- Pas-
     cal:  pc) the message-string must contain CRs (^M) to divide
     the string into different rows.  ${COLUMN=PREVIOUS?STR[+-N]}
     is compared against the ${CMPSTR}-string containing a string
     to compare with.

     Warnings:
          A warning is detected by comparison with a  string  STR
          like  this:  ${?N:STR}  -  N  can be a number or a '*'-
          character. If N is a number then N is  then  number  of
          the  column where the warning begins. Otherwise if N is
          '*' then STR can begin at every position in  the  text.
          More than one warning-message can be defined.

     Some examples:

          gcc: ${?*:warning:}${FILE}:${LINE}:* before \
                                         `${COLUMN=BEFORE}'

          cc(Sun): ${?*:warning:}"${FILE}", line ${LINE}:* \
                                  at or near * "${COLUMN=AFTER}"

          cc(HP): ${?*:warning:}cc: "${FILE}", line ${LINE}:* \
                                   at or near * "${COLUMN=AFTER}"

          pc(Sun): ${?0:e}${?0:w}${?0:s}*:*:* * ${FILE}:^M^M* \
                ${LINE}  ${CMPTXT}^M*-------${COLUMN=PREVIOUS?^}


       Syntax-Support:

       Xwpe supports the syntax of a language by using  different
       colors  to display keywords, constants, preprocessor, com-
       ments, operators and everything  else.   This  support  is
       defined  already for the programming languages C, C++, and
       FORTRAN. More languages can be added to the user's  syntax
       definition  file,  $HOME/.xwpe/syntax_def.   The syntax of
       any predefined language can also be overiden.  If no  per-
       sonal syntax definition file exists, the system definition
       file, /usr/local/lib/xwpe/syntax_def, will be used.

       Each syntax highlighting  is  distinguished  by  the  file
       extension.   The  syntax_def uses the following format for
       language definition.

            "string:  The postfix for the filename."
            "integer: The number of keywords."
            "strings: The keywords."
            "integer: Number of operators with more than one
                      character length."
            "strings: Operators with more than one character
                      length."
            "string:  Operators containing one character."
            "string:  Beginning of comment"
            "string:  End of comment"
            "string:  Beginning of comment reaching until the end
                      of the line."
            "string:  Characters used for comments depending on the
                      column."
            "string:  Special single characters."
            "integer: Column for comments (-1 for none)."
            "integer: Column for continuing line (-1 for none)"
            "Integer: Column for comment till the end of line (1000
                      for none)"

       Strings and integers are separated by blanks  or  carriage
       returns.  The  strings used for single character operators
       and for column depending comments must not contain blanks.
       All strings used for comments can contain NULL to indicate
       that there is no such comment. An integer can be  zero  if
       there  is  no keyword or multiple character operator.  The
       string for special single characters contains the  follow-
       ing fields:

            Character for string-constants
            Character for character-constants
            Character for preprocessor-commands
            Character for quoting the next character
            Character for next line is continuing line
                      (if it is the last character in the line)
            Character (if not empty: the language is not
                       case sensitive)

       If  one character is not defined (e.g. missing) a blank is
       inserted at the corresponding position.

     An example:

           .c
           32
           auto break case char const continue default do
           double else enum extern float for goto if int
           long register return short signed sizeof static
           struct switch typedef union unsigned void volatile
           while
           0
           ~^()[]{}<>+-/*%=|&!.?:,; /* */ NULL NULL "'#\  -1 -1 1000

           .f
           64
           ACCESS ASSIGN BACKSPACE BLANK BLOCKDATA CALL CHARACTER
           CLOSE COMMON COMPLEX CONTINUE DATA DIMENSION DIRECT DO
           DOUBLE PRECISION ELSE END ENDFILE ENTRY EQUIVALENCE ERR
           EXIST EXTERNAL FILE FMT FORM FORMAT FORMATTED FUNCTION
           GOTO IF IMPLICIT INQUIRE INTEGER INTRINSIC IOSTAT
           LOGICAL NAME NAMED NEXTREC NUMBER OPEN OPENED
           PARAMETER PAUSE PRINT PROGRAM READ REAL REC RECL
           RETURN REWIND SAVE SEQUENTIAL STATUS STOP SUBROUTINE
           TO UNFORMATED UNIT WRITE
           13
           .AND. .EQ. .EQV. .FALSE. .GE. .GT. .LE. .LT. .NE.
           .NEQV. .NOT. .OR. .TRUE.
           ()+-/*=$.:, NULL NULL ! C* '      1  0 5 72




     Automatic Indentation

     The behavior of the auto-intention can be  selected  in  the
     Editor-Options-menu.  The following keys are defined:

     <Return>
          The next (new) line is indented to the beginning of the
          previous line.

     <Tab>
          If <Tab> is entered in front of the first visible char-
          acter the whole line is indented like the previous one.
          If the cursor is placed behind  this  column  then  the
          line is indented N characters more than the previous. N
          is the number entered for  the  Tabstops  in  the  menu
          editor-options.  If  the  cursor  is placed behind this
          position or  between  visible  characters  a  <Tab>  is
          inserted.

     <Backspace>
          If entered in front of the first visible character of a
          line  the  line  is  indented  like  the last line that
          started in front of this cursor- position.




     Hints for installation

     The XWindow Programming Environment  is  set  of  programmes
     compatible to System V. To use the plain UNIX-part of it the
     Curses-Library and the Terminfo-terminal capability informa-
     tion  are  required.  To install xwpe on a system not having
     this Terminfo the preprocessor-variable TERMCAP can be  used
     to  access  the termcap-information instead. On systems like
     Sun Os 4, that contain System  V  extensions  in  additional
     directories, these directories must be added to the Include-
     and Library-path.

     To use xwpe together with XWindow X11R3 or above is  needed.
     The  Path has to be added/changed in the Makefile.  The Alt-
     key is interpreted as mod4 (like Sun). To set this key xmod-
     map -e "add mod4 = Alt_L" may be necessary.  To use the help
     for functions 'Function-Index' it is necessary  to  set  the
     environment variable MANPATH correct.



     The GNU General Public License
     Version 2, June 1991

     Copyright (C) 1989, 1991 Free Software Foundation, Inc.
                           675 Mass Ave, Cambridge, MA 02139, USA

     Everyone is permitted to copy and distribute verbatim copies 
     of  this  license  document, but changing it is not allowed.

     Preamble

     The licenses for most software are  designed  to  take  away
     your  freedom  to share and change it.  By contrast, the GNU
     General Public License is intended to guarantee your freedom
     to share and change free software--to make sure the software
     is free for all its  users.   This  General  Public  License
     applies  to  most of the Free Software Foundation's software
     and to any other program whose authors commit to  using  it.
     (Some  other Free Software Foundation software is covered by
     the GNU Library General Public License  instead.)   You  can
     apply it to your programs, too.

     When we speak of free software, we are referring to freedom,
     not price.  Our General Public Licenses are designed to make
     sure that you have the freedom to distribute copies of  free
     software (and charge for this service if you wish), that you
     receive source code or can get it if you want it,  that  you
     can change the software or use pieces of it in new free pro-
     grams; and that you know you can do these things.

     To protect your rights, we need to  make  restrictions  that
     forbid  anyone  to  deny  you  these rights or to ask you to
     surrender the rights.  These restrictions translate to  cer-
     tain  responsibilities  for  you if you distribute copies of
     the software, or if you modify it.

     For example, if you distribute copies  of  such  a  program,
     whether  gratis  or  for a fee, you must give the recipients
     all the rights that you have.  You must make sure that they,
     too,  receive or can get the source code.  And you must show
     them these terms so they know their rights.

     We protect your rights with two  steps:  (1)  copyright  the
     software,  and  (2)  offer  you this license which gives you
     legal permission  to  copy,  distribute  and/or  modify  the
     software.

     Also, for each author's protection and ours, we want to make
     certain  that everyone understands that there is no warranty
     for this free software.  If  the  software  is  modified  by
     someone  else  and passed on, we want its recipients to know
     that what they have is not the original, so that  any  prob-
     lems  introduced  by others will not reflect on the original
     authors' reputations.

     Finally,  any  free  program  is  threatened  constantly  by
     software  patents.   We wish to avoid the danger that redis-
     tributors of a free program will individually obtain  patent
     licenses,  in  effect  making  the  program proprietary.  To
     prevent this, we have made it clear that any patent must  be
     licensed for everyone's free use or not licensed at all.

     The precise terms and conditions for  copying,  distribution
     and modification follow.

     GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING,
     DISTRIBUTION AND MODIFICATION

     0. This License applies to any program or other  work  which
     contains  a  notice placed by the copyright holder saying it
     may be distributed under the terms of  this  General  Public
     License.   The  "Program", below, refers to any such program
     or work, and a "work based on the Program" means either  the
     Program  or any derivative work under copyright law: that is
     to say, a work containing the Program or a  portion  of  it,
     either verbatim or with modifications and/or translated into
     another language.   (Hereinafter,  translation  is  included
     without limitation in the term "modification".)  Each licen-
     see is addressed as "you".

     Activities other than copying, distribution and modification
     are not covered by this License; they are outside its scope.
     The act of running the Program is not  restricted,  and  the
     output from the Program is covered only if its contents con-
     stitute a work based on the Program (independent  of  having
     been  made  by  running  the Program).  Whether that is true
     depends on what the Program does.

     1. You may  copy  and  distribute  verbatim  copies  of  the
     Program's source code as you receive it, in any medium, pro-
     vided that you conspicuously and  appropriately  publish  on
     each  copy an appropriate copyright notice and disclaimer of
     warranty; keep intact all the notices  that  refer  to  this
     License  and  to  the  absence of any warranty; and give any
     other recipients of the Program a copy of this License along
     with the Program.

     You may charge a fee for the physical act of transferring  a
     copy,  and  you may at your option offer warranty protection
     in exchange for a fee.

     2. You may modify your copy or copies of the Program or  any
     portion of it, thus forming a work based on the Program, and
     copy and distribute such modifications  or  work  under  the
     terms of Section 1 above, provided that you also meet all of
     these conditions:

          a) You must cause the modified files to carry prominent
          notices stating that you changed the files and the date
          of any change.

          b) You must cause any work that you distribute or  pub-
          lish,  that  in whole or in part contains or is derived
          from the Program or any part thereof, to be licensed as
          a  whole  at  no  charge to all third parties under the
          terms of this License.

          c) If the  modified  program  normally  reads  commands
          interactively when run, you must cause it, when started
          running for such interactive use in the  most  ordinary
          way,  to  print or display an announcement including an
          appropriate copyright notice and a notice that there is
          no  warranty  (or  else, saying that you provide a war-
          ranty) and that  users  may  redistribute  the  program
          under  these  conditions,  and  telling the user how to
          view a copy of this License.  (Exception: if  the  Pro-
          gram  itself is interactive but does not normally print
          such an announcement, your work based on the Program is
          not required to print an announcement.)

     These requirements apply to the modified work  as  a  whole.
     If  identifiable  sections of that work are not derived from
     the Program, and can be  reasonably  considered  independent
     and separate works in themselves, then this License, and its
     terms, do not apply to those sections  when  you  distribute
     them  as  separate  works.  But when you distribute the same
     sections as part of a whole which is a  work  based  on  the
     Program,  the distribution of the whole must be on the terms
     of this  License,  whose  permissions  for  other  licensees
     extend  to the entire whole, and thus to each and every part
     regardless of who wrote it.

     Thus, it is not the intent of this section to  claim  rights
     or  contest  your  rights  to  work written entirely by you;
     rather, the intent is to exercise the right to  control  the
     distribution  of derivative or collective works based on the
     Program.

     In addition, mere aggregation of another work not  based  on
     the  Program  with  the Program (or with a work based on the
     Program) on a volume of a  storage  or  distribution  medium
     does  not  bring  the  other  work  under  the scope of this
     License.

     3. You may copy and distribute the Program (or a work  based
     on  it,  under  Section 2) in object code or executable form
     under the terms of Sections 1 and 2 above provided that  you
     also do one of the following:

          a)  Accompany  it  with  the   complete   corresponding
          machine-readable source code, which must be distributed
          under the terms of Sections 1 and 2 above on  a  medium
          customarily used for software interchange; or,

          b) Accompany it with a  written  offer,  valid  for  at
          least  three  years,  to  give  any  third party, for a
          charge no more than your cost of physically  performing
          source  distribution,  a complete machine-readable copy
          of the corresponding source  code,  to  be  distributed
          under  the  terms of Sections 1 and 2 above on a medium
          customarily used for software interchange; or,

          c) Accompany it with the information you received as to
          the  offer  to  distribute  corresponding  source code.
          (This alternative is  allowed  only  for  noncommercial
          distribution  and  only  if you received the program in
          object code or executable form with such an  offer,  in
          accord with Subsection b above.)

     The source code for a work means the preferred form  of  the
     work  for  making  modifications  to  it.  For an executable
     work, complete source code means all the source code for all
     modules  it  contains, plus any associated interface defini-
     tion files, plus the scripts used to control compilation and
     installation  of  the  executable.   However,  as  a special
     exception, the source code distributed need not include any-
     thing  that  is  normally  distributed  (in either source or
     binary form) with the major  components  (compiler,  kernel,
     and  so  on) of the operating system on which the executable
     runs, unless that component itself accompanies  the  execut-
     able.

     If distribution of executable or  object  code  is  made  by
     offering access to copy from a designated place, then offer-
     ing equivalent access to copy the source code from the  same
     place counts as distribution of the source code, even though
     third parties are not compelled to  copy  the  source  along
     with the object code.

     4. You may not copy, modify, sublicense, or  distribute  the
     Program  except  as  expressly  provided under this License.
     Any attempt otherwise to copy, modify, sublicense or distri-
     bute  the  Program is void, and will automatically terminate
     your rights under this License.  However, parties  who  have
     received copies, or rights, from you under this License will
     not have their licenses terminated so long as  such  parties
     remain in full compliance.

     5. You are not required to accept this  License,  since  you
     have  not  signed it.  However, nothing else grants you per-
     mission to modify or distribute the Program or  its  deriva-
     tive  works.   These actions are prohibited by law if you do
     not accept this License.  Therefore, by modifying or distri-
     buting  the  Program (or any work based on the Program), you
     indicate your acceptance of this License to do so,  and  all
     its  terms and conditions for copying, distributing or modi-
     fying the Program or works based on it.

     6. Each time you redistribute the Program (or any work based
     on  the  Program),  the  recipient  automatically receives a
     license from the original licensor to  copy,  distribute  or
     modify  the  Program  subject to these terms and conditions.
     You may not impose any further  restrictions  on  the  reci-
     pients'  exercise of the rights granted herein.  You are not
     responsible for enforcing compliance  by  third  parties  to
     this License.

     7. If, as a consequence of a court judgment or allegation of
     patent  infringement or for any other reason (not limited to
     patent issues), conditions are imposed on  you  (whether  by
     court  order,  agreement  or  otherwise) that contradict the
     conditions of this License, they do not excuse you from  the
     conditions  of this License.  If you cannot distribute so as
     to  satisfy  simultaneously  your  obligations  under   this
     License  and  any  other  pertinent  obligations,  then as a
     consequence you may not distribute the Program at all.   For
     example,  if  a patent license would not permit royalty-free
     redistribution of the  Program  by  all  those  who  receive
     copies directly or indirectly through you, then the only way
     you could satisfy both it  and  this  License  would  be  to
     refrain entirely from distribution of the Program.

     If any portion of this section is held invalid or unenforce-
     able  under  any particular circumstance, the balance of the
     section is intended to apply and the section as a  whole  is
     intended to apply in other circumstances.

     It is not the purpose of  this  section  to  induce  you  to
     infringe  any  patents  or other property right claims or to
     contest validity of any such claims; this  section  has  the
     sole  purpose  of  protecting  the  integrity  of  the  free
     software distribution system, which is implemented by public
     license practices.  Many people have made generous contribu-
     tions to the wide range of software distributed through that
     system in reliance on consistent application of that system;
     it is up to the author/donor to decide if he or she is  wil-
     ling  to  distribute software through any other system and a
     licensee cannot impose that choice.

     This section is intended to make thoroughly  clear  what  is
     believed to be a consequence of the rest of this License.

     8. If the distribution and/or use of  the  Program  is  res-
     tricted  in  certain countries either by patents or by copy-
     righted interfaces, the original copyright holder who places
     the Program under this License may add an explicit geograph-
     ical distribution limitation excluding those  countries,  so
     that  distribution  is  permitted only in or among countries
     not thus excluded.  In such case, this License  incorporates
     the limitation as if written in the body of this License.

     9. The Free Software Foundation may publish  revised  and/or
     new  versions  of  the  General  Public License from time to
     time.  Such new versions will be similar in  spirit  to  the
     present  version,  but  may  differ in detail to address new
     problems or concerns.

     Each version is given a distinguishing version  number.   If
     the Program specifies a version number of this License which
     applies to it and "any later version", you have  the  option
     of following the terms and conditions either of that version
     or of any later version published by the Free Software Foun-
     dation.  If the Program does not specify a version number of
     this License, you may choose any version ever  published  by
     the Free Software Foundation.

     10. If you wish to incorporate parts  of  the  Program  into
     other  free  programs whose distribution conditions are dif-
     ferent, write to the author  to  ask  for  permission.   For
     software  which  is copyrighted by the Free Software Founda-
     tion, write to the Free Software  Foundation;  we  sometimes
     make  exceptions  for  this.  Our decision will be guided by
     the two goals of preserving the free status of  all  deriva-
     tives  of our free software and of promoting the sharing and
     reuse of software generally.

     NO WARRANTY

     11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS
     NO  WARRANTY  FOR  THE  PROGRAM,  TO THE EXTENT PERMITTED BY
     APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE
     COPYRIGHT  HOLDERS  AND/OR OTHER PARTIES PROVIDE THE PROGRAM
     "AS IS" WITHOUT WARRANTY OF ANY KIND,  EITHER  EXPRESSED  OR
     IMPLIED,  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRAN-
     TIES OF MERCHANTABILITY AND FITNESS FOR  A  PARTICULAR  PUR-
     POSE.   THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF
     THE PROGRAM IS WITH YOU.  SHOULD THE  PROGRAM  PROVE  DEFEC-
     TIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
     OR CORRECTION.

     12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR  AGREED
     TO  IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY
     WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS  PERMITTED
     ABOVE,  BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
     SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT  OF
     THE  USE  OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
     LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
     LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
     PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),  EVEN  IF  SUCH
     HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
     SUCH DAMAGES.

     END OF TERMS AND CONDITIONS

     Appendix: How to Apply These Terms to Your New Programs

     If you develop a new program, and you want it to be  of  the
     greatest possible use to the public, the best way to achieve
     this is to make it free software which everyone  can  redis-
     tribute and change under these terms.

     To do so, attach the following notices to the  program.   It
     is safest to attach them to the start of each source file to
     most effectively convey the exclusion of warranty; and  each
     file should have at least the "copyright" line and a pointer
     to where the full notice is found.


          <one line to give the program's name and a  brief  idea
          of what it does.> 
          Copyright (C) 19yy  <name of author>

          This program is free software; you can redistribute  it
          and/or  modify  it  under  the terms of the GNU General
          Public License as published by the Free Software  Foun-
          dation;  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 Pub-
          lic  License  along with this program; if not, write to
          the Free Software Foundation, Inc., 675 Mass Ave,  Cam-
          bridge, MA 02139, USA.


     Also add information on how to contact you by electronic and
     paper mail.

     If the program is interactive, make it output a short notice
     like this when it starts in an interactive mode:


          Gnomovision version 69, Copyright (C) 19yy name of
          author
          Gnomovision comes with ABSOLUTELY NO WARRANTY; 
          for details type `show w'.
          This is free software, and you are welcome to
          redistribute it under certain conditions; type `show c'
          for details.



     The hypothetical commands `show w' and `show c' should  show
     the  appropriate  parts  of  the General Public License.  Of
     course, the commands you use may be called  something  other
     than  `show w' and `show c'; they could even be mouse-clicks
     or menu items--whatever suits your program.

     You should also get your employer (if you work as a program-
     mer)  or  your school, if any, to sign a "copyright disclai-
     mer" for the program, if necessary.  Here is a sample; alter
     the names:


          Yoyodyne, Inc., hereby disclaims all copyright interest 
          in the program
          `Gnomovision' (which makes passes at compilers) 
          written by James Hacker.

          <signature of Ty Coon>, 1 April 1989
          Ty Coon, President of Vice



     This General Public License does  not  permit  incorporating
     your  program into proprietary programs.  If your program is
     a subroutine library, you may consider  it  more  useful  to
     permit  linking  proprietary  applications with the library.
     If this is what you want to do, use the GNU Library  General
     Public License instead of this License.



