KERMIT 95 NOTES These are my purely random notes about Kermit 95 -- bugs I noticed, ideas for improvements, etc. The encoding of this file is ISO 8859-1. Frank da Cruz Wed Jul 20 11:03:41 2011 ------------ Fri Jul 1 12:11:42 2011 If you send .emacs to Kermit 95, it is stored as X.emacs, even though "set file names" is "literal", and even though .emacs is a legal file name. Any new release of K95 will be for Windows XP and later. Thus there is no need to worry about FAT file systems and so on, and we have a greater character repertoire for filenames. So, for example, backup files can be named with tildes, a`la EMACS, e.g. foo.bar.~1~ rather than foo.bar.-1-. ------------ http://žorn.info <-- Ctrl-click on this URL doesn't work, even though K95 recognizes it as a URL (apparently the web browser receives only "http://"). ------------ SET KEY \269, SHOW KEY , and SET TERM NEWLINE-MODE don't know about each other. ------------ K95 doesn't let go of file or directory handles. If K95 is CD'd to a directory, then CDs to another directory, the first directory can't be renamed or deleted because it is "in use by another process". Only exiting from K95 clears the problem. ------------ On a certain (memory-starved = 1GB) computer, if I start two K95s, make a connection with the first one, then try to make another connection with the second one, the second one shrinks to a tiny icon that is only the right end of the title bar. Not always, but about half the time. I've never seen it happen anywhere else. If I start one and make the connection before starting the second one, everything is OK. ------------ On computers A and B, each with K95, one server one client. Client cd'd to root of big directory tree: send /recu * gets a parse error. Exchange client and server: get /recu * works fine. Most likely it has something to do with spaces in in the path. ------------ type /prefix: doesn't work at all in K95 although it works OK in C-Kermit. It causes a random charset to be detected. ------------ set command color fore back doesn't change the backround except under newly written characters. ------------ VT terminal emulation bug: Environment: Intel PC, Windows XP w/SP3, Kermit-95 v2.1.3 Terminal Emulations: VT100, VT102, VT220, VT220pc, VT320, VT320pc Problem: Set Screen Mode to 80x25 escape sequence [=3h Data source: HP rx2600 Itanium server console messages If the Screen Mode escape sequence [3h (Put screen in 80x25 color mode) is received, it causes subsequent control characters to be displayed as boxes instead of being interpreted. For example, the strings in example #1 will all appear on consecutive lines, but in example #2 they will all appear on the top line of the screen. Example #1 (works OK): [2J[01;01HLine #1 Line #2 Line #3 Line #4 Line #5 Example #2 (appears all on one line): [2J[01;01H[=3hLine #1 Line #2 Line #3 Line #4 Line #5 ------------ Clicking on K95 inside window frame to bring it to foreground often erases the clipboard. Reason: if the mouse moves even the tiniest bit between button down and button up, it does a copy to clipboard. Workaround: change the default assignments set mouse button 1 none drag \Kend set mouse button 1 ctrl drag \Kmarkcopyclip (except the second command doesn't seem to work) BUG: set mouse button 1 none drag XXX assigns XXX to the event OK, but it still does the \Kmarkcopyclip operation. ------------ In CMD.EXE you can't pass args directly to a script: x.ksc foo bar baz You have to do: k95g.exe x.ksc = foo bar baz ------------ In Vista, "set file download-directory" doesn't work, and it's not set correctly by default either. new feature: triple-click to select current line (or some other event like button-3 shift-click, etc) In Vista if you try to stretch the window down the status bar replicates itself again and again. \ftime() always returns xxx.999 formatwhy=Both, mainly because the GUI has bugs opening terminal screens above a certain number. I usually have LOTS of screens open and have to resort to the console Would love to use the GUI all the time. wanted=a drop-down menu to select external script files to be run in a current TELNET or SSH session For cash register setups, lockdown isn't good enough. We need a way to completely and totally prevent scrollback. Even if the scrollbar and scrollback keys are disabled, it can still be forced with the mouse, by pushing it against the top of the screen. SET MOUSE ACTIVATE OFF does not work. SET MOUSE BUTTON 1 NONE DRAG \Kignore does not work: . The mouse event disappears from the SHOW MOUSE display . But the mouse hitting the top margin still causes scrollback. . "set mouse button 1 none drag \Kendscn" is a good workaround. Another lockdown issue in cash register applications, where the command window should never be seen or accessible: if secure login fails, we come to the command screen: When K95 is started with --no-escape, and user makes an SSH connection, and then in password dialog enters the wrong password 3x or chooses Cancel, Kermit enters the command screen. Ditto with SET SSH STRICT-HOST-KEY-CHECK ASK. when sending files with Zmodem, at the end of the transfer the transfer rate (on the f-t display) resets to 0. Sometimes Kermit gets stuck really bad in file transfer. The first Ctrl-C is processed but then it hangs forever. This can happen, for example, if it receives an S packet but never receives anything else. Subsequent Ctrl-C's do not wake it up. We need a GUI button to return it to Command or Terminal state. Make a function that takes a kverb as an argument and, if it resolves to a string value, returns the string. Make cp1252 the default terminal character set (instead of Latin-1) make rsh a synonym for rlogin? accept "ssh user@hostname". Put hostname on titlebar of password popup handle proportional fonts better Make Alt-h popup help screens less awkward. Add a Close button. A way to supply a default to GETOK /GUI send \v(desktop) does something awful from C-Kermit on host, in vt320 session with autowrap on: echo \frepeat(xx,8192) -- takes K95 like 5 minutes to display this, and then it's super slow even afterwards. -> <- button can just say "Command Screen" and "Terminal Screen", without having to look like it's up or down. Status-line "Command:" value should show Alt-keys in preference to Ctrl-OEM.Blah.Blah.Blah which doesn't fit anyway. If i put \Kexit on Ctrl-period, the status line says it's Ctrl-O. Actually it's trying to say "Ctrl-OEM.US.Period" but it doesn't fit; the help screen shows it right. RESIZE MODE -- the default will surprise many people. It always surprises me. This should be a setup choice. "CUSTOMIZE" -> RUN [START] NOTEPAD \v(appdata)K95CUSTOM.INI (or put a macro for this in K95CUSTOM.INI) Fix DECUDK ? (Jeff says it doesn't need fixing) Symbolic names for keys in SET KEY. A graphic for the status line that shows the current connection is secure. (It would be nice if Unicode had Open and Closed Padlock symbols, but although this has been suggested or proposed but I don't think they have been adopted unless they are in the Emoji section, which is way up in the higher planes.) Warn about Caps Lock on Password dialog context sensitive tool tip for cmd/term screen (the two arrow button should not only switch between the two, but indicate which one is active). CD dialog Upload dialog Add \v(clipboard) (Windows clipboard) (\v(select) is Kermit's private one) Get rid of status line in terminal screen, use the GUI status bar. ------------------------- > Kermit 95 is currently used throughout the company I work for. One thing > I've been looking at recently is rolling out software via group policy. I > would be interested to know if the developers of Kermit would consider > packaging into a msi install file. Expensive programs such as installsheild > isn't required. You can use WiX to achieve this. A good tutorial on this can > be found at: http://www.tramontana.co.hu/wix/ > > Further information and downloads: > > http://wix.sourceforge.net/ > > Useful editor: > > http://wixedit.sourceforge.net/ > > I've used it myself to create a few simple packages for various settings and > shortcuts etc that we like to have installed on our pcs. > I use WIX and NSIS to develop the install packages for MIT Kerberos for Windows and OpenAFS for Windows. If I were ever to develop another release of Kermit 95 for Columbia University to distribute I would in fact use WIX to develop an MSI installer for it. My suggestion for you would be to install K95 on one machine and then develop your own installer for it based upon the pieces that were installed on your machine. One of the strong benefits of using MSIs are that in addition to automated installation and upgrades via Group Policy it is possible to apply organization specific transforms to them to ensure that your own custom dialer entries and scripts are installed on the machine along with the application. Jeffrey Altman Secure Endpoints Inc. ------------------------- Need \kmaximize and \krestore and \kminimize verbs Doesn't work: send /recu blah* where blah* matches blah.html and a subdirectory blah_files (as created by IE when saving a website). Under certain circumstances when you move a K95 window, the screen clears A SPACE command that works (needs large file support) Need a DIRECTORY option that lists all subdirectories of the current or given directory and tells how much disk usage in each one, recursively with an option to show or not show the lower levels, but still showing the total disk space. [C:\fdc\InstallShield\Bulks\] K-95> dir /dir /sort:date /reverse ?Wildcard matches more than one directory [C:\fdc\InstallShield\Bulks\] K-95> dir /sort:date /rev 2006-07-21 10:20:07 innovapost 2006-07-05 16:11:52 shannon 2006-06-05 16:16:18 iup 2006-06-05 12:29:51 dtx A new toolbar button that sends whatever the user programs them to send. With reasonable defaults: CR, DEL, ^C, whatever. Maybe 4 of them. Call them B1, B2, B3, B4 or whatever. Right-click shows definition. Fix Compose key for masc/fem ordinal -- allow _ first OR last. SET TERMINAL TYPE NONE should be accepted (= TTY) set port com1 (ok) set port Sorry, access to device denied: 0 Need \ftestpid() to see if a process is still alive. Ideally we can get addtl info about the process, such as the name or path of the application. TAPI dialing doesn't pick up changes in the modem configuration from the control panel until after you reboot. TAPI dialing doesn't pick up the outside-line prefix from the control panel location definition, AT ALL. Dialer generated scripts should put the K95 version number in the comment at the top. A way to let users supply their own help screens for Alt-h. If macros on keys worked, we could just use getok /gui... (but allow more text). (Macros on keys are fixed in the post-K95-2.1.3 sources). The second toolbar button should follow all terminal/command-screen transitions, so it's always depressed when in the terminal screen, sticking out when in the command screen, and perhaps grayed during file transfer. Put connection in bottom status bar too: Terminal screen - SESAME.CC.COLUMBIA.EDU, so when you have a crowded screen you can use the bottom as well as the top to identify the session. During print screen operations, put a little printer icon on the status bar like the browsers do. A toolbar button that does "run start \v(filename)" Make \Kcompose accept nn for n-tilde. SHOW PRINTER doesn't show all the SET PRINTER items. Do something about 2-minute delay on startup when phone and modem settings not set. Print message before trying to get them, and/or allow a command-line or startup option to suppress the query (e.g. when Kermit is only going to be used for networking). if set port com3 or whatever fails, the message is always just "Sorry, can't open connection", no reason is given. The \v(err*) variables don't say either, but the debug log has: ttopen CreateFile[GetLastError]=2 and \v(setlinmsg) is "Device open failed". Not very informative! If you autostart > 1 K95G and have it make an SSH connection, the two password dialogs fill exactly the same screen space. In 2.1.3, "show tcp" shows nothing. A setting to make K95 ignore incoming 8-bit controls, e.g. when its term cset is Latin1 but UTF8 comes from the host. (This is the opposite of send-8bit-controls setting, "set term controls 7/8") Login dialog for SSH or Kerberos always pops up 3 times, there's no way to cancel it (Cancel button doesn't work). Similarly, if you try to connect with SSH and get warnings about host identification changed, do you want to continue, and you say No, it still tries again. SEND dialog (auto/text/binary, kermit/zmodem/etc. we really need a simple File->Upload dialog. Choose protocol, maybe mode, maybe pathname options, etc. We already have a RECEIVE dialog. When choosing protocol in SEND dialog, include a checkbox to make the choice stick. Put DOWNLOAD and UPLOAD on menu? It's almost always impossible to remove a directory, because simply by referring to it, it becomes mapped. Example: cd c:\fdc\InstallShield delete /tree blah <-- works OK but doesn't delete the blah directory. rmdir blah <-- Permission denied. Not only that, you can't delete the directory from any other application either, until you exit from K95. Maybe add code to the RESET command to make it release the handle. Or maybe just check the DIR code to make sure it's really closing the directory. Maybe a way to let the user define Alt-C (Compose) sequences. idea: \Kpaus_A ... \Kpaus_Z where A = 1 msec, B = 2msec, C = 4msec, ... K = 1024msec = 1 sec, L = 2 sec, M = 4 sec. Then it would be possible to insert almost any pause in a key definition using only a few extra Kverbs. (Not needed once macros on keys work again.) ------------------------------ Sent to Jeff Mon Nov 17 12:41:04 2003: See 213-bugs-jeff-mail.txt for Jeff's responses. Some K95 glitches that I noticed recently, in case you want to look at them... These notes have been accumulating for a while. Some are glitches, some are ideas for small improvements. Some of them might be C-Kermit things that I could do. UNCs in SEND commands, etc, as we discussed yesterday. When starting K95G, if you type a command (in this case a macro that sets font, dimensions, and whatnot, and then tries to make a connection) while the window is still blank, before K95G has displayed its first text, it crashes. (This happened to me once, might be a fluke, no big deal.) Zmodem send with transaction-log brief loses the filename: 20031108,21:03:33,SEND,,8372,binary,OK,"3.094sec 2705cps" ftp-format transaction for Zmodem transfers: . says "kermit" rather than "zmodem". . does not put quotes around connection names that contain spaces. . adds a spurious final entry (at least when using a send-list). Here's an example, in which only one file was sent with Zmodem protocol: Sat Nov 15 15:58:49 2003 3 Courier V.Everything EXT PnP (V90-x2) 8372 - C:/fdc/zirmed/OHcare/28153.txt b _ o r fdc kermit 0 * Sat Nov 15 15:59:13 2003 10 0 2367 - C:/fdc/zirmed/OHcare/OHcare_20031115_57487_event.log a _ o r fdc kermit 0 * (the second file was not transferred). Regular verbose format seems to be OK, except nowhere does it say Zmodem. Zmodem downloads don't respect SET RECEIVE MOVE-TO, etc. Should choosing a QNX terminal type also choose qnx-console charset? SHOW TERM doesn't show correct TERM AUTODOWNLOAD value? SET TITLE doesn't brstrip() its text. IBM 3151 key assignments (done, I think?) Change "no encryption" in FEATURES display to "no Telnet encryption" because some other kind of encryption might still be supported. K95G could use a GUI dialog for assigning a value to a key. (But then do what with it, by way of saving for future use?... At least display the generated command so the user can copy and paste it...) SET HOST _nnn or $nnn should have the same effect as -j _nnn or -j $nnn: don't close the socket on exit. There's no way to specify an already-open "raw socket" on the command line: . -j host:nontelnetport <-- this works now . -j .number (already-open socket) <-- add something like this See mail from David.deWet@za.rangegate.com in ~fdc/gui/mail.txt about -l numeric-arg (with and without underscore). There's no way to give a TAPI device name to K95 on the command line? K95 session logs always record the 8th bit, even if PARITY is not NONE or TERM BYTE is 7. SET TERM EDITING-KEYPAD { KERMIT, TERMINAL } -- Actions menu too. So Page Up/Down, etc, do what the terminal does, versus what K95 does. K95 2.1.3 can't overwrite a hidden file. C-A-S-W doesn't invoke WP keyboard mode (it doesn't do anything), but the corresponding command still works. DELETE /TREE and RMDIR tend not to work because the fact that K95 can "see" the directory (e.g. we did a DIR listing on it or had previously CD'd to it) makes Windows think the directory is in use. If you EXIT from K95 you can delete them in My Computer. > Couple of K95 related issues: When I shut down my laptop with K95 still > running it's asking me to end a program called "Trd ww: C:\Program > Files\Kermit95 2.1\..." <-- I think this was from Vace? Make SET ATTRIBUTE DATE OFF work with Zmodem too (done?) Backspace key def on Keyboard Dialer page: allow a user-defined value? More choices for cursor. Underline cursor should be thicker. Maybe cursor should be bold. (Vace). Kverbs for Grow-Font and Shrink-Font, which can be assigned to Ctrl +/-, just like a Web browser. Pull screen up/down should add lines; pull left/right should add columns; corner pull should change font size? An optional popup for APCs. An optional popup dialog for host-initiated printing? Can't display non-Plane 0 Unicode characters. (This is a big deal, and nobody is complaining yet.) Wyse 370: we can do 64 colors in the GUI version but I think it still maps 64 to 16. Clicking on a kermit: URL doesn't seem to bring up a dialog box so user can choose where to save incoming files. Idea: You can't Ctrl-C out of an IP lookup, but maybe there can be a Cancel button on the toolbar? \kdtr_toggle <-- Kverb to toggle DTR -- from some user: "...what I need to do is manually, ie by pressing a key, make DTR active/inactive. Unless I've missed it Hyperterminal; doesn't let me do this. The DS89C420 has an inbuilt monitor/flash programmer which is activated by a certain combination of I/O pins. The app notes use DTR to control this state, hence the need to manually control it..." The above sent to Jeff Mon Nov 17 12:41:04 2003 ------- k95 needs a "whereis" command to find k95custom.ini, k95.ini, doc files, etc. Hmmmm, no it's not necessarily that simple -- different search strategies are used for different files. : Can't download files named con or con.*** (con.anything) : they are written to the screen. I am guessing it has something to do : with "console" This happens when i use kermit -s file or use kermit : interactively. I am downloading from SunOS 5.8 ckermit to : mskermit. : It's a feature of DOS (and Windows). The same thing happens with other DOS device names: PRN, LPT, etc. If you were using Kermit 95, you'd get a popup saying: con This file name is a reserved device name. Please choose another name. and a Save As dialog to let you specify a different name (as long as FILE AUTODOWNLOAD was set to its default value of ASK). For unattended batch transfers, however, it could be problem. I believe the only way around this is to have Kermit rename the file as part of the transfer process, because you just plain can't have disk file called "con" or con-dot-anything. The renaming can be accomplished at either the sending end or the receiving end with as-names, either on the command line: kermit -s con -a x.con or in the command language: send con x.con or: send /as-name:x.con con or with templates, which are explained here: http://www.columbia.edu/kermit/ckermit70.html#x4.1 Dialer->Quick broken "Can't connect to a template". "You don't Connect via Templates, you select a real entry and connect." If you use FTP to PUT a huge file (e.g. 0.5G), the file name, type, and size are missing from the fullscreen display. Actually it happens with Kermit downloads too and the file need not be so huge... In this case (4M), wet get the size but we don't get the bar or the percent. 2.1 Beta 1 Oct: Still get missing chars in MM prompt, etc. 2.1: Toolbar button 2 is NOT an indicator of which screen we're in. 2.1: Disabling toolbar and menu bar still don't work for me <-- check again. SPACE doesn't show anything above 4G. ------------------------------ Kermit autodownloads work OK now -- files go where the dialog says they should go. When FILE COLLISION is OVERWRITE and a file of the same name exists, you get a nice alert -- good. But it would be nice to have buttons on the dialog that say: [ OK for all the rest ] <-- go ahead without asking any more. [ Cancel ] <-- like typing 'E' or 'Z'. But I realize that would be a big deal in more ways than one... SET TERM ROLL KEYSTROKES RESTORE works fine, but status line is not fully restored upon keystroke (the part on the left -- LEDs and terminal name). On popup help screens... Is there a way to label the buttons "OK [Space]" and "Cancel [Esc]"? FTP charset translation works, even the messages SEEM to be OK, but FTP DIR (= LIST) always returns some "Chinese" at the beginning and end of the listing, which is otherwise correct. I'll have to look at this myself I guess... Make new "banner" screen shot from effects.vt. A way to disable [x] box in GUI? Cute idea: SET TERM COLOR TERM green-and-white-striped line-printer paper... Help -> Context doesn't do what Alt-H does. For example, if a Compose-key sequence is in progress, it still shows the main help screen. Add SSH "session keepalive" (Putty has it). Docs; clarify -# switch (# doesn't stand for the number, it's literal). X followed by combining macron actually displays correctly, why? But then there's an empty space after it (save this for 3.0). For forms-filling apps, data entry clerks; one or more of the following to prevent accidental entry of data into a scrolled back form: . A way to remove the scrollbar. . A way to totally disable scrollback. . A way to lock the keyboard automatically when the screen is scrolled back. . A way to jump to the current screen when a key is pressed during scrollback. . A way to give scrolled-back screens a different color. K95G 2.0.1... Whenever the cursor is in column 8, the coordinates in the status bar blink at about 4 times per second. If the cursor is in any other column, no blinking (doesn't seem to happen in 2.1). Make a configuration option for No-Command-Screen -- terminal screen only. GUI file-transfer display. Handle proportional fonts better -- center the glyphs or something. [C:\fdc\tmp2\] K-95> copy /append * xxx ?Sorry, /APPEND can be used only with single files <-- no good reason for this [C:\fdc\tmp2\] K-95> We don't have a Compose-key sequence for NBSP <-- now we do: NB. Change the default for LOGIN USER, at least for K95 -- Windows users rarely have the same user ID as they have on the host. <-- Was this done? SSH blah still seems to assume my Windows ID. Chris_Jones@averydennison.com says > For some reason "clear command scrollback" is causing an application error > about 6 out of 10 tries and windows terminates it. I'm going to reboot > the computer and see if that helps. Usually the second or third try it > works but this time I've tried it 4 times with the same result. When clicking on Actions->Capture the first time, it should put up a file box. Bug: TERM AUTODOWNLOAD is OFF. At host give a GET command; nothing happens. Escape back, give a server command. The GET command was for a file that didn't exist. Try to Ctrl-C out of server mode. K95 goes into an unstoppable loop sending "User canceled" E-packets. Ann Arbor? (partial) Jeff added Sun Console (does it have all the Stop-x keys?) Need new DEFAULT.INI. Need a way to start a program "in the background", "detached", or whatever. Can use RUN START at the prompt, but there's no way for the server to do this if you send it a REMOTE HOST command. REMOTE HOST START BLAH doesn't work -- it waits for BLAH to finish. set gui window resize-mode scale-font <-- needs to go on Dialer GUI page. Add "if iksd forward custom" to k95.ini to skip around netedit stuff; otherwise IKSD gets an error if \v(editor) is not defined. Add Russian phonetic keymap to distribution. Add support for duospace fonts, or something smarter for CJK. See ~/fonts/duospace.txt. SET TERM PRINT USER doesn't strip esc sequences (it's not supposed to); ok then maybe some new option that will do this. If you make a connection from the Dialer, then log out and make another connection with the same instance of K95G, the title bar still shows the original connection. There's no way to specify an empty or no password to SSH, FTP, ... ("null passwords are not supported in secure protocols" says Jeff) but there's also no way to do it on clear-text connections. setterm.htm does not include SET TERMINAL PRINT. Shortcuts created by the dialer shortcut button still have the old icon (?). When invoked with an ftp: or kermit: URL, pop up a file dialog at the beginning of the transfer to specify the download directory (DONE). Also need a file dialog for Actions->Capture when no log has been opened. Make Alt-R turn on the cursor (if off), restore its default colors, whatever. An option in the Dialer to turn off the elapsed-time clock (otherwise it never gets swapped out). add a kverb for mouse-copy, stripping CRs (for wrapped host lines) There are never horizontal scrollbars? Make Compose-keys into GUI dialogs, especially because the status line input box is not visible in emulations that don't have a status line. Make SET [TERM] KEY into a GUI dialog Redo popup help screens to use a normal font, scroll, etc. Need some equivalent to "set terminal idle-action telnet-nop" for SSH. If you choose a non-English keyboard (e.g. English International with dead keys), does K95 convert correctly? It doesn't seem to... ------------------------------ Russian keyboard mode does indeed work (if it was broken before). There's even a new version of EMACS that lets me use it, at least in UTF-8 (haven't tried other encodings yet). Russian keyboard mode uses the Russian layout, which turns English typists into fumblefingers, so it would be nice to have a "by sound" layout so we could touch-type in Russian. <-- Note, we have this now in a keymap file. The method described in the manual (cyrillic.htm) for remapping the Russian letter keys with SET TERM KEY RUSSIAN is: set term key russian Example: the A key sends Cyrillic F. To make it send Cyrillic A: [C:\fdc\] K-95> sho key Press key: Key code \65 A (russian) => Character: A \65 (self, no translation) [C:\fdc\] K-95> set term key russian \65 \128 [C:\fdc\] K-95> sho k Press key: Key code \65 A (russian) => Character: \128 [C:\fdc\] K-95> Note: . SHOW KEY for the unmodified key doesn't show what it sends in Russian mode. . SET TERM KEY seems to work, SHOW KEY shows the change. But pressing Shift-A in the terminal screen after the change still sends Cyrillic F. ------------------------------ For docs: separates the TCP/IP and Telnet Settings to different pages adds SOCKS and HTTP settings new k95[g].exe adds user configurable SOCKS port and SOCKS support to SSH HTTP Proxy support for SSH > Another minor but unrelated glitch: When you resize the window > vertically by dragging, then when you let go of the mouse, the > window grows vertically one more line than you wanted (so if you > dragged to the bottom of the screen, then the bottom edge of the > window goes below the taskbar). It is not one more line than you want, it is the necessary screen size to fit the number of rows that you asked for given the estimates of the font size (height x width) -------------------------------------------------------- (all below used to create gui-features.txt, 28 Apr 2002) http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c <-- for duospace CJK display. wheel mouse for scrolling? <-- It works. A cheap form of IPC: . k95 --parent: (tell K95 the handle of its parent). . WINMESSAGE . (Jeff says VB does not have a mechanism for exporting handles). People seem to want a fullscreen option for the GUI... How is this different from the [ ] box... Add SOCKS stuff to General dialer page. SecureCRT Status Line: Ready [ssh2: AES-128][X,Y][rows,cols][termtype][CapsLock][NumLock] Right-click inside terminal window -- CRT brings up an Edit menu. Edit menu -- should have Find (up / down / case ...), bookmarks? View menu: allows hide/view Toolbar, Menu bar, status bar, ... Dialer: I bring up a settings page from the Dialer, it puts the dialer itself in the background and clicking on the dialer without closing the settings page doesn't work (good). BUT... I can still bring the Dialer to the foreground from the task bar, and then I can open another copy of the same settings page. I didn't try making changes in both copies of the settings page, but there might be an opportunity for some trouble there. Bug: ? as a wildcard character doesn't match 1 character, it matches 0 or 1. Thus "dir ???.*" matches all files that have 3 or less chars before the dot instead of exactly three. <-- No, this does not seem to be true. k95: Mouse-arrow-keys: It should do left first, then up or down. Think about how to make it work better with EMACS. (Go to left margin, go up or down, then go right?) gui: When choosing font or size, give users choice of whether to save it in the registry? gui: Merge SET {COMMAND,TERM} {HEIGHT,WIDTH} Add SET CD HOME that says where CD with no arg should go. A row of buttons to CD to \v(appdata), \v(download), etc etc. Display full path of last downloaded file in status bar, or have a button that says where it went. SET KEY GUI dialog: Press key or Key combination:... Keycode: [ (fill in when they press) ] Definition: ( ) Kverb: [ scroll list with 1-line definitions? ] ( ) Character: [ code? ] ( ) String: [ ] ( ) For current emulation only ( ) For all emulations [ HELP ] [ CANCEL ] [ OK ] File->Save keymap... GUI (on XP): Memory residence... Not sure how to measure this in Windows. In XP, every instance of K95G seems to take 33MB of "Total Commit Charge" and also of "Page File Usage". Meanwhile, each new instance seems to reduce Available Memory by smaller number, anywhere from 0 to 25MB. Once you fill memory with K95Gs, you can still start new ones. XP seems to want to keep free memory at a minimum of 8MB, so in some sense instances after the first are "free". Still, K95G has more "commit charge" than any IE, Netscape, EMACS, the various Photo Editors, or anything else I can find. On the other hand, the Task Mgr's Processes page shows K95G uses 10MB, and a second copy uses 9; cknker uses 7. Kermit downloads drive the CPU to 45-65%. Uploads to 30-45%. Ripple to 100%. GUI: If we can move the status line to the GUI frame, then it can have a go-away box. Add commands for setting file permissions & access -- important for WIKSD. GUI (on Win95): consumption of system resources compared to almost any other app: with K95G loaded (and especially with multiple copies loaded) it can take forever to switch among windows -- the disk chatters furiously for 20-60 seconds, window frames are ghosts, etc. Ditto for dragging a K95G window. The only other app I've ever seen that can drag down the system so much is Adobe Photo Deluxe. Need special LICENSE command text for WIKSD. Install script: ask about fonts, colors, screen dimensions? Make the Connect box into a mini-dialer, that saves tiny *.ksc files on the desktop (or the folder of your choice) containing: . font and size . term type (allow user to override negotiation) . term colors . term dimensions . host name/number and connection details VT320 to Lab, C-Kermit on Lab to watsol, transfer a file between Lab and watsol with curses f.t. display... When it's over, K95's character set has switched to German ISO 646 (it doesn't matter which OS is on Lab). (SEEMS TO BE FIXED.) Edit->Paste doesn't do anything. I totally hung K95G by trying to select text down to the bottom line. Nothing would wake it up short of Ctrl-Alt-Del. And then after I started a new K95, the Esc key was grabbed by Windows, and toggled among windows. (SEEMS TO BE FIXED) If you "run timesync" on the bottom line, the "press any key to continue" line overwrites the status line (SEEMS TO BE FIXED). GUI: I think it prevents screen-savers from kicking in. more? (Y or space-bar for yes, N for no) <-- K95. Add G for Go, etc. <-- DONE A customer wants to have a filtering feature for the session log. The particular problem, in this case, is that the host is sending text instead of text, and he wants us to fix it in the log. Of course this is in k95 where you can't just interpose external filters, so it has to be done by Kermit itself. But obviously we want the feature to more general. e.g. a character list (or, more generally, a string list) of targets, each with a "replace by" clause. So "\13" could be replaced by "" and "\10" could be replaced by "\13\10". K95: set ask-timer, getc, doesn't seem to work any more... (trunks script) It works fine in C-Kermit. (well, they work fine in mdm script -- maybe it's just the 1-sec business...) K95... Docs: explain how to find out what the current key map is. Make a table of Kverbs -- currently we don't seem to have have one (there was one in the original manual but now we just rely on the names to be self-evident). Example: how to map \KdecPrev to PC's Page Up key? TYPE switches seem to be sticky. At least in K95, after a while TYPE stops working -- acting as if some switches (like COUNT) were given, that never were (does this still happen?) (SEEMS TO BE FIXED) Add START command for K95, like RUN but doesn't wait (because RUN START waits). Or maybe reuse SPAWN. GUI: When scrolling back with the mouse, there doesn't appear to be any way to get back to the bottom with mouse -- you have to use the End key. (SEEMS TO BE FIXED) It seems now that whenever I PUSH from K95G or RUN any program at all, it gets very slow. (SEEMS TO BE FIXED) edit doesn't wait (so netedit doesn't work). (SEEMS TO BE FIXED) K95: Why does "\v(serial) = 8N2" in cknker? (SEEMS TO BE FIXED) DOC: If SET PORT COM1 fails it is because K95 cannot be given exclusive access to the device OR because the device does not exist. If you issue the following commands LOG DEBUG SET PORT COM1 CLOSE DEBUG and send me the resulting debug.log file I can extract the error code Windows is providing. If you are running the Palm Pilot HotSync manager then COM1 may very well be in use. Direct access to DOS device names is not the native method for access in Windows. Windows provides a Telephony API (TAPI) which is used to share access to physical devices. Instead of using DOS device names you use SET TAPI LINE where the device names come from the Modems Control Panel. Serial devices which are not used with modems are installed using the "Communications cable between two computers" option. K95: Recognizing URLs that already have been wrapped... GUI: Stretch window, let go of mouse, and the result is bigger than it was stretched to. (SEEMS TO BE FIXED?) GUI: SET TERM HEIGHT / COMMAND HEIGHT undo each other (NOT ANY MORE). GUI: Sometimes clicking on the main screen (e.g. terminal screen, instead of the menu bar) when K95G is in the background does not bring it to the foreground (but clicking on the menu bar does). (CAN'T MAKE THIS HAPPEN NOW) K95: Status line: what does "Cont. Command:" mean? Maybe we should forget about making it say what Alt-x returns to and just put Command:... k95: send a\?.txt doesn't work (? wildcard) (SEEMS TO BE FIXED). K95: Learned scripts don't work <-- THIS IS TRUE (see ckcker.2do). K95: is there some way we can improve on SSH -- e.g. by adding some kind of key manager? GUI: Sometimes when I'm in a GUI app like netscape and then click on K95G's "blue screen", it does not bring K95G up front. Additional clicking doesn't help. However, it appears the clicks are interpreted as mouse-directed-cursor events: R>next [A ?Not confirmed - "[A" R>next [D ?Not confirmed - "[D" R>next Note: all of the above happened with K95G in the background (behind Netscape). (SEEMS TO BE FIXED) doc: The mapping of "telnet:" to an app is performed by an entry in the Windows Registry. HKEY_CLASSES_ROOT\telnet\shell\open\command This is not set by K95. It is a poorly documented Windows feature. Is the Compose key broken again? Can't send accented Latin-1 chars to watsun... (FIXED) URL recognizer stops at dollar sign (see amazon.com URL for K95) (FIXED). Debug mode: . UTF-8 characters are shown as random ASCII chars. . Need some kind of hex display for debugging -- some people want it. Debug mode and UTF-8 don't mix well. Better to set a single-byte charset for debugging. GUI: Another thing to display: current command source, and maybe a way to expand it to show the command stack? GUI: Start 3-4 cknkers plus Netscape, and then K95G. Everything is fine, can run this way for days. Then start MS Photo Editor or NS6. K95G goes into slow mode and stays that way, even after closing other apps. But cknkers remain snappy. GUI: Suppose you are looking at Latin-1 text but Kermit's TCS is UTF-8. It should show illegal UTF-8 sequences as boxes, rather than swallowing 8-bit chars silently and not showing anything. Example: From: Per A Blmo (the a-ring is swallowed) GUI: Does it have to put up a DOS window when you say RUN? GUI: Let's think of a way to download and launch (e.g. DOC files). This would be by including some kind of Disposition attribute. GUI: NOW can we make Ctrl-C out of TCP open work? GUI: Think about status line versus bottom thing. Can we get rid of status line? Can we make popups be GUI popups? GUI: bottom thing: securely authenticated, encrypted. GUI: Character-set dialog up front. Maybe display current GR set name somewhere. You can't just put up a selection box because of G0/G1/G2/G3/GR/GL. GUI: Cursor stays in main screen when a popup is active (SO WHAT?) If you deselect the KUI window and the blinking cursor is visible, it stays visible. HPTERM has "mouse clickable soft keys"? User configurable toolbar buttons: Any Kverb: set toolbar button GUI: Toolbar button: Status Line On/Off. GUI: Idea-- use International Code flags for icons (buttons, etc, maybe K for desktop), Eldridge p.201. K95: No connection, "send foo" -- it catches this a bit late in the process, with "Bad file descriptor" and a big hint. It should catch it earlier with "You must make a connection first" or somesuch. GUI: A GUI dialog for CD? GUI: A GUI dialog for SEND. Very simple, just a file box, an as-name box, and show the autoup/download string and give a chance to change it. Maybe also text/binary. ATDT8512640 Dialing: 15:20:00... CONNECT 50000 V42bis Speed changed to 50000 <--- Call complete: 15:20:27. [C:\K95\] K-95> sho comm Communications Parameters: Port: Compaq Presario 56K-DF, speed: 50000, mode: local, modem: tapi Parity: none, stop-bits: (default) (8N1) Duplex: full, flow: none, handshake: none Carrier-watch: auto, close-on-disconnect: off Terminal bytesize: 7, escape character: 29 (^]) Priority: regular Carrier Detect (CD): On Dataset Ready (DSR): On Clear To Send (CTS): On Ring Indicator (RI): Off Data Terminal Ready (DTR): (unknown) Request To Send (RTS): (unknown) Type SHOW DIAL to see DIAL-related items. Type SHOW MODEM to see modem-related items. Type SHOW TAPI to see TAPI-related items. [C:\K95\] K-95> c [C:\K95\] K-95> GUI: Should come up in 8-bit mode by default (FIXED). (DONE) GUI: Maybe it should ALWAYS save the font and size (and screen position?) (and screen dimensions?) <-- I don't think so; some people like to have one big primary screen and a bunch of smaller extra ones.a We really do need a wider choice of colors. I miss the dark blue background. (FIXED now but we still need a bigger palette). GUI: Get rid of the stupid icon. GUI: F-keys (all keys? Alt combinations?) Windows/Kermit toggle button. Toolbar scroll box for common sizes: 24x80 25x132, ... Dragging the corner is nice, but it's not easy to obtain a specific size that way. Ideally, dragging the corner would update the the numbers in the dimension scroll box. (ACTUALLY... It already puts up a little dimension window WHILE you're stretching it). K95 on Win 95: SOMETIMES when it's sending a file on a modem connection (external even) and CD goes off, the entire PC freezes -- cursor stops blinking, mouse doesn't work, nothing moves. Turning the modem off and on fixes everything. Clear differentiation between things that have GUI controls and things that don't. GUI: Show current directory on the screen somewhere -- this way when you autodownload something, you don't have to escape back anyway just to find out where it went. GUI: scroll bar doesn't work in command screen (FIXED) GUI: scroll bar in terminal screen makes my PC squeak (NOT ANY MORE) Selecting bottom screen line -- shouldn't try to scroll. GUI: Bottom status line: time connected, time idle, ... Localization... If we have words on toolbar buttons, rather than pics, need a way to relabel in different languages. Yuk. So we really need pics. K95... Compose key doesn't work in Command Screen? How to type special chars on US keyboard? E.g. how to tell K95 FTP client to GET a file that has special chars in its name? <-- Use regular keyboard driver. K95... FTP URLs -- when we see one highlighted in the K95 screen, is there a way to make K95 handle it itself, rather than invoking another copy of K95? Also... Where does the incoming file go? Currently it's according to the regular rules: current directory or download directory. Other FTP clients pop up a file box giving the user a chance to say where to put it. Make a shim that converts MSK command-line to K95. K95 when dialing out puts the phone number on the title bar when the connection is made but then loses it when it goes into file-transfer mode. Mouse-directed scrollback buttons on status line like Access: [|<] [<] [>] [>|] (first/home, prev, next, last/end) Change terminal debug mode to use Unicode control-pic glyphs. Some form of automatic charset switching, e.g. while reading mail. . Triggers based on "Content-Type: text/plain; charset=ISO-8859-1" etc (but triggers are case sensitive, plus they always escape back) . Like file scan Show term charset in status line Make default for URL highlighting be underline+bold. Update NETEDIT macro. Should the command screen implement some kind of ANSI terminal, so users can write scripts that make ANSI boxes, etc? ANALYZE FONT command -- tells why a certain font can / can't be used. Big new items for GUI: . APL . FTP server? . Tektronix (DONE) Alt-H when scrolled back should show the other help screens, except it should start with the scrollback one. Currently it ONLY shows the scrollback one, so you can't find out about mouse stuff, etc. In GUI, a way to show coordinates of cursor. Why isn't UCS-2 a TERM LOCAL-CHARACTER-SET? Increase max length of registration name somehow. Alt-u (hangup) should not pop back to prompt if CARRIER-WATCH is OFF. Docs: Explain how Ctrl-]x commands are invariant, whereas all the others can be mapped all over the place or even mapped away. Should Alt-R restore character sets? (Terminal gets garbage that makes it switch charsets; Alt-R doesn't switch them back.) cut and paste -- make normal Windows method the default; make them have to select the Kermit method. Otherwise they think it doesn't work. (Vace, Rob, everybody...) HP-like key labels on screen. For WRQ's scripting language and VB interface see: http://www.wrq.com/products/evaluate/download/r124docs.htm A way to *move* K95 from one PC to another -- they can't just copy it because the new PC will have different modems, etc. We need some kind of "resetup" program for this. Shouldn't SNI-LANGUAGE be German by default? In Dialer: allow multiple phone numbers to be entered (how?), then output them to dialing script as {{n1}{n2}...} (See 2.1.15). In GUI: add an option (toggle, kverb, toolbar button) to enable parse and highlight URLs. When this option is selected, then a single mouse click on a highlighted URL visits it. \Khlurl (visit highlighted url). (think this thru...) use symbols like keys rather than letters in status line for auth/encry. keyboard lock: Add a command and/or kverb to lock/unlock the keyboard. Add a toolbar button to unlock, and maybe a mouse event. cute idea: when transferring a file, have a button that shrinks K95 to an icon that shows the % or a thermometer. Clicking on the icon brings back the regular window. Toolbar buttons assigned to macros, labeled with macro name. Extensibility from the beginning: configurable toolbar, user-codable GUI dialogs. Add an option to make the terminal window smaller than the terminal dimensions (e.g. for palmtops with small screen). Toolbar button for Print Screen. Make Dialer have user-defineable "directories", like Netscape bookmarks, that can be opened & closed, etc. ------------- --> Something to bring up the manual! --> A button to toggle between "stretch changes font size" and "stretch changes screen dimensions". Ideas for K95G Text GUI 1. Restore Alt-h (popups in GUI box with [X], scrollbars, etc?) 2. Restore status line? (But some things can be omitted/changed) Or use bottom bar to display context-dependent status info. 3. How will Compose key work? 4. (Obviously...) Make scroll bars & drag corner work. 5. Remove splash screen, most items from main menu, etc. 6. Avoid GUI dialog boxes as much as possible. 7. Add Tek 4014 emulation? (Probably not -- would need a separate window because of scrollback issues, copy/paste, etc). ------------------------------ For manual: Make it clear that passing a file handle to K95 from (say) a VB app only works if the app that is starting Kermit opens the device in a way that its subprocesses can inherit. ------------------------------ Menu: File: Page setup (choose default printer) <-- If standard dialog box. Print screen Session Log / Capture file <-- Maybe, and only if standard box Exit Edit Paste Search Back (requires dialog) Search Forward (requires dialog) Bookmark (?) (requires dialog) * Should we also allow Windows-based select/copy ? * Might be more intuitive for Windows users. * In this case we could add "Print selection" to File menu Connection Make connection (keep current dialog box) <-- Maybe, maybe not. Send Break Probe / AYT / Ping Hangup / Disconnect Help Menu Command Screen Terminal Screen Toolbar K95 Manual About ------------------------------ Toolbar Terminal Type scroll box. Reset-Emulator button Flush/Discard (calls ttflui or just absorbs incoming chars till next pushed) Pause/Unpause (like Scroll Lock) 7/8-bit Toggle Backspace key toggle (BS/DEL) Arrow-key mode toggle Numeric-keypad mode toggle Session Log (Capture File) On/Off Toggle Debug Terminal-Screen Toggle Autodownload Toggle Window Toggle (Command/Terminal) Mouse On/Off Toggle (Allow Windows-based select/copy etc) ------------------------------ During FT (Where to put these? -- Replace toolbar?) Cancel File Cancel Batch Send Error Packet Emergency Exit ------------------------------ Need to put somewhere: Font selector box (scroll box like in console window?) ("A" button?) Remote Terminal character set selection (see below) ------------------------------ Bottom panel: Screen dimensions (like 24 x 80) Elapsed time this session (*) Idle time? Current directory? Connection type? Connection status / modem signals "Alt-h for help" VT-100 LEDs (*) see ckuus3.c: dologshow(). ------------------------------ Terminal character sets -- a simple scroll list isn't sufficient -- we also need the G0..G3/GL/GR assignments: G0 G1 G2 G3 ----------------------------------------- US ASCII (x) ( ) ( ) ( ) ISO 8859-1 Latin-1 (x) ( ) ( ) ISO 8859-2 Latin-2 ( ) ( ) ( ) ISO 8859-15 Latin-9 ( ) ( ) ( ) DEC Multinational ( ) ( ) ( ) etc... ----------------------------------------- DEC Special Graphics ( ) (x) ( ) DEC Technical ( ) ( ) (x) etc... ----------------------------------------- Unicode UTF-8 ( ) ( ) ( ) ( ) ----------------------------------------- British/UK ( ) ( ) ( ) ( ) Canadian French ( ) ( ) ( ) ( ) Dutch ( ) ( ) ( ) ( ) Finnish ( ) ( ) ( ) ( ) French ( ) ( ) ( ) ( ) German ( ) ( ) ( ) ( ) Italian ( ) ( ) ( ) ( ) Norwegian/Danish ( ) ( ) ( ) ( ) Portuguese ( ) ( ) ( ) ( ) Spanish ( ) ( ) ( ) ( ) Swedish ( ) ( ) ( ) ( ) Swiss ( ) ( ) ( ) ( ) etc... ----------------------------------------- Graphics Left (GL): (x) ( ) ( ) ( ) Graphics Right (GR): ( ) (x) ( ) ( ) This is probably way too much. ---------------------------------