Simmons Consulting, the Website of Toby Simmons

PuTTYTray: Redux

NOTE: There is now a new version released that is a SECURITY UPDATE. It is recommended that everyone upgrade, as soon as possible.

PuTTY Tray (or PuTTYtray) is an unofficial branch of PuTTY, the terminal program. It builds on an already excellent application adding many features that 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 which was last updated in November 2007, but the project was abandoned by the original author. Since PuTTY author Simon Tantham recently started releasing updates to PuTTY with some significant changes, I decided to adapt PuTTY Tray’s functionality to the new codebase, hence the new moniker — PuTTY Tray: Redux. This new branch was originally published under a blog post but I decided to move the most current information into this static page.

One of the original PuTTY Tray changes (portability) has been omitted because it was unnecessary and the code implementing it was problematic. A complete list of enhancements follows (with the abandoned change listed for history):

  • 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 based on an excellent transparency hack — it can even use Windows Aero (if available)!
  • Improved bold font handling 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.
  • Configurable auto-reconnect when your PC wakes up from stand-by or disconnection (like rebooting a remote server.)
  • NEW! You can now specify the startup location of the Window. This feature is located in Window/Behavior.
  • NEW! PuTTYTray now uses the operating system’s default system font (Windows 7 = Segoe UI; Windows XP = Tahoma; etc.)

Download it!

Source Code

The source code is now hosted at Gitorious.

Please feel free to let me know if you have any questions or comments.

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.



Comments (36) »

  1. jomcty says:

    Thanks for the update Toby!

  2. John says:

    Hi Toby,

    Thx a lot for the updated version. What I like is the possibility to start your puttyTray from commandline and it directly starts minimized in the tray. This behaviour was already in the original puttyTray version.

    The version of Chris West has a 64-bit exe but his puttyTray wont go to the tray automatically if started from commandline. Can be setup in the options but for me it needs to minimize on default otherwise I can use the original PuTTy :D

    Just the info of the day ;)

  3. SysAdmins Everywhere says:

    thank you!

  4. Jason says:

    What’s the chance of getting the adb-terminal functionality added from https://github.com/sztupy/adbputty/ ?

  5. Josh Davis says:

    Your version wins over Chris West’s, because you made the session window larger.
    Any expansion you can do for resizing, or handling 50+ sessions would be appreciated.
    (proper subfolders – unlike KiTTY, etc).

    Thanks for your work!

  6. Jason says:

    Whats the possibility of incorporating leputty patch into it? I use the zmodem functions all of the time.

  7. bitman says:

    please, don’t remove the “portable” feature of save sessions in files. It’s a very cool one and I need it. PuTTY Session Manager is NOT PORTABLE :(

  8. Mark says:

    Any ideas why pageant would work fine with original putty, but with puttyTray I have to enter my passcode every time I connect?

  9. jan says:

    I really loved the portable part…
    So no new Putty Tray for me :-(

  10. T-101 says:

    Is there any plans to integrate mosh-support (http://mosh.mit.edu/) for this?

    When using a lesser or mobile connection, mosh really beats ssh hands down.

    Cheers,
    T-101

  11. Anon says:

    Is it possible to have an option so it goes to tray by default (without having to ctrl-click minimise)?

  12. fuller says:

    nice waste of time with this bling-gui options
    how about integrating mosh support and for god sake fix that damn revbuf problem

    cheers

  13. jomcty says:

    Thanks Toby! Is this code release based on the latest PuTTY source?

  14. jomcty says:

    That’s good to know; there have been some good fixes the last few months.

    Revision 9768 just came out that addresses a bug in which terminal output received from the session could be
    buffered in terminal.c indefinitely and only released when further output turned up.

    Thanks for your hard work, I find PuTTY Tray indispensable.

    • Toby Simmons says:

      Well, I spoke too soon. My copy of his repository was pointed at the 0.62 branch (which has not been updated) … but not at the putty-trunk. I’m not too sure if I’m going to try to keep up with his working copy … there may be instabilities introduced.

      I’ll try to examine what has changed in trunk and will post here if there is an update.

      Cheers,

      Toby

      • jomcty says:

        Understandable, for awhile I’d back-port select fixes into my personal build of 0.62 branch but he made some major changes so I stopped and reverted to puttyTray when I wasn’t doing tunneling.

        The last few nightly Dev. builds have been stable as far as I can tell.

  15. Eddie says:

    I can’t find an option to minimize to tray when starting the application so I have tied the following as a workaround:

    When starting a saved session from a shortcut (i.e. puttyTray.exe -load “mysession”) that is set to start minimized, the application will minimize to the task bar, and not the system tray. To get it to minimize to system tray, I need to click it to restore the window, and then minimize again to get it to minimize to the system tray.

    Am I missing something here or is it not possible to start a saved session directly to the system tray? I’m on Win7 64-bit.

  16. John C says:

    Thanks for this update, it’s a nice step-up from the original putty-tray I’ve loved :).

    As an idea, it might be nice to add the option for a putty window that has tabs for each connection, draggable kind of like how notepad++ does it (if you drag a tab outside it makes a new window).

    With or without that feature I still love this, and I’m not personally dealing with enough connections yet for it to be an issue, but for some people it might be a nice benefit, rather than 50 tray icons have 3 for windows that have 15-20 tabs each.

  17. jomcty says:

    Thank you so much for the PuTTYTray update Toby!

  18. Raimu says:

    Strange — on my PC, this latest update for some reason uses the “finger” mouse cursor all the time.

  19. TP says:

    Would it be possible to get putty to render shadow on font? Would look great when background is on glass transparency :-)

  20. tap says:

    Hi,

    I really like the option to set a fixed starting position for the window. Unfortunately, this option is not available on the newest PuTTYTray (from https://puttytray.goeswhere.com/). However, some of the new top level domains are not supported by your version (and are supported on the newest). Could these both features be included in a version of PuTTYTray?

    I use those both features a lot and would really like them to be together but I don’t know how to make a custom regular expression to include all top level domains.

    BTW, thanks for the great work!

    • Toby Simmons says:

      I’m not exactly sure what you mean by supporting new top level domains? Are you talking about the automatic linking of urls within the terminal window?

      • tap says:

        Ahh sorry I should’ve been more clear on that.
        Yes, that is what I meant. When hovering over URLs, PuTTYTray Redux does not recognize URLs such as http://www.name.cat or http://asdasd.photography correctly. These are recognized as .ca and .ph.

        The newest version of PuTTYTray works for the .cat case by default and has an option “Select nearly any URL” which works for the .photography case as well.

        • Toby Simmons says:

          Ahh. Gotcha! Well, fortunately this is easily configurable by you without a new build. There is an option to change the url-matching regular expression for each connection. If you go to your connection settings, on the left side look under Window -> Hyperlinks and paste the following string in the “Regular expression” box and untick the “Use the default regular expression” you will get exactly the same functionality.

          (([a-zA-Z]+://|[wW][wW][wW]\\.|spotify:|telnet:)[^ '\")>]+)
          
  21. Wow! Thank You! I Continually Needed To Write On My Site Something Like That. sbobet online Can I Include A Portion Of Your Post To My Website?

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=""> <strike> <strong>