Support This Project Logo


CheckGmail is an alternative Gmail Notifier for Linux and other *nix systems. It is fast, secure and uses minimal bandwidth via the use of Atom feeds.

CheckGmail is a system tray application that checks a Gmail account for new mail. When new mail is present the tray icon changes, an optional animated popup is displayed and a tooltip displays the number and details of new messages. Each message can be opened directly in a browser window, and many common Gmail operations (marking as read, archiving, deleting or reporting as spam) can be carried out on messages directly within CheckGmail, without the need to use the Gmail web interface.

Configuration of CheckGmail is GUI-based and the application is designed to be simple, elegant and unobtrusive.

Screenshot of CheckGmail

The 404 full-text error

... is now fixed in SVN. Please run

checkgmail -update

and follow the prompts to fix this issue.



Latest stable version (1.13 -- old and outdated)

Tarball package for any distro
(Just run the file checkgmail after extracting the folder)

RPM package for RedHat/Fedora

Builds provided by other users

(may not be up-to-date for recent releases)

Debian packages provided by Sandro Tosi

SVN development version

You can access the latest development version via SVN

svn co checkgmail

or just view the most recent changes or download the latest version (right-click, "Save target as...", remove the ".htm" extension and make the file executable).

Note that as of Version 1.13, you can now use the "-update" command-line option to automatically download and upgrade to the lastest SVN source ...

Older versions

Older versions are available here ...


How do I play a sound when new mail arrives?

Enter a command in the "Command to execute on new mail" section in the preferences. For example, to play a WAV sound, you could use

aplay /path/to/mysound.wav

What else can the "Command to execute on new mail" do?

Well, it can do whatever you want. I use it to turn on my laptop's dedicated mail LED light:

echo 1 > /proc/acpi/asus/mled

but anyone with the Blinkd software package installed could get their numlock or scroll-lock lights to blink with

blink --numlock --rate %m

What's that '%m' thing doing there? Well, that's a new feature of version 1.10.1, and represents the number of new messages. Which means that in the example above your numlock LED will blink with the number of new messages. It's gimmicky, I know (and there's no way I could live with it personally) ... but you've gotta admit, it's kinda cool! :)

If you're going to turn an LED on, though, you'll also want to turn it off - and that's why there's also a "Command to execute for no mail" option. In the example above, you'll want something like

blink --numlock --rate 0

And of course, you can combine options together by using semicolons, for example:

aplay /path/to/mysound.wav; blink --numlock --rate %m

The whole idea is to be as extensible here as possible, and recognise that not everyone wants a sound to play when new mail arrives, but they might want something else to happen instead ...

Why isn't the tray icon background transparent?

First off, please note that you can set the background of the tray icon to whatever colour you want (using the "Set tray colour" button in the preferences), and you can even use an eyedropper to do it - it should be easy enough to get close to the real thing ...

But why not "real" transparency? Well, the simple answer is that transparency was never a feature of Gtk's trayicon libs. Gaim does it by using a patched version of the relevant lib - but that's not something you can do with Gtk2-perl. (see this Gtk bug for details on the original issue ...) It's been fixed in Gtk, but Gtk2-perl apparently uses its own version of this lib, which hasn't (?) been fixed. The short answer is, it might work one day, but in the meantime, just use the eye-dropper in the prefs - it works pretty well!

Can I check Gmail on hosted domains?

Yes! As described in the Features section above, use the -hosted=[hosted domain] command-line switch the first time you run CheckGmail (if you've run it before, either use a new profile or manually delete the Atom feed line from the preferences file)


As of version 1.6, CheckGmail should work "out of the box" on most up-to-date distros, with the caveat that passwords will be saved in plain text format. And if you're missing something, CheckGmail will tell you when you run it!

However, if for some reason CheckGmail doesn't work, the more technical details are below ...

Please note that you will need a version of Perl compiled with threads support. Most major distros come with this; for Gentoo you (apparently) need to enable the ithreads USE flag when emerging Perl.

CheckGmail requires the following Perl modules:

For the ability to encrypt passwords:
Crypt-Simple and associated modules (Compress-Zlib, Crypt-Blowfish and FreezeThaw)

And to be able to change the tray icon images:
Gtk v2.6 or later
and Gtk2-perl bindings to Gtk 2.6 ...

(If you run CheckGmail from the commandline, it will print out a list of the required modules not present on your system ...)

Installing CheckGmail for Ubuntu
CheckGmail is now part of Ubuntu as of 6.10 (Edgy). No additional installation steps should be required ...

Under Ubuntu Dapper, all modules except the optional crypt-simple are present in the standard repositories (libcrypt-ssleay-perl libgtk2-trayicon-perl libwww-perl libxml-simple-perl and optionally libcompress-zlib-perl libcrypt-blowfish-perl libfreezethaw-perl) The crypt-simple module can be obtained as a deb package here. Everything should be taken care of automatically if you use Asher256's repository ...

If CheckGmail segfaults ...
This isn't anything to do with CheckGmail, but a bug in the Crypt-SSLeay package when used with OpenSSL 0.9.8 or later. Some distros, notably Ubuntu, have already patched the Crypt::SSLeay module to fix this bug and hopefully most will soon follow.

However, if you are building the module from CPAN or otherwise encounter this error, you can use a quick fix kindly provided by Alex Shurupov:

Issue the following "sed" command (after unpacking the Crypt::SSLeay tarball and changing directories into the root of the source tree) to fix the problem:

sed -i '/algorithms/ a\ SSL_library_init();' SSLeay.xs

CheckGmail and XGL/Compiz
Checkgmail should now work perfectly with Compiz/Beryl/et al. If it doesn't, please try the latest version from SVN, and if that doesn't work, report it as a bug! :)


The new mail popup alert ...

CheckGmail popup alert

The preferences window (version 1.10) ...

CheckGmail prefs


Live HTTP headers Firefox extension - a lot of the inner workings of Gmail couldn't have been deciphered without this ...


To be kept informed of new releases of CheckGmail, subscribe to the checkgmail-announce mailing list.

You can contact me directly here: owenjm at [the email domain checked by this program] ...

Alternatively, the CheckGmail project page provides forums for submitting bugs or feature requests. Suggestions, feedback, further ideas on password protection and security, feature requests and bug reports are welcome.

If you want to help by adding a translation of checkgmail into a new language, edit the file ~/.checkgmail/lang.xml and email the XML file to me. Thanks!