Gmail has added a Labs feature for nested labels. Now, you no longer need a Greasemonkey script to get the effect, it's built right in. Google announced it earlier today on the Gmail Blog. Getting the effect is easy, just name your labels like a folder structure (projects, project/gizmo, projects/widget, etc...) and they'll appear as nested in the label sidebar, but not the expanded additional labels box.
They also added a cool "Message Sneak Peek" feature which lets you preview and take action on messages without leaving the inbox.
Both look to be really useful, and if you haven't spent some time looking at all the features in Gmail Labs, now would be a really good time to start.
Productivity Hacks for Google
Name: Slim iGoogle
URL: http://www.google.com/ig
This is a Greasemonkey script that removes the search box from iGoogle and slims up the header since it doesn't really have a point as it takes up valuable screen real estate and I use Firefox or Chromes search box.
// ==UserScript==
// @name Slim iGoogle
// @namespace http://greasemonkey.dev.justjohn.us/
// @description Slims Google search/account bar
// @include http://www.google.com/ig*
// ==/UserScript==
etc...
Install from UserScripts.org
I also have a couple of stylish scripts that clean up the iPhone optimized versions of iGoogle and Google Reader. The idea here is that you bookmark the two pages and then have them load in the firefox sidebar.
Name: Remove Search Box iGoogle for Sidebar
URL: http://www.google.com/ig/i
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url("http://www.google.com/ig/i") {
#ipsf, #ipfooter, #iptabs {
display:none;
}
}
Install from Userstyles.org
Name: Optimize Google Reader iPhone Version for Sidebar
URL: http://www.google.com/reader/i
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url-prefix(http://www.google.com/reader/i) {
.logo {display:none !important;}
* {font-size:0.97em !important; }
span.item-snippet {display:none !important;}
span.item-source-title{font-size:0.9em !important}
.m-button,
#mark-these-read,
#show-new-items,
#show-all-items,
#mark-all-read,
#show-all-subs,
#show-new-subs {cursor: pointer !important;}
.item-title,
.item-source-title,
.entry-author,
.entry-date {cursor:default !important;}
}