D R A F T
Most recent update:
Fri Apr 26 11:19:17 2002
A brief overview of the graphical user interface (GUI)
features of Kermit 95 and their current status as we work them.
Beta testing for the GUI version has not started yet, so this page
merely describes its current state of development.
K95G.EXE is the GUI version of Kermit 95, and runs in a GUI window.
K95C.EXE is the console version.
GUI Features
In K95G, most menu items and dialogs don't work yet, but:
- The [x] box works.
- Scrollbars partly work:
- Page Up/Down keys do not adjust automatically when scrollbars are used.
- Scrolling to the bottom leaves you in scroll mode (you have to hit
the End key to get back to normal).
- You can choose any font you wish. Terminal emulation, font, and
fontsize choices are right on the toolbar. Only monospaced fonts should be
used (e.g. Courier New, Lucida Console, Andale Mono, etc), but (at least
currently) K95G lets you choose any font at all.
- Depending on your font and character-set selections, you can view text
in many languages and writing systems. The appearance depends on your
font choice and screen resolution.
- Underlining works, as well as various other special effects not possible
in Console windows (e.g. double-wide and/or -high characters).
- You can drag the K95G window corner or edges to:
- Change screen dimensions (rows / columns)(default).
- Change font size.
- Use Ctrl-Shift to change drag action.
- When you exit from K95G, its font, point size, and screen location are
saved in the Registry, and used in the next invocation of K95G.
- As in the Console version, you can select colors with:
SET TERM COLOR item foreground-color background-color
in which the list of colors is limited to 16. But now in the GUI version,
you can also define the RGB values of each color with:
SET GUI RGBCOLOR colorname redvalue bluevalue greenvalue
allowing selection of 2^24 colors. Of course there will also be a GUI dialog
for this.
The mouse works as it always has in K95:
- Button 1 Drag selects and copies to the clipboard.
- Button 1 Ctrl-Drag selects and transmits.
- Button 1 Ctrl-Shift-Drag selects and sends to the printer.
- Button 1 Ctrl-Click on a URL makes your browser visit the URL.
- Button 1 Double-Click sends arrow-key escape sequences to move the cursor.
- Button 2 (or 3) Double-Click pastes from the clipboard.
- (etc)
The Windows Edit menu is presently inoperative.
New GUI-Related Command-Line Options
The following command-line options are intended primarily for starting K95G
with a particular size, location, and appearance already established when
its window first appears:
- --xpos:x
--ypos:y
- Starts K95G at the given screen coordinates, which are the distance in
pixels from the upper left screen corner to the upper left corner of the
K95 window.
- --fontname:name
--fontsize:n
- Font name and point size. Equivalant to
SET GUI FONT name size (or SET TERM FONT name size),
but takes effect before the Window appears.
- --height:n
--width:n
- Initial screen dimensions: height = rows; width = columns.
Equivalent to SET TERM HEIGHT and SET TERM WIDTH, but takes effect before the
Window appears.
- --termtype:name
- Terminal emulation to use. Equivalent to SET TERM TYPE,
but takes effect before the Window appears.
- --rcharset:name
- Remote terminal character set. Equivalent to SET TERM CHARACTER-SET,
but takes effect before the Window appears.
Command-line options can be used in .BAT files or in shortcuts
to K95G.EXE. And of course, when starting K95G by hand in a Command window.
New GUI Controls in the Dialer
The K95 Dialer has a new GUI Settings page in which you can set the colors,
font, font size, and startup position for each connection. Also you can
choose whether to use the GUI version or the Console version on a
per-connection basis.
Still To Do
The main tasks before the GUI Beta begins include:
- A GUI connection dialog for all supported connection types.
- A toolbar (exact contents to be determined)
- A status bar (ditto)
Anything beyond this will have to wait for a subsequent release.
Using Unicode
K95G supports Unicode, the universal character set, in all Windows versions,
even Windows 95 and 98. It uses Unicode internally to represent characters,
and translates between Unicode and the character set used on the host, which
you specify with:
SET TERMINAL CHARACTER-SET name
The host-based version of Unicode is called UTF8 (Unicode 8-bit
Transformation Format, which includes ASCII as a subset), so:
SET TERMINAL CHARACTER-SET UTF8
lets you view text in many languages and writing systems in your terminal
session (SCREEN SHOT).
When using UTF8 (or any other terminal character-set), you can enter
"special" characters on your keyboard in any of several ways:
- Your keyboard and/or its Windows driver. For example, if you have a
German keyboard with an A-umlaut key, just press that key to send A-umlaut.
- The K95 Compose Key (normally Alt-C), in which letters and punctuation
marks are combined to make an accented Roman letter (e.g. A and doublequote
make A-umlaut).
- The new Unicode Compose Key (normally Alt-N), which lets you send any
Unicode character at all by entering its 4-digit hex code. This works as
long as your current TERMINAL CHARACTER-SET contains the character whose
code you entered, which is always true when your TERMINAL CHARACTER-SET is
UTF8, but not necessarily for other sets.
When using UTF8 as your terminal character-set, you should be aware that
most host applications don't know about it, and might not work well with it.
First of all, there is no ISO 2022 character-set switching because
(a) UTF8 is incompatible with ISO 2022 (except insofar as ISO 2022
can be used to switch into and out of UTF8), and (b) UTF8 doesn't
need to switch character sets, since by definition, it already contains all
the characters that are in any set you would switch to. However, this also
means that host-based software that uses ISO 2022 to put up forms, math, and
so on, doesn't work when your terminal character-set is UTF8. In other
words, for anything beyond ordinary plain-text display, UTF8-aware host
applications are required.
To illustrate, you can use UTF8 safely to TYPE (cat) files, read email, and so
on, but you can't use ANSI X3.64 / ISO 2022 forms-based software with UTF8 as
your terminal-character-set. It's also problematic in text editors like EMACS
(at least prior to UTF8-aware versions) or VI, because they don't know (for
example) that three bytes is one character -- they think it's three characters
-- so screen positioning and formatting don't work as you might expect, nor do
character deletion or other character operations. Entering UTF8 characters
(anything beyond ASCII) into applications might or might not work, depending
on the application.
Of course host-based forms-filling applications can be written using
UTF-8 rather than ISO 2022, but you probably won't find any, except maybe
in new or experimental versions of Linux, or maybe in Plan 9.
K95 GUI Status / The Kermit Project /
Columbia University /
kermit@columbia.edu /
2 April 2002