Simmons Consulting, the Website of Toby Simmons

PuTTY Tray: Redux — 0.61

30
Jul

→ Updated 2012-02-19: I have created a new static page with information about the new PuTTY Tray build. All future updates will be found on that page.

→ Updated 2011-11-10: There is a new version with added features/bugfixes!

PuTTY Tray (or PuTTYtray) is an unofficial branch of PuTTY, the terminal program. It builds on an already excellent application adding many features that (at least for me) make significant improvements including the ability to minimize the application to the system tray and turn URLs into clickable links within the terminal window.

It was originally published at http://haanstra.eu/putty/ by Barry Haanstra and was based on the PuTTY 0.60 codebase. It was last updated in November 2007, but the project was abandoned by the original author. Since PuTTY author Simon Tantham recently released an updated version of PuTTY (version 0.61) with some significant changes, I decided to adapt PuTTY Tray’s functionality to the new 0.61 codebase, hence the new moniker — PuTTY Tray: Redux.

I decided not to include some of the original PuTTY Tray changes because they didn’t work well for me or I had no need for them. A complete list follows (with the abandoned changes marked through and the reason they were left out):

  • New default icon
  • Minimizing to the system tray (on CTRL + minimize, always or directly on startup)
  • Application and tray icon customizable per connection
  • Blinks tray icon when a bell signal is received
  • URL hyperlinking
  • Easy access to the ‘always on top’ setting (in the system menu)
  • Configurable window transparency
    This was originally left out but I found a better transparency hack and re-implemented it — it can use Windows Aero (if available)!
  • Better bold font when using Cleartype (e.g. Consolas) fonts
  • Portability: optionally stores session configuration in files (for example: on a USB drive) like portaPuTTY
    I had no need for this since I could simply export/import the registry settings to keep my connections portable — plus this functionality can be achieved using PortableApps: PuTTY.
  • Reconnects when your PC wakes up from stand-by
    After initially leaving this out, I have restored this functionality.
  • Attempts to reconnect when the connection fails
    Also restored.

From the original site

PuTTY Tray is a combination of the best SSH client and some of the best patches written for it. It started out as a simple trayicon patch, created after I read that this feature would never make it into the ‘standard’ PuTTY.

After a while I started merging it with other patches, to create the ultimate PuTTY. Because I could never have created PuTTY Tray as it is today without these patches, I would like to thank:

  • Everaldo, for making the beautiful Crystal SVG icon set from which I derived the PuTTY Tray icon
  • Samuli Gröhn, for making the NuTTY hyperlink patch
  • Jakub Kotrla because he invented the PuTTY File patch
    This code has been omitted.
  • warp13.co.uk, for the reconnect patch.
  • dwalin.ru, for parts of the TuTTY session icon code
  • All the people who are sending me emails with great suggestions

Please note
If this software does not work as expected, eats your PC or kills your cat, you should know that it comes without warranty of any kind. You install it at your own risk. Also, please do not bother any of the people mentioned above with questions about PuTTY Tray. If it does not work, let me know, or try the original version.


Download it!

Updated 2012-02-19: I have created a new static page with information about the new PuTTY Tray build. All future updates will be found on that page.

