Short: ViNCEd, the CON: with ^Z & TAB Expand Author: thomas.richter@alumni.tu-berlin.de (Thomas Richter) Uploader: thomas richter alumni tu-berlin de (Thomas Richter) Type: util/shell Version: 3.106 Architecture: m68k-amigaos >= 2.0.0 --------------------------------------------------------------------------- Warning: The 3.69 was is the LAST releases that still supported Os 1.x You have been warned. 3.95 requires Os 2.0 or better. Actually, Os 3.1.4 or better is recommended. --------------------------------------------------------------------------- About ViNCEd ---------------------------------------------------------------------------- The latest version (3.106) of the full screen shell editor (CON: replacement) ---------------------------------------------------------------------------- Features: -Extremly flexible -Comes with prefs program with nice GUI -User defineable macros and buttons (gadgets) with parameters -Full screen editor, not line limited -Compatible to CON: and ConMan -VT-220 emulation build in -ANSI (VT-xxx) colors on request -Freely configurable keyboard -ASCII prefs, a standard editor is enough to change them by hand. -Keypad mode on request (numeric keypad for cursor control) -Supports control sequences of: -CON: -VT-220 -DEC -XTerm (Unix Shells) including mouse tracking -SGI winterm -plus private stuff (set keyboard, colors and font by ctrl seqs) -TAB expansion, with different TAB requesters as option -TAB expansion cache -Colored cursor on request -Menu, clipboard support build in (no ConClip needed) -"More than complete" online help plus documentation -C include files, autodocs for the library included -Screen title might contain path/fail codes/CLI number & more -Localizeable (German available, more locales welcome) -Job control á la unix with Ctrl-Z -suspends shell jobs -sends shell jobs to forgeground & background using tiny shell scripts "fg" and "bg" like unix - "screens" support -documented library for own applications and editor programming -iconification support -uses public "tbiclass" gadgets of VisualPrefs, or Massimo's toolbutton images if available. -easy installation -full control by single program (SetVNC) -clipboard support, snip control with middle mouse button or Ctrl-left-Mouse -can create private screens on request -font & monitor selectable by prefs -icon drop, with modifiers for path/name only -100% assembly language => fast & short (err, as short as I could do it.) Plus: It's 100% free! Hey, I must be crazy! ----------------------------------------------------------------------------- -------- history ----- this is not the complete history, read the guide!---- Changes made for 3.106: When a block mark included blanks between words that were compressed away, and the block mark did not start at the beginning of the line, printing the gap between words did not print the block mark correctly. This happened mostly when scrolling. Changes made for 3.104: When marking an almost empty window with blank lines for the clipboard, ViNCEd may have forgotten to mark the end-of-line of some of the empty lines in the window. This was due to one bug in a low-level function iterating over lines. Thanks to Luca Longone, the italian catalog has been updated! Thank you for your contribution! Changes made for 3.103: While there are not many observable changes, the internal structure of ViNCEd changed a lot, in preparation for a future major release. From the user perspective, the following things changed: - The knob size of the horizontal scroll gadget is now computed from the taken scroll space, and no longer from the maximum available space. - Also, the computation of the vertical knob size was incorrect in case a scroll region was installed into the window by means of the CSI n;m r sequence. - Rewrapping of the window contents with installed scroll region might have been off and might have positioned the cursor in the wrong spot upon re-wrapping of the window contents. - If cursor movement was restricted to the visible area, the cursor could not move at all in printed output. This now changed such that the cursor can move in such areas, provided there is no user input. As soon as input appears, cursor movement remains constrained to the input. - Overriding the CON: mount damaged a dos.library semaphore because dos.library creates a mis-aligned "fake" seglist for the ROM-resident CON-Handler. Added a workaround, this should prevent system hangs. Internal changes: - ViNCed no longer relocates dedicated line pointers in its main structure upon garbadge collection; instead, ViNCEd uses now a handle system with stack-based handle allocation to ensure proper pointer relocation. This would allow many more "floating" line pointer in future releases. - The "word" structure no longer uses offsets from the left window edge to indicate the position of a word. Instead, an offset from the end of the last word is used. The entire line compaction/expansion was rewritten. This, together with the previous choice, and the prop gadget change, would enable arbitrary long lines in future releases of ViNCEd. Currently, the line length is limited by about 250 characters. - Handling of the scroll region was greatly simplified. Instead of moving lines around on the "visible line list" upon insertion and deletion of lines, the lines in the scroll region are now kept in two separate lists which are not touched by the typical editor screen manipulations. -As a side effect of these changes, the VNC main structure changed in some places. Changes made for 3.102: ViNCEd now also delays the allocation of the TmpRas and by that avoids any allocation of Chipmem until absolutely needed. If ViNCEd is used as boot console, the TmpRas memory blocked MuMove4K from releasing all ChipMem below 32K, and thus blocked its operation. Additionally, the memory management and garbadge collector of ViNCEd is all new and should perform better. The dynamic line and buffer structures require now 8 bytes less per line. Also forgot to include the C prototypes for the vnc.library. Changes made for 3.101: ViNCEd now delays loading the icon and workbench libraries, and only opens them when they are already in memory. This avoids conflicts during early startup if only one of the libraries is replaced by LoadModule. While this is potentially a user error, it may be helpful to be conservative. ViNCEd now re-attempts to open the libraries as soon as the preferences become available, i.e. whenever ENV: is created and filled. Changes made for 3.100: When the VNC clip supervisor restarted some of its services, it invalidly accessed one of its internal variables as LONG rather than BYTE, causing an address fault on the 68000. Otherwise, the access was harmless. This was fixed in release 3.100. Changes made for 3.99: The ViNCEd "mount override" function to replace CON: and RAW: did not work correctly in combination with the ViNCEd Boot Shim of Os 3.2 and broke the RAW: handler instead of replacing it by ViNCEd. This was fixed in 3.99. Changes made for 3.98: If ViNCEd became active before ENV: and LOCALE: were setup, the localization wasn't updated for new windows even after ENV: became mounted. ViNCEd now also pulls all new system preferences once it becomes aware that the preferences system becomes active. Also, a new swedish locale is included, thank goes to Pär Boberg for tackling this! Changes made for 3.97: When ViNCEd becomes active before the ENV: assign is made, ViNCEd did not become aware of preferences changes and hence never adapted its settings if changes were made through SetVNC. It now re-attempts to register notification events every time a ViNCEd window is openend. Changes made for 3.96: When mounted, ViNCEd now automatically fixes its stack size to at least 4096 bytes required by the core. This avoids problems if ViNCEd is used as CON: replacement and the CON: stack size is not fixed by SetPatch as it should. Changes made for 3.95.1: ViNCEd remained unchanged, but SetVNC was updated. First, the "simple setup" apparently confused many people as some options mentioned in the guide do not appear unless users un-ticked the "simple setup" in the first page. Second, sizing the sprite for the color setup did not work properly on AGA machines with the hires sprite selected, and SetVNC did not restore the original resolution of the sprite pointer when terminating. Changes made for 3.95: This release resolves one of the "open ends" of ViCNEd. In case the "automatic line breaking at the right border" was selected, ViNCEd broke the lines as requested, but did not re-compute line-breaking when the window was resized. While a lot of preparation work was done to make this possible, the actual re-formatting algorithm was missing, and was finally included. Note that formatting only applies to printed output, not to user input, which continues to scroll. Changes made for 3.94: After 18 years of silence, this is a re-release of ViNCEd under my own copyright, and ViNCEd is again freeware. This version improves the handling of the "medium mode" such that it is fully compatible with the Os 3.2 (v47) version of the shell. TAB expansion is then fully done by the shell, bypassing ViNCEd. ViNCEd changes now its cursor shape for the shell-driven TAB expansion, and sends a ^E to the shell to abort the expansion. Also, ViNCEd uses now the intuition v47 sysiclass for iconification if this gadget is present. ----------------------------------------------------------------------------- Notes: Check the TOP_SECRET or ReadMe.First file in this archive! Especially, these SHOULD BE RUN FIRST before you start with the installation. VirusWorkShop seems to have trouble with the overlay file structure that is used by the SetVNC program. THIS IS NOT A VIRUS! It is a bugfix of the oldish CBM overlay manager which is really buggy! To trick VirusWorkshop, the SetVNC program in this archive is encoded. Use the "Decode" program from the "Extras" drawer to decode manually. The installer script has been updated to do this for you. ----------------------------------------------------------------------------- Send ideas, improvements, bugreports (please as concrete as possible) to: Thomas Richter EMail: thomas.richter@alumni.tu-berlin.de ----------------------------------------------------------------------------- July 2022 Thomas