Piero V.

Adwaita+Tango for PuTTY

Recently I have started using PuTTY more and more. It is a very nice program that has lots of features but it has also a big problem: with the default settings, fonts and colors are a bit ugly and in some case the text is even difficult to read.

Luckily PuTTY has lots of customization possibilities. My first idea was to use Solarized (Light), because I use it also on my phone with JuiceSSH and on Gedit. However, almost immediately I realized this problem:

ls using the Solarized Light theme: the image shows that it is difficult to tells directories from files

As you can see, directories, files and links have almost the same color and are very difficult to distinguish. Notice that I have enabled the bold as font, which by default is disabled, otherwise directories and links would have normal weight, and it would be even more difficult to what is what.

Therefore I thought that the default GNOME Terminal theme in the dark variant (Adwaita dark + Tango colors) is very nice, too, and allows to clearly tell all colors. Moreover, I have used it for years and I still do, therefore having this theme on PuTTY would be very comfortable to me.

I though I would finding it on Google would have been a trivial search, but that was not the case, and eventually I decided to proceed and create it manually.

You can download it as registry file, unluckily PuTTY does not have a portable file configuration format.

On the first hand, this file sets the colors according to the Tango palette and to Adwaita (I took these values directly from GNOME Terminal and Adwaita theme source).

However it sets also these things, that you can disable if you prefer:

  • sets the terminal type to putty-256color: ncurses creates a specific profile for PuTTY (for example in Debian it is on /usr/share/terminfo/p/putty-256color) that tells the terminal the features that PuTTY has, but by default PuTTY advertises itself as xterm and uses a generic profile;
  • makes the cursor blinking (like the default behaviour of Linux terminals);
  • disables the acoustic beep (you can make it a visual flash like on macOS if you prefer);
  • increases the line you can scroll to 20000 instead of 2000;
  • sets the fonts to Inconsolata with ClearType subpixel rendering;
  • enables using bold fonts, instead of just chaning color (like the X11 terminals);
  • finally it sets the font to 14pt, because I have a bad sight 😊 .

Inconsolata is a libre font (SIL Open Font License) and you can freely download it. If you do not like it, or you cannot install fonts (it requires administrator permissions), another good font you can use is Consolas, which is distributed with Windows, however, in my opinion, Inconsolata is just nicer.

Here are some screenshots, to show how the theme looks like:

color-test.sh on PuTTY ls with different kind of entries on PuTTY

color-test.sh on GNOME Terminal: you can see that is equal The ls test on GNOME Terminal is equal, too color-test.sh with Solarized Light on PuTTY

References