pkg://jex-1.3.7-1.i386.rpm:970535/
usr/
X11R6/
bin/jex.hlp
info downloads
.topic Contents
Contents
***********************
- {What is it:What}
- {Distribution}
- {Features}
- {What's new: Changes}
- {Contacting me:Contacting}
.topic What
What is it
*************************
JEX (Jorgen Editor for X) is a programmer's editor for X-Window platforms
(Motif). I've written this editor because I got tired of the user
unfriendly vi interface. The first jex was a version written with a GUI
design program for X-Window. I wrote the first version to get to know
this program. I liked the result and decided to write it in plain Motif
so it would be portable. This way I could use it at home as well.
See also:
- {Contents}
- {Distribution}
.topic Distribution
Distribution
***************************
This package contains the source code of jex as well as a static linked
executable for linux. It may be used freely for private use only.
You can try to compile it on another platform than PC or HP, but I can't
guarantee that it will work, because at the moment these are the only
platforms it has been tested on. You will probable have to modify the
Makefile, especially the include directories (CFLAGS=-I<include dir>)
or the defines (-Dblablabla).
See also:
- {Contents}
- {Features}
.topic Features
Features
***************************
- It has the main editor functions: Copy, Cut, Paste. These are accessible
in many ways: the menubar, the buttons at the bottom of the window,
from the popup menu and via accelerator keys.
These functions work also across multiple copies of jex.
- It has a popup menu that contains the most frequent editor functions.
This popup menu is displayed when the third mouse button is pressed.
- It has auto indent. This means that a new line begins at the beginning of
the previous line. (This option can be turned off through the settings)
- It has an indication of the current row and column number at the top right
corner of the window.
- It has multilevel undo and redo functionality. The number of undo/redo
actions can be changed in the settings. (default 100) You can also
choose for block undo. This means that when you press Undo, jex will undo
all previous similar actions.
- It has a find option. You can type your text behind the find button at the
bottom of the window. When you press return, press the Find button or press
the up arrow, the next occurence of the search string is highlighted. You
can also search upward by pressing the up arrow button.
- It has a replace option. You can type the text that must be replaced behind
the find button and the new text behind the Replace button. When you press
enter in the replace field or when you press the Replace button, the text
to be replaced is replaced by the new text. Then the next occurence of the
text to be replaced is highlited. You can then press the Find button to
skip the current word or you can press Replace again to change the current
word. If you are certain that every word in the text may be replaced, then
you can press the All button. This will replace all the occurences of the
search string after the current cursor position.
- It has an options to clear a selected text. You can select a piece of the
text by marking it with your mouse (hold down mouse button 1 and drag until
the text is selected) or by holding Shift and using the cursor movement
keys. If you have selected some text, you can replace that text by blanks
by pressing the Clear button.
- You can also replace the selected text by all characters capitalized by
pressing the Caps button. You can also replace the text by all characters
lowerd by pressing the Lows button.
- You can goto a specific line number by entering the line number below the
Goto button and pressing enter or pressing the goto button.
- It has the possibility to restore the last saved version of your document.
This is the Revert options in the File menu. When you've made a lot of
changes and you don't like what you have done, just select Revert and the
version when you last saved the document reappears. Even better, when you've
just saved the document, you can retrieve the previous version by selecting
Revert (you should not have typed anything yet).
- It has the possibility to insert a file at the current cursor position.
This is the Insert options in the File menu.
- It has the possibility to print the current document. This is the Print
option in the File menu. The print command can be changed in the settings.
- When jex is killed (or crashes?), it tries to save a copy of your editor
files. When the document has a name, it saves it as <name>.rescue. When
the document has no name, it saves it as jexxxxxx, where xxxxx is a unique
number.
- It has the possibility to open a new editor window. This new editor has
the same functionality as the main window. jex does not stop until all
opened windows are closed.
- You can open the same file in two different windows. When you edit the file
in one window, the changes are automatically transferred to the other
window. This comes in handy when you want to edit two different parts of
the same file or when you want to view a part of a file while editing the
file.
- You can view which files are currently open by selecting Editors from the
View menu. This shows a list of open editors. When you double click on a
file, the associated window pops up.
- You can move several lines of text one position to the right or to the left
by clicking on the left/right arrows at the top of the window. Simply
select the lines you want to shift and press an arrow. This is very handy
when you want to add a if-statement around several lines of text. You
don't have to type blanks in front of every line to keep the indentation,
but you select the lines under the if-statement and press the right button
twice.
- You can compile your source code on the fly by clicking the Compile button
at the top of the window. Your source file is saved before the compilation.
Compiler options can be changed in the settings.
- You can make your project by clicking the Make button at the top of the
window. Your source file is saved before the make. The make command can
be changed in the settings.
- The output of the Compile/Make program is shown in an output window.
When the compiler issues an error/warning, you can double click on the
error line, jex automatically pops up the relevant source file and shows
the line number that caused the error. The format of the error line can
be changed in the settings. There you specify the separator between the
file name and the line number.
- You can interrupt the Compile/Make program by pressing the Stop button
in the output window. The output window can always be popped up by
selecting the Compile Output option in the View menu.
- You can make it a file viewer by selecting 'Read only' in the options
menu. This way, you can't change anything to the file you're viewing.
- There's a build in grep function that allows you to search for a specific
word in some files. You can also search entire subdirectories.
- A built in clock keeps you up to date and time.
- It keeps a history of the 10 last opened files per directory.
- It keeps a history of the 10 last search/replace/grep strings.
- You can make bookmarks of the files you like best or of files that are
hard to remember.
- It has an autosave function.
- You can set a marker in your text. Later, you can jump back to this marker.
See also:
- {Contents}
- {What's new:Changes}
.topic Changes
What's new
***************************
- 1.3.7: . Fixed a bug: Clone of a file and save as in the original editor
window caused that window to contain whatever it was before the
clone.
. The file selection dialog box now refreshes when you open it.
- 1.3.6: . Fixed the bug that when you executed a program with the run
command and the program expected input, jex would hang.
Now you can enter input in a special input box on the
output window.
. Changed the Goto line button into an icon.
. With the run command, you can specify %s. This will be
replaced by the current file name.
. Added a Repeat action menu item (CTRL-P). This will repeat
your last action. e.g. when you've overtyped a selection,
Repeat will replace the next occurence of the same word
in your text. Or when you've deleted a text, Repeat will
delete the next occurence of the same text.
. Fixed a bug. Undo of a replace put the cursor in the wrong
place.
. Fixed a bug. Doing a make/run/compile and some undo's after
that caused the save button to be disabled.
- 1.3.5: . Fixed the bug that caused the 'Reference to an unknown editor'
error.
. Added a 'Run' button in the toolbar and the menu.
. Changed the menu layout. Added a Bookmarks and Tools menu.
. The bookmarks menu can now contain 20 bookmarks for immediate
access. You can remove one of the bookmarks by removing it in
the bookmarks window.
. When you run an updated version of jex for the first time, a
message is displayed to inform you of this.
. Fixed a bug: When starting jex for the very first time in some
directory, the default settings were not applied.
. Added an overwrite warning with the Save As option.
- 1.3.4: . Put jex on my homepage
http://www.club.innet.be/~year1939/applications.html
. Added a 'Get the latest version' options in the help menu.
This executes netscape, Mosaic or arena and goes to my
applications page.
- 1.3.3: . Added 'cc: "%[^"]", line %d:' as another default compiler error.
. When selecting a directory or filter from the file-selection
dialog, filtering is now done automatically.
. The popup window seemed to have disappeared. It now appears again.
. Fixed a bug: Finding a string longer than 200 chars caused
jex to crash.
- 1.3.2: . Fixed a bug: quick hints appeared on the top left side of the
screen on HP.
. Added a list of compiler error strings to the settings dialog.
Now you can specify several error parse strings.
. Changed the combo boxes, they are now more universal.
. Added comboboxes to the fileselection dialog, the grep dialog
and the goto field.
. Added a title to the fileselection dialog. Some window managers
like fvwm95 don't add a title bar to the window. So I've added
and extra title.
- 1.3.1: . Fixed a bug: When replacing a word within grep with lines
longer than 256 characters caused the lines to break up.
. The quick hints now have a less odd behaviour.
. Changed the colors of the marker buttons. The set marker
button now appears enabled instead of disabled.
- 1.3.0: . Changed the layout a lot.
. Added a toolbar with color icons and quick hints.
. Changed the color of jex.
. Moved the clock to the menubar.
. Removed the Find and Replace buttons.
. Fixed a bug. Replacing some text caused a marker to change
position.
. jex now makes the text active in some logical situations.
. Added a replace option in the Grep dialog box. You can now
replace a string with another string in several files at once.
(Use with caution, no undo possible!)
- 1.2.8: . Added a Clone option in the file menu. With this option, you can
make a second window with the same text file. When you change
something in the second window, then this also appears in the
first window. (except when file is untitled)
. Fixed a bug. When closing a window, jex sometimes crashed.
. Fixed some bugs. Doing Save As or New in a cloned file did not
detach the two editors.
. Fixed a bug. Cloning the same window more than once and closing
one window, caused the other windows to be cleared.
. Added the option to set a marker (Edit->Set marker). You can
jump back to this marker with Edit->Goto marker.
- 1.2.7: . Added a Reload option in the file menu. When the file you are
viewing is changed by another user or by some program, you can
do a reload to view the latest version.
. Changed the debug library a bit. jex should now show more
information when it crashes. It should also generate a log
file 'jex.log'. You can send this log file to me and I'll try
to find what's gone wrong.
- 1.2.6: . Added a hyperhelp window. The helpfile 'jex.hlp' must be somewhere
in your path (PATH environment variable).
. The undo,redo,compile,make,grep buttons in the menu and the
popup menu are now grayed out when they're not apropriate.
. When you go to a line number with the Goto button or with the
output window, the line is highlighted for a second. This makes it
easier to locate the selected line.
. Added matching character lookup. When you press Ctrl-M or choose
Match char from the menu, jex searches for the opposite matching
character of the character that is currently at the cursor
position. e.g. when the current character is '(', jex searches
forwards for ')'. When the current character id '}', jex searches
backwards for '\{'. This yields for '(', '\{', '[', ']', '}', ')'.
When a matching character is found, it is highlighted for a quarter
of a second and the cursor is positioned at that character.
. Improved the shift-left, shift-right feature. It now removes tabs
before shifting. This eliminates the sometimes odd behaviour.
. Improved the line/column counter. It now counts tab characters as
eight characters instead of one. This eliminates the sometimes
incorrect column numbers.
- 1.2.5: . Added an autosave function. You can enable this with the settings
dialog box.
. Changed the Compile Error option in the settings dialog box.
It now uses a format string that is used with the sscanf()
function. (See the manual of sscanf for a description about
the format string). This format string is used to parse the
output of the compiler. When your compiler gives a warning or
an error, it should show the filename and the line number of
the error/warning. The first parameter of the format string must
be the filename. The second parameter must be the line number.
e.g. '%[^:]:%d:' can be used for 'file.c:345: Error'
. Fixed some bugs. Selecting something from the popup window
caused jex to crash. Closing a window sometimes caused jex to
crash.
. Added a delete-line function. When you press Ctrl-Y, the current
line is deleted.
. Added Shift Left, Shift Right, Compile, Make and grep to the
menu. Also added accelerators for these functions.
. Added Find-By-Example: When the find field is empty and you've
selected some text in the editor, you can search for the selected
string by clicking one of the find buttons.
. Made the statistics window non-editable.
. Added a debug library. When jex crashes, it may give some
information about the reason why.
- 1.2.4: . When an absolute path name is used, file name expansion does
does no longer occur. This allows you to specify a symbolic
link and still get the path name of the link instead of the
real path name.
. Added a case-sensitive togglebutton with the grep dialog box.
. Added a statistics dialog box that shows some details about
your edit file.
- 1.2.3: . Added the option to create a bookmark from the file that you're
editing. These bookmarks are also stored in the histoy file.
. Added a bookmark dialog box. Here you can see your bookmarks
and jump to a bookmark if you double-click or click on the
Goto button. You can also delete bookmarks from the list
with the Delete button.
. Added a resource file. You can copy this file to your home
directory or to the /usr/lib/X11/app-defaults directory.
You can also copy some lines from it to your .Xdefaults file.
Or you can ignore the file and use the built-in defaults.
. Added two lines in the resource file that control where the
settings and history files are stored:
*history_in_home_dir: False/True
*settings_in_home_dir: False/True
When False is specified, jex stores the files in the directory
where jex was started. When True is specified, jex stores the
files in your home directory. This way you can use the same
histories and settings no matter where you start jex.
. Fixed a bug with the grep history which caused jex to crash.
. Added full file name expansion. This means that files are always
opened with their full path name.
. Added a blocked undo option. Now you can undo all previous
similar actions. e.g. If you were typing after you replaced
something, jex will undo all typing after the replace.
. When all possible actions are undone, jex now marks the file
as unchanged.
. When block undo is on, jex combines all contigeous inserts/deletes
into one single undo record. This mechanism provides maximum
undo performance.
. Added a history to the grep file field. The last 10 search
files are stored.
- 1.2.2: . Fixed the bug when two files are open with the same name.
jex now disconnects both editors if another file is opened.
. Fixed a bug when compiling a program and exiting the editor.
The compiler is now killed and all input/output functions
are freed.
. Added a history to the find field. The last 10 search strings
are stored.
. Added a history to the replace field. The last 10 replace strings
are stored.
. Added an option to the options dialog box. In version 1.2.1, when
you opened a file from the file history, a new window was opend.
No you can choose between opening a new window or opening the
file in the current window (default).
. Added a history to the grep search field. The last 10 search
strings are stored.
. Fixed a new mysterious resize problem. When you opened a new
window, resized it and started typing, the window got back to
its original size.
- 1.2.1: . Added a file history to the file menu. jex now keeps a history
of the 10 most recent opened files. Thisa history is saved
in the directory where you started jex. This way, you can have
different histories for different projects you are working on.
- 1.2.0: . Added a grep function. Added a new dialog box for it. In this
box, you enter the search string and the files that you want
to search. You can also search for the string in all the
subdirectories. If you specify '*.c' as files, then the string
is looked up in all .c files. If the subdirectories togglebutton
is on, then the string is also looked up in all the .c files in
every subdirectory. You can specify more than one file by
separating then by a blank.
. Added a time field that shows the current date and time.
. Added a goto button in the output window.
. Added a goto button in the editors window.
. Find does no longer start back from the beginning or end of the
file. Instead, it gives you a message saying that the string could
not be found.
. The output window has now also a watch cursor on it.
. Changed some labels in the ouput and editors window.
. Fixed another read-only bug with Undo/Redo.
- 1.1.6: . Added a small label to the file selection box that displays the
size of the selected file. It automatically chooses the
appropriate measurement (bytes, Kb or Mb).
. When you load a file, the cursor is now positioned at the first
character instead of the second.
. Changed the default key bindings for the edit menu to Ctrl<Key>...
- 1.1.5: . Added an about dialog box.
. Fixed another watch cursor bug with the compile output box.
. Solved the mysterious resizing of the compile output box and
the editors dialog box.
. Fixed the default compile error option.
- 1.1.4: . Solved the mysterious resizing of the windows.
. Made the read-only option really read-only.
. Pops up windows even if they're minimized.
. Stop conpile sends a SIGQUIT signal instead of SIGINT.
. The options are now saved in the directory where you
start jex.
. Updated the HP makefile. It now compiles on HP-UX 10
. Fixed a small bug with replace all. The watch cursor is now
changed back to normal again.
- 1.1.3: . Changed the Compile output box to solve its strange behavior.
. Added a watch cursor to inform you that jex is busy.
. Fixed the bug that when double-clicking on a compiler error,
. the wrong window comes up.
. When you compile or make a program, all files that are not
. saved are automatically saved instead of only one file.
. Fixed a small memory leak in the replace all function.
. Added a Read only option.
- 1.1.2: . Optimized the calculation of the line number when handling large
files ( > 1M ).
. Optimized the memory usage a bit when loading a file.
- 1.1.1: . jex now quits when you say Yes to the 'Do you want to save
the file' message when you want to quit jex.
See also:
- {Contents}
- {Contacting me: Contacting}
.topic Contacting
Contacting me
****************************
- e-mail : jbosman@village.uunet.be
jbosma@fercomsys.be
- address: Jorgen Bosman
Ferdinand Verbieststraat 3 bus 5
2030 Antwerpen
Belgium
See also:
- {Contents}
.topic Settings
Settings dialog box
*****************************
The settings dialog box must be called from the menu: Options->Settings ...
In this dialog box, you can specify several machine dependant and personal
settings. The new settings are saved when you press the OK button. These
settings apply only for the current editor and all new editor windows.
The settings are saved in the file '.jexrc' in the current directory or
in your home directory. This depends on the value of the
'settings_in_home_dir' parameter of the resource file.
- Auto Indent: When the checkbox is enabled, all new lines start at the
position of the first character of the previous line.
- Open files from file menu in a new window: When the checkbox is enabled,
all files opened via the file history in the File menu are
opened in a new editor window. Otherwise, the files are
opened in the same window.
- Block undo: When the checkbox is enabled, jex will undo all previous
similar actions. e.g. all typing since the last delete.
- Undo Levels: This specifies the number of undo actions must be kept in
memory. The more levels, the more memory is consumed.
When Block Undo is on, the number of undo actions seems to
be more, because all similar actions are treated as one
action.
- Print Command: This specifies the command to be executed when you print
a document. The command must take as last parameter a
filename.
- Compile Command: This specifies the command to be executed when you
press the compile button. The command must include
a '%s' string. This string will be replaced by the
filename.
- Make Command: This specifies the command to be executed when you
press the make button.
- Run Command: This specifies the command to be executed when you
press the run button. You can use %s. This will be
replaced by the current file name.
- Compile Error: This specifies the format of the output of your compiler.
This must include two fields: the filename and the line
number. The format string is a sscanf() format string.
(see the manual for details about this format string)
e.g.
for gcc -> %[^:]:%d:
stands for -> all characters exept ':' followed by a ':',
then a number followed by a ':'
example -> filename:line: error message
- Autosave every x minutes: When the checkbox is enabled, jex automatically
saves the file every x minutes. You can specify
the time in the text field.
.topic Grep
Grep dialog box
*****************************
The grep dialog box can be called from the menu: Options->Grep...
or from the top toolbar: "Grep"
With grep, you can search for a text string in multiple files.
- Search for: In this field, you can specify the search string. The 10 last
search strings are saved. When you click on the arrow next to
the field, you can choose one of these search strings.
- Search in: In this field, you can specify the files to search in. The 10
last files are saved. When you click on the arrow next to
the field, you can choose one of these files.
- Search subdirectories: When the checkbox is enabled, grep searches through
all subdirectories for the specified files.
- Case sensitive: When the checkbox is enabled, grep searches for the exact
string. Otherwise grep ignores the case of the string.
.topic Editors
Editors dialog box
********************************
The Editors dialog box can be called from the menu: View->Editors ...
This dialog box shows all open editor windows and the files that are open.
If an editor window contains a document without a name, then <Untitled>
appears in the editor dialog box. You can popup one of the editors by
selecting it and press the Goto button, or by double-clicking on an editor.
Close closes the Editors dialog box.
.topic OutputWindow
Output Window
***************************
The output window can be called from the menu: View->Output window ...
It is automatically shown when you do a compile, make or grep.
The output window shows the output of the compiler, make and grep utility.
When the compiler gives a warning or an error, or when grep finds some
matches, you can select a line from the output window and go to the
corresponding file and line number by clicking on the Goto button or
by double-clicking on the line. You can stop an ongoing process by clicking
on the Stop button. e.g. when you've done a make and forgot to change
something, you can press Stop to interrupt the compilation. The same yields
for grep. Close closes the output window without stopping the running program.
You can give input by typing something in the input box and hit Enter.