There are 1 previous version of this script.
// ==UserScript==
// @name Google Reader Unread Count in Gmail
// @description Shows google reader unread count in Gmail nav bar.
// @namespace http://thinlight.org/
// @include https://mail.google.com/*
// @include http://mail.google.com/*
// ==/UserScript==
var readerLink = null;
var timer = null;
var timeout = null;
var attemptCount = 0;
var interval = 480000;
var step = 60000;
var minInterval = 60000;
var maxInterval = 480000;
function checkUnreadCount() {
GM_xmlhttpRequest({
method: 'GET',
url: 'https://www.google.com/reader/api/0/unread-count?all=true&output=xml',
headers: {
'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey/0.3',
'Accept': 'text/xml',
},
onload: function(responseDetails) {
var parser = new DOMParser();
var dom = parser.parseFromString(responseDetails.responseText,
"application/xml");
var entries = dom.getElementsByTagName('string');
var unread = false;
for (var i = 0; i < entries.length; i++) {
if (entries[i].textContent.indexOf('reading-list') > -1) {
var count = entries[i].nextSibling.textContent;
readerLink.innerHTML = '<strong>Reader (' + count + ')</strong>';
unread = true;
break;
}
}
if (!unread) {
readerLink.innerHTML = 'Reader';
}
}
});
if (interval < maxInterval) {
interval += step;
}
timeout = setTimeout(checkUnreadCount, interval);
}
function initCount() {
attemptCount += 1;
if (attemptCount > 10) { // To stop the timers on "dumb" pages
clearInterval(timer);
return;
}
var gbar = document.getElementById('gbar');
if (!gbar) {
return;
} else {
var links = gbar.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
if (links[i].innerHTML.indexOf('Reader') > -1) {
readerLink = links[i];
break;
}
}
readerLink.addEventListener('click', function(e) {
interval = minInterval;
clearTimeout(timeout);
setTimeout(checkUnreadCount, interval);
}, false);
checkUnreadCount();
clearInterval(timer);
}
}
window.addEventListener('load', function(e) {
timer = setInterval(initCount, 3000);
}, false);
