This text editor is based on Xed 1.3 by Randolf Werner. It is part of Siag Office.



Standard Textwidget selection style is used:


Standard Textwidget key bindings are used. These are patterned after those in the EMACS text editor: In addition some special keybindings are used: There are some default keybindings for calling menus, which overwrite some of the above defaults in the textwindow. These may be changed by changing Resources in your "~/.Xdefaults": Esc erases the text in a popup text field like Line, Search, Sed, ...


UNIX commands can be execute using a user pipe or command. If there is some output of a user command it is displayed in another xed. Results of a pipe command replace the current text selection. Before a command is executed, the current selection and the current text are saved in temporary files. The following variables are set and may be used in a command:
    $selection: Filename of the temporary file containing the current selection
    $tempfile : Filename of the temporary saved text file
    $filename : Filename of the edited file
    $stripped : Stripped Filename (without postfix and path) of the edited file
The user may specify his own commands by specifying RESOURCES:
Each command has the format "<Menu entry><Tab><Command string>". Here are some short examples. These examples are setup in the default resource file. You may change them for your own purpose in your ".Xdefaults" file:
	XedPlus*commands: LatexPS	latex $stripped; dvips $stripped.dvi -o $stripped.ps; ghostview $stripped.ps &\n\
	LatexDVI	latex $stripped; xdvi $stripped.dvi &\n\
	Make	make\n\
	CC	cc $stripped.c -o $stripped\n\
	NewXed	1>/dev/null 2>/dev/null xed &\n\
	Manual	mantitle=`head $selection`;man $mantitle | sed "s/.//g"
	XedPlus*pipes: Date	date
KEYBINDINGS FOR CALLING MENUS You may define keybings for calling menus by changing the XedPlus.insertranslations and XedPlus.overwritetranslations resources. For calling a menu entry you can use the Action "xedCallMenu". In oder to call a specific menu entry, you have to know the widget name of the menu entry. A complete list of the widget names can be found in the default resourse file (see below). For example the default keybinding for calling the menus are setup in the default resource file in the following manner:
	Meta<Key>i: xedCallMenu(filemenu.insert) \n \
	Meta<Key>o: xedCallMenu(filemenu.load) \n \
	Meta<Key>s: xedCallMenu(filemenu.save) \n \
	Meta<Key>e: xedCallMenu(filemenu.quit) \n \
	Meta<Key>l: xedCallMenu(jumpmenu.line) \n \
	Meta<Key>f: xedCallMenu(searchmenu.search) \n \
If you like to see the hotkey for calling a menu entry in the menu entry name, you can define you own menu entry names. This is the default setting in the default resource file:
   	XedPlus.filemenu.load.label:	Open          o
	XedPlus.filemenu.insert.label:	Insert        i
	XedPlus.filemenu.save.label:	Save          s
	XedPlus.filemenu.quit.label:	Exit          e
	XedPlus.jumpmenu.line.label:	Line          l
	XedPlus.searchmenu.search.label:	Search          f 
The widget name of a user command or pipe is defined by the menu entry name. For example the widget names of the above examples for user commands and pipes are:
So these menu entries may be bind to some hotkeys by calling:
Be carefull when choosing the name of a menu entry for user commands or pipes. You may run into troubles if you use special characters or the same name for different menu entries.


    XedPlus.EnableBackups	      : Make backupfile before saving (Boolean)
    XedPlus.BackupNameSuffix      : Suffix for backupfilename (String)
    XedPlus.PrintCommand	      : Command for printing file (String) 
    XedPlus.AutoIndent            : AutoIndent (Boolean)
    XedPlus.Tabsize               : Tabsize (Int)
    XedPlus*editWindow.autoFill   : Autofill (Boolean)
    XedPlus*editWindow.wrap       : Wrapmode (String) (never, word, line)
    XedPlus.textwidth             : Width of the textwindow in number of characters (Int)
    XedPlus.textheight	      : Height of the textwindow in number of characters (Int)
    XedPlus.MaxScrollbreak        : Specifies how many cursor events with the
                                same serial number will be ignored (Int)
    XedPlus.commands	      : User command strings (String)
    XedPlus.pipes		      : Users pipe strings (String)
    XedPlus.insertranslations     : Keybindings in Insert mode
    XedPlus.overwritetranslations : Keybindings in Overwrite mode
The default resource file is not installed, but compiled into the executable file. Global resource files are evil. You may copy it into your "~/.Xdefaults" and modify it for your own purpose.
Ulric Eriksson - April 1999 - ulric@siag.nu