Short: CCon v1.2.3 - Ultimate CON Replacement Author: tobias.karlsson at piratkopia.se (Tobias Karlsson) Uploader: tobias karlsson piratkopia se (Tobias Karlsson) Type: util/shell Version: 1.2.3 Architecture: m68k-amigaos CCON: - a console handler with output scrollback for AmigaOS. ================================================================= WHAT IT IS A mounted console handler - what CON:, KingCON and ViNCEd are - built around the one feature the stock 3.2 console cannot be given from outside: output scrollback. 512 lines of history behind every window by default (up to 5000), and a line editor that brings the modern shell feel to the Amiga prompt. FEATURES - Output scrollback: Shift/Ctrl+arrows and the mouse wheel, working in raw mode too for a client that isn't fullscreen (More/Ed refuse it on their own alternate screen, xterm manners); Ctrl+R searches it once you're scrolled back (same key as history search, retargeted) - matches shown inverted AND land on your prompt live, same as history search already does; Return/Tab/typing hand the live prompt straight back with the found line ready to edit or run, n/N re-walk the same matches if you scroll back again later - Fast: output renders model-first (at most one scroll blit per write, none for a screenful), writes are answered ahead of the pixels (a frame at most, the stock console's own bargain), and rendering is plane-masked - plain text moves one bitplane in four, the 3.2 console.device's own trick. Under render barriers, the honest measure, the fastest of the three consoles tested at both accelerated and stock-A1200 timing (conbench, also in this collection) - A window per open, stock CON: fashion; the full stock option set (AUTO, WAIT, SCREEN, WINDOW0xADDR, NOBORDER, ...) per window - Hosts real AmigaShells: NewShell CCON: - Iconify to the Workbench: RightAmiga+I sends a window to a desktop icon and a click brings it back exactly as you left it - scrollback, a half-typed line and all; its own icon is built into the handler. Works over a fullscreen client (Ed) too - fish-style autosuggestions: history's continuation as grey ghost text; Right accepts, Ctrl+Right/Tab take it word by word - zsh-style Tab completion with a cycling candidate menu - bash-style Ctrl+R incremental history search - the prompt becomes an inverse (search: ...) banner and is restored pixel-perfect from the scrollback model afterwards - readline line surgery: Ctrl+W/U/K, and Ctrl+L clearing into HISTORY (Shift+Up undoes the clear) - Copy & paste with the stock console family, both directions (IFF FTXT); drag, double-click word, triple-click line; output freezes under a drag like stock; RAMIGA-V pastes safely - one ordinary-looking line at a time, a grey hint shows how many more are queued, Enter runs one and loads the next, Esc cancels the rest (RAMIGA+SHIFT+V or PASTEEXEC for the old instant-run way) - SGR colour with the ANSI/Workbench pen separation: ls is genuinely blue everywhere, Ed is never red - plus real italic/underline/inverse soft styles - FONT and LINES per window: pick your own font/size (loaded from disk if needed) or scrollback depth; unset FONT follows your Font Prefs default font instead of a hardcoded topaz 8 - Fullscreen programs work: Ed with working MENUS, block cursor, resize re-measure, and proper whole-view scrolling (ANSI Scroll Up/Down honoured, not just the one changed line); More with real timed paging, and it restores your scrollback transcript on exit exactly as xterm's alternate screen does - paged content never enters your history - xterm-style window titles (OSC) that survive scrollback - CRAW: - the same handler as a raw-from-byte-one device - Swedish (and other) dead-key composition survives raw mode - can replace CON:/RAW: system-wide, KingCON style (Assign DISMOUNT + Mount FROM the same mountlist) - experimental, see ccon.doc section 15 LIMITATIONS - ~120K of model per window at 80 columns and the default 512 lines (LINES=n scales it, up to 5000) - Borrowed windows (WINDOW0xADDR) keep their owner's font - CSI K erases to black under colour - Completion: no quoted words, one menu page of 80 - Pasting into a fullscreen program (Ed) stops at ~2000 bytes and beeps; cooked-mode paste has no limit - 255 columns maximum; a window is at most that wide - SMART/SIMPLE and ALT not implemented - Tab completion and the history file have no filesystem timeout; a wedged or spinning-up disk blocks the window HISTORY 1.2.3 - Plane-masked rendering: text draws and scrolls only the bitplanes its colours occupy (the 3.2 console.device trick), widening instantly for colour, narrowing at page and window boundaries. With render barriers on, the fastest console of the three measured at both accelerated and stock timing - and the one whose fast numbers ARE its honest numbers 1.2.2 - The speed release: rendering is model-first (at most one scroll blit per write, none for a screenful), erasing the prompt cursor costs one cell instead of a row repaint, and writes are answered as soon as their bytes are copied so bursts of output pool into batched blits. The benchmark suite that took 1.2.1 288 seconds takes 2.4; with render barriers on, 4x faster than stock CON:, 6x than ViNCEd - conbench, written to measure all this, is its own tool in the collection now 1.2.1 - An iconified window comes back at the size and place it had, not the one it first opened with - and no longer scrambles its own scrollback doing it - A tall window with a small LINES no longer writes past its scrollback buffer; the depth is raised to fit the window - Faster output rendering - Bug fixes: clipboard parsing bounded against malformed data, a failed window restore can't strand a console, pasting into Ed says so when it hits its size limit, output during a scrollback search no longer snaps the view back, diskfont.library released on unmount 1.2 - Iconify: RightAmiga+I sends a window to a Workbench icon, a click restores it exactly as left; icon built in - Full-screen paging like CON:: form feed clears and homes, so More and any repainting program replace the page instead of scrolling it - Ed fixed: cursor keys navigate (raw keys back to 8-bit $9B), and resizing the window re-measures and repaints - Bug fixes: a narrowed window now re-wraps the transcript instead of losing it, paste can't overflow the clipboard buffer, clean handler unmount, history stores each command once, plus assorted hardening 1.1 - Per-window FONT and real italic/underline/inverse styles - Alternate screen for Ed/More (paged content stays out of scrollback) - Shared, persistent, prefix-filtered command history - Safe multi-line paste; scrollback content search (Ctrl+R) - Can replace the system CON:/RAW: KingCON style 1.0 - First release: output scrollback, fullscreen client support, a readline line editor, fish-style suggestions, zsh-style Tab completion, copy & paste, the input.device chain, and stock CON: open/close semantics CCON: is part of the LTX AmigaTools collection.