Enhance Google Cal
Last update on Nov 11, 2007
[Update: 11 Nov] Cleans up Google Calendar. To be used with Gmail Addons script
Makes Google Calendar more suited for single column use. (For instance, in a sidebar or with the Gmail Addons script)
Check out the source for certain options. You can customize whether the print button appears and whether the navigation bar is rearranged.
This script works with the updated Google interface.
You could comment on this script if you were logged in.
6 comments
You could comment on this script if you were logged in.

login to vote
@mattias: hi. thanks for reporting the problem. unfortunately i cannot reproduce this problem here. im also fairly sure that this script doesnt try to modify the displaying of the dates in any way.
if you are still having the same problem could you please post a list of any other scripts/extensions that you have installed? thank you.
login to vote
I can't make it work with 3 week or monthly view. I only see added scheduled tasks in the week or day mode. In 3week/custom/monthly mode only the tasks with no start time are seen.
known bug?
mattias
login to vote
Mattkolb has made a very nice addition to this script. it actually works very well. unfortunately due to some sort of formatting problem, it wont work if you directly copy and paste it. his addition is ideal for those who frequently use the 'Quick Add' option. the script with his addition is posted below. just copy this entire script over the original source.
// ==UserScript== // @name Enhance Google Cal // @namespace http://exstodot.blogspot.com // @description Cleans up Google Calendar. To be used with Enhance Google script // @include http://www.google.com/calendar/* // @include https://www.google.com/calendar/* // ==/UserScript== //-------------------------------------- USER OPTIONS ------------------------------------------// // 1 means YES, 0 means NO const HIDE_PRINT = 1; const REARRANGE_NAV_BAR = 1; const QUICK_ADD_AT_TOP = 1; //-------------------------------------- DONT CHANGE ANYTHING BELOW THIS LINE ------------------------------------------// var divs = document.evaluate('/html/body/div', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = 0; i < divs.snapshotLength; i++) { divs.snapshotItem(i).style.display = 'none'; } if (REARRANGE_NAV_BAR) { var cal = document.getElementById('mothertable').firstChild.firstChild; var nav = cal.firstChild.cloneNode(true); if (QUICK_ADD_AT_TOP) { var quickadd = document.getElementById('open-quick-add').parentNode; var t1 = document.getElementById('t1'); var t1tr = t1.firstChild.firstChild; t1tr.appendChild(quickadd); } cal.removeChild(cal.firstChild); cal = cal.parentNode; var tr = document.createElement('tr'); tr.appendChild(nav); cal.appendChild(tr); } if (HIDE_PRINT) { document.getElementById('printlink').parentNode.removeChild(document.getElementById('printlink')); }login to vote
This version adds a link to quick add to the top of the page so that it is more easily accessible.
// ==UserScript==
// @name Enhance Google Cal
// @namespace http://exstodot.blogspot.com
// @description Cleans up Google Calendar. To be used with Enhance Google script
// @include http://www.google.com/calendar/*
// @include https://www.google.com/calendar/*
// ==/UserScript==
//-------------------------------------- USER OPTIONS ------------------------------------------//
// 1 means YES, 0 means NO
const HIDE_PRINT=1;
const REARRANGE_NAV_BAR=1;
const QUICK_ADD_AT_TOP=1;
//-------------------------------------- DONT CHANGE ANYTHING BELOW THIS LINE ------------------------------------------//
var divs=document.evaluate('/html/body/div', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for(var i=0;i<divs>
{
divs.snapshotItem(i).style.display='none';
}
if(REARRANGE_NAV_BAR)
{
var cal=document.getElementById('mothertable').firstChild.firstChild;
var nav=cal.firstChild.cloneNode(true);
if (QUICK_ADD_AT_TOP) {
var quickadd = document.getElementById('open-quick-add').parentNode;
var t1 = document.getElementById('t1');
var t1tr = t1.firstChild.firstChild;
t1tr.appendChild(quickadd);
}
cal.removeChild(cal.firstChild);
cal=cal.parentNode;
var tr=document.createElement('tr');
tr.appendChild(nav);
cal.appendChild(tr);
}
if(HIDE_PRINT) etElementById('printlink'));
{
document.getElementById('printlink').parentNode.removeChild(document.g
}
login to vote
Updated to work with https://...
login to vote
Thanks for writing this. It seems to me that the script should include the https:// link - https://www.google.com/calendar/render - by default.
I use the "better *" collection from LifeHack and it makes it easy to switch everything to https://
(Yeah, if somebody breaks into Google, I'm screwed but at least it keeps wireless connections secure.)