dtelnet: A Free Telnet Client for Windows 16/32

SourceForge.net Logo Dtelnet is now hosted on SourceForge. Visit our project page there. (A notice: sourceforge has many advanced tools (forums, patches, bugs...) but to contact developers the quickest way is sending a mail to the delnet-devel list)

Contents
Introduction
News
Current Status
Mailing List
Interesting Features
Contributors
Screenshot
Missing Features
Reporting Bugs (please)
Command Line Help

Introduction

If you like the simplicity of the telnet client that comes with Windows, but are not that happy with the functionality, dtelnet might be what you are looking for. Unlike most other telnet clients for Windows, dtelnet is not massively over-featured and confusing to use.

News
2012-08-28   Version 1.2.7:
  • Support for key-mapping – no GUI though, you have to edit yout dtelnet.ini or *.ts file manually. Read the attached keymap.txt for details. A little example:
    ; map Alt+M to "mc\r", Alt+Shift+M to "mcedit ":
    Alt,Shift-,0x4d = "mc\r"
    Alt,Shift+,0x4d = "mcedit "
    
  • Help file dropped — it's has been unmaintaned since the past millenium.
2012-06-25   Version 1.2.6:
  • Now Shift-key undoes 'mouse reporting', so in mc[edit] you can select text parts with Shift+mouse.
  • Command-line attribute /A has changed: now 'color' means dark-color, 'Color' means light-color (compare '/A black-white' and '/A black-White').
  • When starting, we try to keep the window within the screen;)
