xwe(1) X-Window Programming Environment

Other Alias

xwpe, wpe, we

SYNOPSIS

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

DESCRIPTION

Xwpe can be used with or without the programming interface. It has its own X interface but can be used also on a character 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 connection with a simple character terminal you can use wpe to program and we as editor.
  Xwpe is a X-window programming environment designed for use on UNIX-systems. It is similar to the 'Borland C++ or Turbo Pascal' environments. The differences between the programming environments from Borland and xwpe is that many compilers, linkers, and debuggers can be used in xwpe. Menus and commands are accessible via both the keyboard and 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 program 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 program 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 functions from the top menu. These functions 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 an editor e.g. for shell-programming.

OPTIONS

-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 manager to start as icon rather than a normal window.

-pcmap
This starts xwpe with a private colormap.

INVOCATION

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 environment. Although modification by hand is possible comments will be erased if the options are latter saved from within xwpe.

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.

SYNTAX-SUPPORT:

Xwpe supports the syntax of a language by using different colors to display keywords, constants, preprocessor, comments, 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 overridden. If no personal 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 operators. The string for special single characters contains the following 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

COPYRIGHTS

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.

MAINTAINER

Send questions or problems to Dennis Payne, [email protected].

BUGS

Debugging leaks memory. The exact cause is still unknown.

Unsure if the column for continuing previous line is working. Information on how to test this and what the result should be would be greatly appreciated.

Documentation hasn't been updated.

Compilers are assumed to have a -c and -o option. This causes problems for those who wish to use java, perl, or other languages.

make install installs x versions even if not compiled in.

Adding items when no project is open has odd behavior.

Changing the maximum column and using cut & paste can crash xwpe.

Clicking "edit" in the project menu when not on a file it loads a file with a name of " ".

Esc key requires 3 presses to do the regular escape function under Linux console (and perhaps other terminal types).

No error for disk full.

Check headers doesn't correctly handle comments and "ifndef" protection.