Release 6 and 7 (version 18.104.22.168) are now in the Store, release notes below. This release is for Windows 8.0, and has mostly been improvements and bug fixes to the core functionality.
I have already been working on a release for Windows 8.1, which greatly improves the usability of the terminal in snapped modes. Unfortunately, by releasing a version for 8.1, users still on 8.0 would no longer be able to get updates and there were just too many outstanding issues to move to 8.1 yet. The goal of this release has been to build a solid product for 8.0, and allow us to move to an 8.1 release in the next few weeks.
You can leave comments to this post, use the feedback form on the support page, or email me your thoughts.
Added support for all Windows International keyboards (UTF8 encoding)
Added 2000 additional Unicode font characters for Eastern Languages (including Japanese)
Added scroll position indicator (scroll bar) when navigating into the back buffer
Improvements to snap modes – Window 8.0 small snap mode (320px) now get super-sampled
Various bug fixes
Added mouse wheel support for buffer scrolling
Improved snapped mode support and orientation changes
Fixed Comma “,” key mapping
Dialog boxes now get focus automatically
I’ve used both of these with MonoGame 3.0 projects.
The first was made to create bitmap fonts for the XNA 4.0 SpriteFont class, works with MonoGame, is easy to use, and has many effects.
The 2nd one does not create native XNA SpriteFont compatible bitmaps, but supports unicode and generates an XML character map, giving it more flexibility. There is this C# BMFont XML Deserializer and a tutorial showing how to use it in MonoGame.
SSH-RT Release 5 is now in the Windows Store. Get it here!
Much work was done improving the terminal emulation. The goal of this release was to have the emulation running better than Putty out of the box. Here is a capture running Emacs with multiple open files and showing off the Unicode support.
Connections and Private Keys can be imported or exported. This is useful for sharing your favorite connections between devices. The format is a simple XML text file, so manual editing, importing from other apps, and changing of key files could be done this way as well.
- Copy, Paste, and Save buffer improvements
- Smooth Scrolling of the back buffer (sub-pixel instead of per-line)
- Improved portrait mode scaling
- Various bug fixes
The 2nd update to SSH-RT has just been certified for the Windows Store. It can take up to 24 hours for your updates to arrive. The changes include:
- Added UTF-8 / Unicode support for over 1500 characters for Latin, Greek, Cyrillic, Armenian, Arabic, Lao, Georgian, and Symbols character sets
- Improved screen re-sizing and rotation handling.
- The terminal now dynamically re-sizes to best fill the screen on orientation changes and split screen modes
- Improved the readability of very small text modes
- Fixed a crash bug related to rotation before a session is started
- Improved general Terminal Emulation
- Improved compatibility with ZSH (Z-Shell) and VIM
- Various bug fixes.
A couple of things planned for next release:
- Import/Export of saved connections, for sharing between devices
- Improved Copy/Paste functions
The first update to SSH-RT is now available in the Windows Store. The changes include:
- Keyboard-Interactive authentication added
- Fixes to Private Key authentication
- Better support for x-term emulation
- Fixes to issues with ZSH (Z-Shell)
- Enter Key submits most dialog boxes, bypassing the OK button
- Various other UI fixes
After 6 months of effort, a SSH client app for Win-RT has been sent to certification for the Windows App Store. I started this project because I wanted a quality Metro style SSH client for the Surface tablet. What seemed like a simple project turned out to be a quite a challenge. Building from the bottom up:
Low Level Network
You need the OS to provide network access. Win-RT has an all new networking API, so there was not much sample code to look at. The documentation is good, but still much trial-and-error was needed to work thru asynchronous operations, buffering issues, handling flaky network connections, etc.
There’s a lot more here than just encrypting every packet using a cypher and key. The cypher and MAC combination must be decided before keys are exchanged. Once the connection is established, there are protocol commands to deal with as well. I looked at several C# source libraries, but none of them were compatible with the Win-RT available APIs, as they were all tied too closely to the network. A Java library turned out to be the most help here. This was about 1/4 of the total development time.
After the SSH connection is established, you can request a shell. At this point you are managing virtual window buffers.
This is were things get a little less black and white. While there are defined standards, most remote apps will use a mixture of different control sets. By setting the $TERM string, the host may adjust what it uses, but in reality the client needs to be ready to handle anything. You also manage the scroll buffer here, and an alternate screen that the host may ask you to switch to. This was about 1/4 of the total development time.
I wanted the App itself to operate like the IE on the tablet, with tabs and ‘bookmarks’, and quick-connect options. XAML made this the easy part. Rendering the terminal screen itself was SLOW using the standard XAML controls. Thousands of characters per second need to be rendered, possibly each in a different color and background, so Direct X was used. By not using a standard control, a lot of work was added by doing the ‘simple’ things like scrolling, scaling, touch and mouse controls. Also multiple resolutions and slide positions have to be handled.
Testing and Bug Fixes
Much testing was done on a combination of systems, terminal modes, and applications. Supporting all common Linux task was the main priority. This website was setup and configured using only SSH-RT as part of the testing.