Comments (50) »

  1. Mathias says:

    Thanks for the program.

    The version 0.60 could be synchronized with dropbox. How I can automatic synchronize the putty-sessions in the new version?
    With UMTS-Card I can work without problems using 0.60 and screen (at server). The new version disconnects and doesn’t reconnect. So working in a train is impossible.

    • Toby Simmons says:

      Mathias,

      Thanks for your input. I updated the download to include the reconnect patch so we should be able to put you back to work on that train ;-). I also implemented a new transparency patch which seems to work better (at least for me) that the older transparency patch. For now, I think I’ll leave out the portability stuff since it can be achieved with PortableApps. Hope this works better for you.

      Cheers,

      Toby

    • Renato says:

      Thank you for your hard work. I have always loved putty tray very much and I was very excited with the potential for using your new version but I just cant go without the portability feature.. See, portable apps’ version doesnt allow one to minimize to tray… and that is the main reason I would use putty tray..

      Thank you very much for your hard work anyway, I will keep looking for my perfect alternate putty!

  2. Mathias says:

    Thank you, a very nice idea.
    The problem with the duplicate sessions I solved with installing screen at the server and put the line “screen -D -RR putty” into SSH – Remote Command. It opens a screen session “putty” at first time connecting and reconnects always to the same session.

  3. Mathias says:

    Another little problem: when I import and open old sessions without the registry key “Transparency”=dword:00000000 they are not to use. Better set the default transparency to 0 when the registry key is not set.

    • Toby Simmons says:

      When you say it is “not to use” — do you mean that the window is invisible? I did see that when the registry value for the OLD transparency was read by the new one — I am going to implement a bit of defensive code to look for that (a 0 in the old transparency meant something different than in the new method of transparency.)

      Anyway, can you explain if that is what you mean? Because if there is no registry value for transparency, it should simply default to an opaque window with transparency disabled.

  4. Mathias says:

    Maybe you’re right, I used the settings of old PuTTyTray and the window was invisible. I added the new registry value and it was solved for me.
    And – I installed the portable PuTTY from Portableapps.com and replaced the putty.exe with your exe file – all is working perfect.
    Thanks a lot for your work.

  5. Taylor says:

    Woot! So glad I found this! I love puttytray.

  6. nascent says:

    I am absolutely gutted that you have taken out the main feature I want from putty tray. I can’t begin to understand the logic of people wanting to not save session data as files instead of the registry. Why would anyone prefer the registry? Putty Portable just doesn’t have all the features that I’ve got used to and love from putty tray, and now I get punished by having portability taken away, for no reason?

  7. Charles says:

    Very nice, i suggest webmaster can set up a forum, so that we can talk and communicate.

  8. nascent says:

    I do want to add, as I do sound ungrateful, that it’s really good of you to take up this project. I know that you don’t owe anything to the users of the previous version, and I don’t mean to sound like I’m ungrateful that you’re taking over. But it just saddens me the program I love has finally been updated, and I have to look elsewhere and use a portable version that loses functionality, when this already had the code in place.

    • Toby Simmons says:

      I appreciate your comments and input. Just out of curiosity, what functionality is lost if you use PortableApps PuTTY (replacing PUTTY.EXE with puttyTray.exe) — other than, of course, having to recreate your connections?

      In the interest of full-disclosure, let me give you the reasons the session storage hack was left out:

      1. The hack creating the the second storage type (filesystem vs. registry) was extremely messy and modified lots of core functionality. The original author even left comments in the code saying “This is one of the messiest hacks I have ever created.” ;-)
      2. I didn’t use it.
      3. The functionality (storing sessions using the filesystem which can then be synced with DropBox, USB key, etc.) was actually implemented better already with PortableApps.

      I encourage you to try PortableApps. I tried it and it worked flawlessly for me (including minimizing to the tray, transparency, etc.)

      Thanks &
      Cheers,

      Toby

  9. Raimu says:

    Oh, commendable! I love the work you’ve done here – I always loved PuTTyTray. That said, I also encountered the fact that when I replaced the old PuTTyTray with this one and just loaded up my old session file, not altering the transparency option at all, the PuttY window became nearly invisible. Just nearly. Well, I turned on the “glass” option, since I’m a Win7x64 user, and it’s a stopgap measure. I’d like to have the window completely opaque at all times. :) Anyway, you made my day with this redux.

    • Raimu says:

      How bizarre. The invisibility issue corrected itself after opening the application a few times and fiddling with the translucency settings.

      • Toby Simmons says:

        I’ve actually tested an update that will fix the problem of the old transparency setting causing the window to be nearly invisible using the new transparency code. I’ll try to upload the new version this week sometime. I will also update the post to include this fix.

  10. Toby Simmons says:

    The new version has been uploaded. It fixes the issue with legacy transparency settings making the window nearly invisible, plus it fixes an issue where the window icon was not being updated properly until a session has been saved with a custom icon. The build number is 149.

    Enjoy!

  11. robotslave says:

    Where’s the source?

    I would very much like to implement the easy fix for the font rendering issue discussed in this post.

  12. Paul says:

    Very nice work, thank you! It would be even better if transparency worked in full screen mode.

  13. jomcty says:

    Thanks Toby for resurrecting PuTTYtray!

    Would it be possible to get an updated build using:
    http://svn.tartarus.org/sgt/putty-branch-0.61/?sortby=rev&sortdir=down

    in order to get the very latest fixes? I build from this branch to get the latest but it doesn’t include the PuTTYtray enhancements.

  14. Patric says:

    This may be an issue where I am waaay over thinking things, but here is what I am attempting to accomplish:

    I want a remote support user to be able to click on a batch file that would launch a PuTTY Tray session that minimizes automatically after connecting, then launch a TightVNC connection that will initiate a dial-back to a VNC viewer located on the same server that is running SSH. At this point, all the user has done is double-click on an icon that initiates a “remote support” session without having to do any typing, minimizing, maximizing, etc.

    To this end:

    I have installed a cygwin server running open ssh using a non-standard port

    I downloaded PuTTYGen and generated a public/private pair key set to use with the client

    I installed the public key onto the SSH server without a passphrase (I know, I know, but ease of use was balanced against security and I split the difference). The private key is installed on the client.

    I saved the session with PuTTY Tray so that I could invoke it from a batch file and connect to the SSH server via port forwarding

    Port 5900 is redirected so that all calls come from 127.0.0.1 but the connection is terminated to the SSH server and not the client

    Here is where I am:

    The connectivity is awesome. Having done some NAT/PAT translation on my Cisco firewall, I can open a secure SSH session and log in without a password using the key pair via SSH-2.

    I can open the TightVNC client and connect to the remote server via 127.0.0.1:5900

    I can fix end user stuff (sometimes, they are very creative)

    Here is where I am not:

    I want the batch file to launch the PuTTY Tray session minimized to the tray without user intervention, followed by a call to the VNC Viewer to initiate the dial-back session. Is there a way to do this so that the SSH session starts, connects, then pops down to the tray without any user intervention?

    I appreciated any help! I have looked at this far too long today and I now have the theme song from the Simpsons stuck in my head….

  15. Mohamed Shafi says:

    Simon,

    I am working on win7 enterprise edition. i don’t have the option “Opaque when focused” checked. But still the transparency doesn’t work in full screen mode. Maybe the functionality got lost after updating with the latest sources?

  16. Ted Chuang says:

    Thank you for keeping Putty with hyperlink alive!

    Can you write in a “double click in the middle of terminal window to open a duplicate session” feature?

    What about an alternative method of retaining the portability? Perhaps a “Backup/download config settings from registry to putty.cfg” and a “Restore/import config settings from putty.cfg to system registry” feature buttons?

    If the said putty.cfg file is plain text, we may even tweak or copy/paste profiles with a text editor without having to navigate through the GUI settings dialogs.

    Thanks again for your marvelous work.

  17. […] Tray Redux: https://www.simmonsconsulting.com/2011/07/30/puttytray-redux/ [Privacy Tactics editor’s note: this is our current preferred version of […]

    [WORDPRESS HASHCASH] The comment’s server IP (216.151.210.47) doesn’t match the comment’s URL host IP (72.233.2.58) and so is spam.

  18. jianglai says:

    Putty 0.62 is out. Can you provide a puttytray version based on that?
    Thanks!

  19. Lizard says:

    I was wondering if a drag and drop of urls could be implemented. Like mintty has done. See http://code.google.com/p/mintty/wiki/PuttyIssues

  20. Justin says:

    Hey Toby, while you’re working on the .62 version, would it be possible to add a secondary font selection for CJK characters?

    For example, I prefer Consolas or Courier New for my Latin characters, but they don’t do CJK, so I like to use BatangChe for that. In other SSH programs (for example Poderosa), you can select two fonts: one for Latin and one for CJK.

    I’m not sure how difficult that would be to add to PuTTY, but I figure it doesn’t hurt to ask. :D

    Thanks for the good work~

  21. Anonymous says:

    2011-12-10 PuTTY 0.62 released

    where is the updated version? is there this much to change?

  22. Anonymous says:

    Great job ! thanks

  23. PuttyFan says:

    Hello, Simon! I use this Putty build to connect to a shell to use my Irssi screen. This is just perfect for that except for one thing.

    When I minimize the program into the taskbar and maximize it enough times, the icon disappears and only a blank icon shows. This happens at least on Windows 7. It wouldn’t be a big deal, but I have set up a bell to tell me if somebody’s sending me a message. When the icon disappears, it won’t blink either. I’m not always using speakers or headphones, so it would be crucial to always see that icon. Restarting the program always helps but I’m sure something could be done to fix this.

    Thanks for all your efforts!

  24. Pterodon says:

    Hello Simon,

    nice to see this project, im already using your updated version!
    I would ask you… did you ever think to implement tabs support?
    I think is one of the most important missing features in the putty client and id like to see it implemented.

    Bye.

    • Toby Simmons says:

      I would love to be able to implement tabs, but it would require a much more significant rewrite to implement. It’s one of those things that I may or may not get around to but I wouldn’t hold my breath.

  25. Anonymous says:

    where is the updated version? is there this much to change?

    2011-12-10 PuTTY 0.62 released

    • Toby Simmons says:

      It’s not so much that there was a lot of change, I’ve been busy with other projects, the kind that actually pay. After all, a man’s gotta eat. ;-)

      I have built PuTTYTray against the 0.62 repository. I’ll probably post the new binary on Monday after some vetting.

      Cheers,

      Toby

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>