Kinesics Text Editor build 051 Readme File Copyright 1998-2010 Joe Lowe 2010.05.18 Introduction ------------ Use of this software is subject to the license agreement in license.txt. The Kinesics Text Editor provides an efficient interface for editing text files in a variety of environments. The editor has versions for the following environments: Windows 2000 - Windows 7 X86/X64 GUI Windows 2000 - Windows 7 X86/X64 console Mac OSX 10.5+ PPC/X86/X64 terminal Linux X86/X64 Source code, for other unix platforms The user interface is consistent for all versions. It is optimized for developers with keyboard preference. Screen real estate is used almost exclusively for displaying file data. The key mappings are based on Windows standards. For many commands there are multiple key mappings. Some tips for new users: - Try key mappings you are familiar with from other programs. - After closing the search/replace dialog, use ctrl+N to find the next match or use ctrl+Y to replace found text and search for the next match. - Create column selections instead of stream selections by pressing the shift key twice in succession when starting a new selection. - Using the backspace, tab, alphanumeric, and punctuation keys while a column selection exists will simultaneously edit multiple lines in the file. - The middle mouse button can be used to scroll through the file. - Ctrl+B, ctrl+M, and ctrl+T can be used to create selections without using the shift key. - Use ctrl+shift+C and ctrl+shift+X to append to the clipboard instead of replacing the clipboard contents. Refer to the keymap.txt file for a comprehensive list of key mappings. Installation ------------ There is a separate executable for each supported environment. No installation process is required, beyond copying the appropriate executable to the folder of your choice on the hard drive. The sample config files can optionally be copied to your hard drive, but are not necessary. The editor will use defaults for all config settings if no config file exists in the folder with the executable. For the Windows gui version you may want to associate the editor with the file types you commonly edit. For information on editing file associations, refer to your Windows documentation. The following files are included in this distribution (Windows). briefkeys.txt Brief key mappings information config.txt config file format and options k.cfg sample config file k.exe Windows 32 bit console version keymap.txt key mappings information kit.cfg sample config file kit.exe Windows 32 bit GUI version license.txt end user license agreement readme.txt first time use information setup.cfg installation data setup.exe Windows 32 bit installation utility releasenotes.txt release history ia64/k.exe Windows IA64 console version ia64/kit.exe Windows IA64 GUI version x64/k.exe Windows AMD64 console version x64/kit.exe Windows AMD64 GUI version Configuration ------------- Refer to the config.txt file for configuration file format and description of available settings. Brief users ----------- To enable Brief key mappings, select "settings/open config file" from the menu, then add a line "BriefKeys=on". Refer to the briefkeys.txt file for additional information. Windows ------- When running the console version of the editor on Windows, you must modify the default setting for the console 'quick edit' mode in order to use the mouse in the editor. This setting is located in the console properties menu. Unix ---- The source version of the editor can be compiled for many versions of Linux and other unix systems. The source is setup to build with the GNU make utility and compilers. The editor uses the terminfo database to determine how to communicate with the terminal or terminal emulator. Some unix systems include inaccurate terminal configuration information in the terminfo database. The xterm configuration and terminfo database do not match on many of the Linux distributions. Terminfo configuration is beyond the scope of this document. Configuration problems in the terminfo database may manifest as: - Corrupt display. - Incorrect graphics characters being used to display dialogs, controls, etc.. - Bizarre character strings being inserted into the file when editing keys are used. - Editing keys performing the incorrect commands. The following config file settings may be useful for working around terminal problems: ColorScheme=mono Use3dControls=off UseGraphicsCharacters=off Lines=? Columns=? EscapeTimeout=? Refer to the config.txt file for more information. Be sure that the TERM environment variable indicates the correct type for the terminal emulator you are using. Due to limiations of the terminal architectory on unix-like operating systems, many of the Windows style key mappings are not available. The sticky modifier keys, ctrl+J for shift, ctrl+K for control, and ctrl+L for alt, can be used to execute commands that may otherwise be unavailable. For example: pressing ctrl+L followed by X is equivalent to alt+X. If your terminal emulator supports "meta key", it may allow the editor to properly handle key mappings that use the alt key. The following config settings enable "meta key" support in the editor: EscapeMetaKey=on HighBitMetaKey=on It may help to place these settings in a terminal type specific section of the config file so they are not always enabled. Refer to the config.txt file for more information. Telnet ------ The Linux version runs well through telnet or ssh connections. If your telnet client does not support the home/end/pageup/pagedown keys, you can use the ctrl+(W,E,R,D) keys instead. The Windows console version is not compatible with the Windows telnet server. The Windows telnet server provides only a minimal emulation of the Windows console. Other telnet server's for Windows NT4/2K/XP may work. Release History --------------- build 051, May 18, 2010 - updated source package, compiler/build updates - added binary packages for OSX and Linux build 050, June 6, 2009 - updated source package, OSX compatibility build 046, August 8, 2008 - updated source package, compatibility with new GCC versions build 030, January 15, 2006 - updated source package build 028, August 28, 2005 - fixed handling of extended keys with non US keyboard layouts - various package and source changes to increase compatibility with different unix systems build 027, January 17, 2004 - fixed altgr key handling for non US keyboard layouts - some minor bug fixes and enhancements build 026 - 64 bit Windows versions for IA64 and AMD64 - single user only install mode - gnu/linux source version - some minor bug fixes and enhancements build 025, June 25, 2001 - fixed defect causing mispaint of open dialog in console versions build 024, May 7, 2001 - installer/uninstaller - automated distribution package creation - winzip self extracting distribution - improved terminal graphics character handling build 023, Apr 26, 2001 - fixed defect causing intermittent fault on exit when many files open build 022, Apr 22, 2001 - improved low memory handling especially in DOS version - fixed screen repainting too often during lengthy commands - fixed broken clipboard in dialog edit controls for DOS/Linux versions - changed some config defaults for Linux version - fixed save under linux to not break soft links - added progress display during file saves build 021, Mar 14, 2001 - reworked file stream storage primitives for better performance - added DOS scratch file support for environments without extended memory - implemented new line feed indexing with reduced memory overhead - some minor bug fixes and enhancements build 020, Feb 20, 2001 - console version browsable file open/save as dialog - fixed clipboard problem in Linux and DOS version - some minor bug fixes and enhancements build 019, Feb 7, 2001 - menus - appendable clipboard support - about dialog - getting started help dialog - brief style key mappings - numerous minor bug fixes and enhancements in all versions build 018, Jan 24, 2001 - reworked keyboard mapping logic for better menu and macro support - quick macro record and playback - numerous minor bug fixes and enhancements in all versions build 017, Jan 17, 2001 - multiple file selection in Windows open dialog - use single instance option for Windows version - file modified and read only status displayed in title/status bar - redo (undo undo) - numerous minor bug fixes and enhancements in all versions build 016, Jan 5, 2001 - data loss bug in Linux threading logic build 015 fixed - Windows gui open/saveas/select font system dialogs are now non modal - added file type config mechanism to allow varying settings (eg: tab size) based on file name - find/replace options saved to config file on exit - treatment of trailing spaces on edited lines is now configurable - numerous minor bug fixes and enhancements in all versions build 015, Dec 4, 2000 - Linux console version now working and matches DOS and 32 bit console version in functionality except for mouse support - enhanced config file model allows config option overrides on command line and processes default config data from the executable folder as well as user config data from the users home folder - improved command line help and additional command line switches - numerous minor bug fixes in all versions The Linux version has not received extensive use testing. It has a fault handler that will try to dump modified files to .CHK files in the event of a fault, however the posix threading makes it a bit less likely to be able to salvage file data. I am not aware of any data loss problems, but try to avoid too much data exposure when using the Linux version. build 014, Oct 6, 2000 - DOS and 32 bit console versions are working and match gui functionality - scroll bars in console ui The Linux version is still not ready. I haven't implemented the Linux threading primitives. build 013, Sep 15, 2000 - column editing (not just column selection) - progress display and ability to abort time consuming commands (actually all commands are now abortable) - hard tab support (older versions displayed tabs correctly but always stripped tabs out of modified lines) - improved unix linefeed handling (older versions displayed unix text files correctly but always inserted DOS line feeds) - fully functional find/replace dialog - wildcard file spec processing on command line - keyboard reconfiguration some other non feature oriented changes: - new project and executable name (don't get attached as it will probably change again before it ships) - general architecture improvements to reduce amount of platform specific code and to increase maintanability flexibility and performance - groundwork for keyboard macro support - multi-threaded (all edit commands are processed by separate background thread) - assert handler in debug builds dumps files in same manner as fault handler - removed cursor positioning alias key definitions (ctrl+w,e,r,d and i,k,j,l) - no console/DOS/Linux version (temporary) There are other enhancements that will probably take me a revision or two of this file to fully list as it has been a long time and I have not done a great job of tracking my changes. The change to a multi-threaded architecture was a tough decision for me. It had been one of goals to NOT go multi-threaded for the first version. When I got into implementing the command progress and abort logic, I decided that threading would simplify the logic significantly enough to justify the transition. This version is Windows GUI only. The DOS, Windows console, and Linux versions are broken until I complete some dialog work and complete the threading primitives for Linux. The 16 bit threading primitives for DOS are complete and have been unit tested in the 16 bit Windows GUI version. build 012, Sep 23, 1999 - first linux version - new key mappings for linux version including sticky selection - modified 3d button style in console version - fixed quoted filename handling in gui version - tweaked color schemes to not use intense background colors - use selected text as default find text build 011, Jul 8, 1999 - extended memory support in DOS version - rework of file data stream primitives build 010, Jun 11, 1999 - ctrl+tab keystrokes in DOS version are no longer lost - added .BAT .INI .CFG to file filter in windows open dialog - fixed no prompt on exit bug in 009 - selectable color schemes - config file can be modified from within editor - search/replace logic added to find dialog and ctrl+y - fixed command line file load order to match ctrl+tab order build 009, Jun 4, 1999 - first DOS version, no extended memory/swap file support - custom fonts in separate font file SIMPOEM.FON - maxScanLines config setting will modify page up/down behavior - console version under Windows 9x works around screwy caps lock behavior build 008, Apr 12, 1999 - first 16 bit windows version - more internal fonts - console version now runs under windows 95/98 - console version cursor now moves past column 1000 - all versions now detect open of already open file correctly - console version selection not always painted correctly when switching files - open now preserves case of filenames on disk - gui version window minimize/maximize state saves and restores - find now works on binary files with null bytes - console version dialog control styles now selectable - save backup files can be disabled build 007, Mar 14, 1999 - first win32 console version - repaint bug fixes, mainly dealing with file close - minor keyboard mapping tweaks - build number and time shows in /? help text build 006, Feb 1999 - phantom close bug fix - minor keyboard mapping tweaks - mouse selection changes - some code rework for console version - /? displays help text build 005, Nov 1998 - fixed selectable font (still need custom font selection dialog) - intellimouse support added - drag/drop file open build 004, Nov 1998 - removed fault key (ctrl+r) - added initial selectable font support (still needs work) - added initial window position save logic (still needs work) build 003, Nov 1998 - added config file parsing logic, reads TEX.CFG from program directory at startup - tab size is configurable using TabSize key in config file - ctrl-insert ctrl-del shift-insert shift-del key support added - during program exit file save failures are now reported correctly - second instance of editor loads using correct working directory instead of working directory of first instance - second instance of editor window now correctly comes up in foreground - alt-x can be used to exit program - center cursor now works correctly when near start of file - cursor position and selection are now correct after undo operations build 002, Oct 1998 - basic functionality build 001, July 1998 - basic functionality