2011-09-26   Version 1.2.5:
* Better support for rxvt (file dtelnet.set has been changed too), try in Midnight Commander: Ctrl+O, Shift+Arrows, Ctrl+Home
* Keypad application mode (for special use only)
* Local execute mode (for very special uses only)
2006-05-05   Version 1.2.4:
* Bugfixes
* Terminal/Font/Size became Combobox to allow unlisted values.
* Display Keyboard Codepage in Font dialog in Win16
* Support for ESC[8t, ESC[14t, ESC[18t sequences, to let resize(1) work
2005-07-18   Version 1.2.3: Bugfixes
2005-03-11   Version 1.2.2: Fix: _not_ setting DISPLAY environment variable if port 6000 is not open on local host.
Partial support of AnswerBack message:
* from command line: /AnswerBack="Hello\r\n"
* from .TS file: AnswerBack=Hello\r\n
2004-11-19   Version 1.2.1: Using two font: one for normal characters (variable charset) and the other for graphical characters (OEM charset)
More information in Terminal/Font menu
Small fixes eg no terminal type was set if called from command line
2003-02-14   Version 1.2.0: Bugfix about terminal types. /E option dropped.
To debug dtelnet, here are shkeys.c and shchars.c, they can be compiled in UNIX.
2002-02-08   Version 1.1.9: Many changes and fixes, such as support for favorites, SOCKS and HTTP-proxy, printing, shortcut files (.ts files to store telnet-locations) , extra character sets (see dtelnet.in0 file).
2001-04-13   Version 1.1.8: Editable terminal definitions (file dtelnet.set), Mouse wheel support, You can drag and drop text files, Bugfixes (Supporting sequences ESC[39m and ESC[49m for screen, Enter now sends 0D0A, "Local echo" is now on by default)
2001-01-19   Version 1.1.7: New terminal types (vt320,vt420,xterm,rxvt). Mouse support for xterm (from Mark Melvin).
2000-11-30   Version 1.1.6: bugfixes, a little support for different character sets
2000-09-02   A second mailing list created for announcements.LZS.
2000-07-30   SourceForge got a bit two way traffic from several people, concerning fixes and alikes,
possibly the right time for doing a test build now and updating the web.
This and the activation of the Sourceforge ftp account discredits to Alexander Stohr.
2000-07-15   Moving to SourceForge started.
From now Lorinczy Zsigmond is responsible for everything...
well... for every bad thing.
2000-01-29   Fixed bug which froze dtelnet on output after window shrunk moving the cursor off the top.
dtelnet now has a new icon (thanks Allen Petrarca). Version 1.1.3 released.
2000-01-11   I just remembered to update the web page.
1999-03-03   There is now a mailing list for dtelnet. Point your browser here to subscribe.
yyyy-mm-dd   Asoke K. Talukder is now the "official" dtelnet help maintainer.
Please send all help updates directly to him.
1999-02-26   dtelnet now has a help file. Version 1.0.6 released.
Current Status

dtelnet has been released under the GPL. A copy of the GPL is contained within the source zip file under the name COPYING.TXT. Please read the license if you download the source.

The program should build with different compilers, eg MSVC, Borlandc, Cygwin

Current dtelnet release version is 1.2.7, it is dated 2012-08-28

Here is the ChangeLog.TXT if you want to know what has changed lately.

You can download these files from sourceforge's download page: root latest (1.2.7).

The first public release of the source was version 0.9.1.

Mailing List

There is a mailing list for dtelnet developers (dtelnet-devel@lists.sourceforge.net). Discussion of bugs and enhancements are conducted on the list. Send any bug-report to this list. Point your browser here to subscribe to the list.

There is a separate list for announcements of new versions (dtelnet-announce@lists.sourceforge.net). Subscribe here. Please do not send any feedback to this list.

The old dtelnet mailing list is located here .

Interesting Features

If you spend most of your time on Unix, you probably do not feel at home unless the session "feels" right. To that end, dtelnet has a number of key bindings that you should like;

Key Action
Middle-Mouse Paste the selection, just like X.
F10 Sends F10 instead of invoking menu - this is good for mc.
Alt-Key Sends Escape + Key instead of invoking menu - this is good for emacs and bash.
Ctrl-Space Sends nul - this is good for emacs.
Shift-PageUp Scrolls back half a page in the history buffer - just like xterm and the Linux console.
Shift-PageDown Scrolls forwards half a page in the history buffer - just like xterm and the Linux console.
Shift-Insert Pastes the current selection - this is for people who do not have a middle mouse button. You do not need to issue a key sequence to copy a selection to the Windows clipboard, just as in X, the action of making a selection does this for you.

Another feature copied from xterm is knowledge of the location of end of line. This means that when you select past the end of line and paste the selection, you get an end of line in the selection. In addition, you do not get spurious ends of line when selecting wrapped lines.

Contributors

The following people have contributed to dtelnet:

Dave Cole Dave is the primary developer of dtelnet (hence the name).
Roland Gerlach In the early days, Roland was tireless in his testing of dtelnet. If not for his efforts, the program would still be laying idle on Dave's disk.
Pat Narkinsky Pat submitted code for the initial version of the Telnet TRANSMIT-BINARY Option. He also spent too much time helping Dave remember that he had not implemented G0/G1 character set functionality.
Scott Chen Scott pointed out a bug in the initialisation of the combobox in the connect dialog. He also pointed out the BINARY mode incompatibility with Suns.
Hans Verbeek Hans reported a bug in the handling of the remote end closing the socket which resulted in an attempt to read from a closed socket.
Per Steinar Iversen Per reported that international keyboards were not handled properly, and told Dave how to diagnose it on his machine.
Massimo Morara Massimo is responsible for the 1.0.1 release which fixed a number of bugs.
Asoke K. Talukder Asoke developed the help files and pointed out a number of problems compiling under Visual Studio 6.0.
Julie Brandon Julie reported (more than) a few bugs. She also introduced Dave to the vttest program which exposed all bugs fixed for the 1.0.5/1.0.6 releases.
Frederic Dubru Frederic Dubru developed the 'Send Backspace as Delete' enhancement which first appeared in the 1.0.7 release.
Allen Petrarca Allen Petrarca created the new dtelnet icon.
Screenshot

Here is a screen dump dtelnet (Win3.1 version) being used to run GNU mc on a Linux box.

dtelnet screen dump
Missing Features

There are a number of things that would be nice to add to dtelnet;

Reporting Bugs

Please send your bug reports, modifications and enhancements to delnet-devel list.

Help-file seems to be unmaintained... somewhere in the future will be removed

When making modifications, please resist the urge to reformat the code. All of the source is maintained under CVS, so gratuitous formatting changes harm the ability to diagnose differences between releases. If you have access to the GNU diff utility, please send changes in the form of a diff generated via diff -u.

Command Line Help

Since there is no online help yet, the following is a description of the command line arguments, all of which are optional.

/A FG[-BG[-bold]] Specifies the default color attributes of the window. Both FG and BG can take any of Black, Red, Green, Yellow, Blue, Magenta, Cyan, or White (Since version 1.2.6, lower-case means dark color, upper-case means light color, so red and Red are different.) If not specified, the default is white-black.
/AnswerBack="msg" Specifies the 'AnswerBack' message
/B Enable telnet BINARY mode negotiation. Binary mode negotiation is disabled by default as there is an incompatibility with some servers.
/G WxH Set the initial geometry of the window; width W, height H characters. Eg. 80x25.
/G WxH+X+Y Place a WxH window with the left edge X pixels from the left of the screen and the top edge Y pixels from the top of the screen.

If you replace +X with -X, the right edge of the window will be placed X pixels from the right of the screen. Likewise, a -Y will place the window with the bottom edge Y pixels from the bottom of the screen.

/H host Specify the host to connect to. This can be a host name, or an IP address.
/I file-name Specify the location of the .INI file to use with the program. The default is to get the file from the directory the executable is in.
/P port Specify the port to connect to on the remote host. The default is telnet. The program also supports the rlogin protocol.
/R file-name Replay a previously captured log file. Used only for debugging.
/T term-typeSpecify the initial terminal type.
/U user-name Specify user-name that will be used when using rlogin protocol (port login).