显示标签为“Greasemonkey”的博文。显示所有博文
显示标签为“Greasemonkey”的博文。显示所有博文
0
Posted on 17:44:00 by Unknown and filed under ,

  这个月截止到今天可以说是我更新最少的一个月了,当忙起来的时候,能静下心写几篇日志也成了奢侈的享受。Folders4Gmail 是很有名的脚本,今天它给我带来了非常愉悦的体验:)

  我有轻微的强迫心理,对信息的收集和组织有洁癖。今天,当我打开 Gmail 时,心里突然升起一股难以抑制的愤怒,因为这一瞬间我想到:

  • 我有滚动一页都显示不下的凌乱的标签;
  • 邮箱里面有无数只有附件且标题毫无意义的邮件(比如 hello);
  • 更不要提那些连附件名也毫无意义(比如 新建文本文档)的邮件。

  于是我花了整个下午来整理后两种邮件,将这些邮件打包后转发给自己,或者下载附件重命名后再发送给自己。真希望Gmail可以提供邮件注释的功能,或者提供修改原始邮件的功能。

  而第一个问题的解决方法就是使用标题提到的 Greasemonkey 脚本 Folders4Gmail。我也希望 Gmail 可以提供可以设定某些标签隐藏的功能。在 Lifehacker 发布的 Better Gmail 2 中含有这个脚本,我倒不想安装那么多功能。

  在安装了 Folders4Gmail 后,就可以给标签分类了,使用方法只要重命名原本的标签即可。比如将原来的"项目1","项目2","项目3",重命名为"项目/项目1","项目/项目2","项目/项目3"就会发现在标签栏多出一个可以折叠的标签目录"项目"。

  需要注意的是,修改了标签名以后,原本的 Filter 可能需要修改。另外,由于标签长度变长了,原来查看 Gmail 中所有未加标签的邮件的方法就不能用了,在 basic view 下提示"Request-URI Too Large",在 standard view 下提示:"the system encountered a problem (#6414)"。

1
Posted on 22:47:00 by Unknown and filed under ,

  在 Gmail 中搜索邮件有很多技巧,比如使用 label:tag_name 可以搜索所有被标签为 label_name 的邮件。

  但是 Gmail 没有提供一种快捷的方式来查看所有未加标签的邮件。

  一种比较笨的方法是用 -label 的方法,可以排除某个标签名,那么把所有标签名都加上就可以实现我们的目的,比如:

-label:tag_name1 -label:tag_name2 ....

  如果觉得太麻烦,可以用 Greasemonkey 脚本来实现:Gmail Unlabelled 2.0作者 Blog

  现在 Gmail Labs 里面有一项:Quick Links,可以用这个建立一个快捷方式,只要第一次耐心输入就行,当然,以后增加或者删除标签的时候,再重新建一个即可。目前,这个功能还有些问题,不支持太长的内容,相信很快会改进。

  另外,Gmail 对邮件的组织是以会话为单位的,标签是作用在会话上的。但是这里还有些小问题:Gmail 对一个会话添加一个标签,本质上是对当前会话的所有信件添加了这个标签,如果此后这个会话又出现了新的信件,在会话中标签还是存在的,但是对这个新加入的信件本身,是没有标签的。所以在用上面的方法搜索所有未加标签的邮件的时候,会找出一些加了标签的会话,这些会话都含有未加标签的信件。更改的方法很简单,只要选中这个会话,取消标签,再重新添加即可。

0
Posted on 22:36:00 by Unknown and filed under , , ,

  Firefox 3 RC1 都出来了,Google Toolbar 还没有更新,不得不怀疑下程序员的效率。

  说实话,Toolbar 也不是非用不可的东西。比如 Google Bookmarks 就可以用扩展 GMarks 代替,而且更好用。按照 Google 的帮助来看,使用网页浏览历史功能必须安装工具条,并且开启 PageRank 功能。

  事实上,Google 记录网页历史是根据对网页的 PageRank 的请求来记录的,也就是说,如果装上一个查询 PageRank 的扩展,在登录帐户以后,同样能够记录网页历史。

  下面这个 Greasemonkey 脚本就是依据这个原理来达到使用 Google 网页历史的功能。

  来源于本文最后的参考文章,脚本可以从 UserScript.org 下载,这里贴出来是为了备份:)

enablegooglewebhistory.user.js

// ==UserScript==
// @name EnableGoogleWebHistory
// @author mallowlabs
// @namespace http://mallowlabs.s206.xrea.com/
// @version 0.0.2
// @license public domain
// @description : Enable Google Web History
// @published 2007-01-05
// @modified 2006-01-05
// @include *
// ==/UserScript==

// see also
// http://www.scss.com.au/family/andrew/opera/panels/pagerank/
// http://d.hatena.ne.jp/amatanoyo/20080104/1199450996
// =========================================
(function(){

    // avoid frame
    if (window.self != window.parent) return;

    var r=function(x,y){
        return Math.floor((x/y-Math.floor(x/y))*y+.1);
    },
    ch=function(url){
        url='info:'+url;
        var c=[0x9E3779B9,0x9E3779B9,0xE6359A60],i,j,k=0,l,f=Math.floor,
        m=function(c){
            var i,j,s=[13,8,13,12,16,5,3,10,15];
            for(i=0;i<9;i+=1){
                j=c[r(i+2,3)];
                c[r(i,3)]=(c[r(i,3)]-c[r(i+1,3)]-j)^(r(i,3)==1?j<<s[i]:j>>>s[i]);
            }
        };
        for(l=url.length;l>=12;l-=12){
            for(i=0;i<16;i+=1){
                j=k+i;c[f(i/4)]+=url.charCodeAt(j)<<(r(j,4)*8);
            }
            m(c);
            k+=12;
        }
        c[2]+=url.length;
        for(i=l;i>0;i--)
            c[f((i-1)/4)]+=url.charCodeAt(k+i-1)<<(r(i-1,4)+(i>8?1:0))*8;
        m(c);
        return'6'+c[2];
    };
    var url=document.location;

    /* create image element */
    new Image().src = 'http://www.google.com/search?client=navclient-auto&ch='+ch(url)+'&features=Rank&q=info:'+escape(url);
})();

相关链接:

  1. Use Google Web History Without Installing Google Toolbar
  2. You Can Use Google Web History with Opera