Thank you for downloading my favorite X editor (e.pl)! To install (Windows), download the Windows self-extracting setup program from my website (http://home.mesh.net/turnerjw/jim). Also, create a "tmp" subdirectory in your "HOME" directory (C:\Documents and Settings\\tmp). To install (Linux/Unix), simply copy the 3 files starting with "e_*.pl" and the other ".pl" files to one of your Perl library directories. To determine this, do a "perl -V". Then, copy the script "e.pl", "myefonts" and "myethemes", to somewhere in your path. To create a viewer (read-only) version of this editor, copy e.pl to v.pl. You will also need to copy the files "myefonts", "myethemes", and "ebackups" to your home directory, edit them with your favorate text editor to fit your desires, then RENAME THEM such that they have the same names but with a leading dot ("."). NOTE: This program requires the following modules: File::Copy, Tk (obviously), Tk::JDialog, Tk::JFileDialog, Tk::JOptionmenu, Tk::Adjuster, and Text::Tabs. It can optionally make use of: Tk::DragDrop::Win32Site, Tk::DropSite, File::Spec::Win32 (Win32 / options), File::Glob, Tk::TextHighlight (Code text highlighting), Tk::Text::SuperText (Bracket matching, numerous other cool features) Tk::Autoscroll, Tk::TextANSIColor (Color "Tags"), Tk::XMLViewer (Viewing XML files as a tree), Syntax::Highlight::Perl (required by Tk::TextHighlight), Syntax::Highlight::Perl::Improved (usable by Tk::TextHighlight), and Syntax::Highlight::Engine::Kate (usable by Tk::TextHighlight), though none of these modules are required unless you wish to use their features. If you do not want the program to make automatic backups when opening a new file, simply delete ".ebackups" from your home directory. The default is to keep the last 10 backups, to change this, edit this file and change the 1st number (from 9 to 1 less than desired number). Create a "tmp" subdirectory under your home directory. Backups will be created there in sequence as "e.#.tmp" where "#" is a number between 0 and the number of backups you set up. After # exceeds that number, it cycles back to zero (e.0.tmp). This script needs Perl, and Tk. The Perl/Tk module: "Text::SuperText", available on CPAN, is NO LONGER REQUIRED, but adds bracket-matching! "e.pl" also works on Windows and can be compiled with "perl2exe" or PAR, but I can't post the binary, since I have not purchased a registered copy of (commercial) perl2exe :-(. Also note, compiling within the editor does not seem to work in the Windows 95/98 version and I haven't figured out why. It has to do with shelling out. If anyone can figure this out (e_pl.pl), please send me a patch! It seems to work fine in Windows-NT/XP, though. You may also want my "setPalette" module, if you are setting the palette color to a dark value, ie.: "e.pl -c=darkblue edit_file.txt &". To create a view-only version of the editor, copy "e.pl" to "v.pl". Invoke as "e.pl [-options] file" or "v.pl [-options] file". Note: The following options may also be specified one per line (and without the preceeding "-" in a configuration file (e.ini and v.ini). This configuration file will be searched for 1st in the current working directory, then the parent directory up to root (/), then the program directory. it does NOT look in the home directory unless the current working directory is at or below the home directory! Options: e.pl -c=color (set palette) -editor=module (default TextUndo). Tk Text-widget-based module to use. Known to work: Text, TextUndo, SuperText, TextANSIColor, and TextHighlight. -viewer=module (v.pl) (default ROText). Same as for -editor, but applies to v.pl (viewer-mode). Should be based on ROText. Known to work: ROText, ROTextANSIColor, ROSuperText, ROTextHighlight, and XMLViewer. -codetext=[Kate::]Language Used with -[editor|viewer]=*TextHighlight Selects which language highlighter to use with TextHighlight / ROTextHighlight. Default is based on file-extension or "Perl". -theme= No default - Name of color theme to start up in - For list of themes, view/edit ~/.myethemes If -fg or -bg are also specified, they override for the text widget whatever colors are specified in ~/.myethemes for . Format of text file (each line): Themename:$c="color"|""|DEFAULT; $fg="color"|same; $bg="color|same" "color" can be a color-name or "#rrggbb". See myethemes (file included) for examples. -palette= - Default (.Xdefaults: tkPalette) (tkVPalette for viewer (v.pl)). Overridden by -theme option, if specified. -fg=foreground, -bg=background (change foreground and background) (default: -fg=green -bg=black) (You can use these also with -c) -nb (editor only) - causes the file not to be auto-backed up when opened. -l=line#[.col#] (start with cursor on that line# / column#) NOTE: Lines#s are one-based, but column#s are zero-based!!! Default (1.0) -s="str" (start with cursor on 1st match of "str"). -f= Default: ./.myefonts|~/.myefonts |/myefonts; Text file containing list of font definitions to use in the font-selection dialog. Format of text file (each line): IndexCharacter Description:unix-font-string Example: A Normal-17 LT:-*-lucidatypewriter-medium-r-normal-*-17-*-100-100-*-*-*-* Select this font with "-font=A" or to make default, make this the first line in the "~/.myefonts" file. See myefonts (file included) for examples. -font=#|id|unix-font-string: Specify the index# or id (in font file) or the Unix font string to use as the default text font. Default 0 (1st font in font-file). -wf|-tf|-sf|-lf|-hf (start with weensey font, tiny font, small font, large font, or huge font - default is small font). -width=# Specify # characters wide to start(default 80). -height=# Specify # lines to show at start (default 25). -kandrstyle=0|1|2 Specify K&R-style Perl stmts. when inserting into code. 0: "if ()\n{"; 1: "if (){"; 2: "if () {". -notabs=0|1 Pad indentations with 0=tabs; 1=spaces -tabspacing=# Number of spaces equivalent to a tab when indenting. Default 3. -savemarks=0|1 1=Save bookmark locations automatically when file is saved (if any set). 0=Don't (user must specifically save them). -histFile= Default: ~/.myehist File to save history of last several opened files for quick recall in file open dialog. -pathFile= Default: ~/.myepaths Configuration file containing list of "favorite" directories/folders in a drop-down list in the file open dialog box. Format of text file (each line): /some/path;Comment -histmax=# Default 16. Number of recently edited/viewed files to be kept in the dropdown list in the file open dialog. -homedir= Default $HOME (~/). User's "HOME" directory for looking for configuration files, such as ".myefonts", ".myethemes", etc. You can also specify options in an "ini" file, (e.ini and/or v.ini). For example, I use TextHighlight when editing Perl code, so I set up a file (ec.ini) containing: editor=TextHighlight and did: ln -s e.pl ec.pl This allows me to do "ec.pl file.pl" for syntax-highlighting! To use the syntax highlighting, first go to CPAN and install Syntax::Highlight::Perl::Improved and Tk::TextHighlight. Then either create an e.ini file or specify the command-line options: e.pl -editor=TextHighlight [-codetext=Perl] myfile.pl -or- v.pl -viewer=ROTextHighlight [-codetext=Perl] myfile.pl Enjoy the Ride! ;-) Jim Turner turnerjw784@yahoo.com Changes: 3.2 Mon Sep 17 2001 - Added Dynamic Font support - Now create a personal FONT file containing the fonts you wish to use as ".myefonts". See example included with this distribution. File-name overrideable with: -f=fontfile. - Added Print option to File menu for command to apply to selected text or entire file. Last command is saved in file ".myeprint". 3.23 Fri Jan 11 2002 - Added themes, (move myethemes to .myethemes, and edit to suit). 3.3 Thu Mar 21 2002 - Added "-font" option, if numeric - specifies font on lin# in .myefonts file; otherwise, specifies 1st word of a font name in .myefonts. - Added auto-backup capability based on a new file stored in the program's home directory called ".ebackups". this file contains a single line with a number, ie. 10. specifying the number of backup files to save before overwriting existing ones in $HOME/tmp. A backup file is created whenever a new file is opened and contains the contents of the just-opened file, and is named "e.##.tmp". - Fixed problems with ability to stop processes in "Perl.Run" option. 3.32 Tue Jul 2 2002 - Added manual backup menu option. - Fixed Tk/MainLoop problem which caused cpu to be 100% utilized in 3.31 (my laptop's noisy fan was always coming on)! 3.42 Wed Jul 31 2002 - Fixed Perl.Run option stuff I broke in v3.32. - Changed "/" to "\\" in several places when running under M$-Windows. - Now looks for ".ebackups" in user's home directory instead of the program's home directory (each user should have their own copy of this file)! (v3.41) - Added the program's home directory to the path to search for the "myfonts" file. (v3.42) - Provided better (more general) defaults for ".myefonts" and ".myethemes". 3.43 Fri Aug 6 2002 - Added "shebang" option to the Perl option to find the Perl interpreter ("which perl") and add a "#!" line. Cursor should be at (0,0). 4.13 Thu Jul 27 2006 - Added -editor option to specify an alternate module to Tk::SuperText so that one can use Tk::CodeText and do syntax highlighting. 4.14 Thu Aug 31 2006 - Fixed Split-screen to better keep proper size in both Windows & Linux. 4.40 Mon Sep 3 2007 - Numerous minor enhancements, fixed disappearing text cursor pbm. when palette theme changed from a dark to a light color. - Switched from CodeText to TextHighlight as the highlighting text widget of choice. 4.42 Mon Sep 17 2007 - Minor fixes to make the AfterStep window-manager raise and give focus to the proper window whenever a popup window is closed. This only affects AfterStep when used in "ClickToFocus" mode. 5.00 Wed Oct 15 2008 - Added multi-tab browsing via Tk::Notebook. Rewrote bookmarks to now have separate set of bookmarks for each tab and each split screen within a tab. Added -nobrowsetabs option to not use tabbed-browsing (old, single screen way). Fixed several small bugs, binds, and optimizations. 5.10 Mon Oct 27 2008 - Fix Windows compatability issues and release new self-installing binary. 5.12 Tue Oct 28 2008 - Fix auto-indent bug introduced in last version.