Hide Gmail All Read

Gmail recently turned on for me the various inbox workflow tabs. I like listing my unread messages first, so the addition is most welcome. But the view by default includes this gargantuan cutesy notification when there are no unread messages in my inbox. Since unread messages are marked in a bold typeface, the extra notification, with its nine miles of whitespace above and below, isn’t necessary. So here’s a quick script to hide it, cribbed mostly from the Legible SVN Diffs in Gmail userscript I mostly cribbed from somebody else. This userscript takes care of the problem by hiding elements with classname “qd.”

// ==UserScript==
// @name           Hide Gmail All-Read Notice
// @namespace      http://daryl.learnhouston.com/
// @description    Hide the pesky "Woohoo" message in the "Unread first" gmail view.
// @include       http://mail.google.com/*
// @include       https://mail.google.com/*
// @include       http://*.mail.google.com/*
// @include       https://*.mail.google.com/*// ==/UserScript==
// ==/UserScript==
(function() {
var css = ".qd { display: none; }";
if (typeof GM_addStyle != "undefined") {
} else if (typeof PRO_addStyle != "undefined") {
} else if (typeof addStyle != "undefined") {
} else {
        var heads = document.getElementsByTagName("head");
        if (heads.length > 0) {
                var node = document.createElement("style");
                node.type = "text/css";


Shockingly, the company I now work for doesn’t much use email for person-to-person communication. I get many svn commit messages and various other automated notifications per day, but it’s rare to exchange email with a human being. We use irc and a special blog theme that makes it very easy to carry on threads in full view of everybody in the company. It’s great that we’re so open, but with something like 80 of these little blogs, some of which are pretty high-traffic, it can get a little overwhelming. Further, I have jabber notifications set up for many of the blogs, so that any time there’s a new post or a new comment, my instant messenger client bounces and beeps at me. When the blogs are really hopping, this absolutely kills my productivity because I’m a magpie who can’t leave the little alerts be for more than a couple of minutes.

Enter Concentrate, a neat little application that helps you do what its name suggests it might. In a nutshell, you define a thing you’d like to concentrate on (in my case “Development” and “Writing” so far) and then define a series of actions that can be performed or suppressed. You might tell it to deny you access to Facebook, for example, or you might tell it to open some app or another. Then you set a time limit, and while the timer’s ticking, you’re barred from doing the things that steal your attention.

I don’t post a lot on Twitter, and I’ve pared my contacts down pretty well, but my Twitter client does pop up alerts all the time. Paired with my IM alerts, these are very distracting. So now, when I want to spend an hour doing head-down development, I tell Concentrate that I want to concentrate on development. It shuts down my Twitter client and reminds me to disconnect from the IM network that delivers the many blog notifications I find so distracting. Then, once the allotted time has gone by, it fires my Twitter client back up and reminds me to reconnect to the IM network (I could have it just shut down the IM client, but then I lose recent history, which bugs me).

I do wish there were better ways of integrating with particular apps. For example, I might have it set a Skype status or change my irc nick to dissuade people from contacting me while I’m busy. But I suspect I can do that with AppleScript if it becomes a big enough deal to me (since Concentrate can run AppleScripts).

I’ve really struggled over the last few days with getting done some tasks that have required focused attention. This little application made my day today just terribly productive. If you’re a magpie like me, I recommend it.