ラベル Gmail の投稿を表示しています。 すべての投稿を表示
ラベル Gmail の投稿を表示しています。 すべての投稿を表示

Firefox3でGmailのフィルタ設定のキーワード欄を複数行にする

2008/04/30 | ラベル: , , | 0 コメント | このエントリーを含むはてなブックマークを表示

Firefox 3 にしたら、Gmail のフィルタ設定のキーワード欄を複数行にする Stylish のスタイル定義が効かなくなっていた。

このスタイル定義は

-moz-binding: url(http://persistent.info/files/gmail-filter.xml#filter);

のように外部サイトを参照するようになっており、Firefox 3 のセキュリティ強化によりエラーとなってしまう。考えてみれば、外部サイトに置かれたファイルに定義された書き換えルールを使っているっていうのはかなり危険である。ファイルを置き換えられても気付かないだろうし。。。

自分は新バージョンの Gmail に対応するため、XBL ファイルをローカルに置き、

-moz-binding: url(resource:///chrome/gmail-expand-filter.xml#filter);

としているが、これもエラーとなった。
新バージョンの Gmail でこのフィルタを使うにはこちらを参照。
続・Gmail のフィルタ設定のキーワード欄を複数行にする

解決方法は、XBL ファイルを Stylish のクロムフォルダに置くこと。
パスは <Firefoxプロファイルフォルダ>\extensions\{46551EC9-40F0-4e47-8E18-8E5CF550CFB8}\chrome\content

せっかくなので、手順をまとめておく。目的は Firefox 3 & 新バージョンの Gmail で使えることだけど、たぶん Firefox 2 以前、旧バージョンの Gmail でも動くと思う。

1. XBL ファイルを Stylish のクロムフォルダに置く

<Firefoxプロファイルフォルダ>\extensions\{46551EC9-40F0-4e47-8E18-8E5CF550CFB8}\chrome\content を開き、次の内容を gmail-expand-filter.xml として保存。

<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl">
  <binding id="filter" styleexplicitcontent="true">
    <implementation>
      <constructor>
        var textarea = document.createElement("textarea");
        textarea.name = this.name;
        textarea.id = this.id;
        textarea.value = this.value;
        textarea.style.width = "100%";
        textarea.style.fontFamily = "monospace";
        textarea.style.fontSize = "14px";
        textarea.rows = 15;
        this.parentNode.replaceChild(textarea, this);
      </constructor>
    </implementation>
  </binding>
</bindings>

2. スタイルを定義する

Stylish に新しいスタイルを作成し、次のコードを入力する。

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("mail.google.com") {
input[name="cf1_has"],
input.MtafId[tabindex="54"],
input.MtafId[tabindex="5"] {
  display: none;
  -moz-binding: url(chrome://stylish/content/gmail-expand-filter.xml#filter);
}
}

続・Gmail のフィルタ設定のキーワード欄を複数行にする

2008/01/29 | ラベル: , , | 0 コメント | このエントリーを含むはてなブックマークを表示

Gmail のフィルタ設定のキーワード欄を複数行にする では、新しいバージョンの Gmail で動かない。新しいバージョンでも動くようにしたときのメモ。

Firebug で見てみると、新しいバージョンの Gmail では、キーワードの入力欄の name 属性値が設定されていないことがわかる。
id は設定されているのだが、これが可変のようでうまくいかない。
かわりに tabindex 属性が使えそうだなと思ったら、既に投稿されていた。

新バージョンになっていない日本語表示でも使う場面がまだあるので、上記サイトの情報と以前の input[name="cf1_has"] を組み合わせて以下のようにしてみた。

@-moz-document domain(mail.google.com) {
input[name="cf1_has"],
input.MtafId[tabindex="54"],
input.MtafId[tabindex="5"] {
display: none;
-moz-binding: url(http://persistent.info/files/gmail-filter.xml#filter);
}
}

これで OK、と思ったら、表示は拡張されてもボタンが効かなくなった。。。
入力欄の id が書き換えによってなくなってしまうからだ。

-moz-binding のところで指定されているファイル(XBL ファイルというものらしい)を修正する必要がある。XBL ファイルに以下のように赤字部分を追加。

<?xml version="1.0"?>  
<bindings xmlns="http://www.mozilla.org/xbl">  
  <binding id="filter" styleexplicitcontent="true">
    <implementation>
      <constructor>
        var textarea = document.createElement("textarea");
        
        textarea.name = this.name;
        textarea.id = this.id;
        textarea.value = this.value;
        textarea.style.width = "100%";
        textarea.style.fontFamily = "monospace";
        textarea.style.fontSize = "14px";
        textarea.rows = 15;
        this.parentNode.replaceChild(textarea, this);
      </constructor>
    </implementation>
  </binding> 
</bindings>

XBLファイルをローカルで動かしている Apache から参照できるように配置、-moz-binding の URL を変更。新旧両方のバージョンで動くことを確認した。

XBLファイルの置き場所はローカルでもWebサーバ上でも良いみたいだが、ローカルに置いてみたところ、セキュリティエラーが発生して動作しなかった。プロファイルフォルダとかクロムフォルダの下に突っ込めばいいのかな。誰か教えてください。

本家が XBLファイルを更新してくれれば一番なんだけど。

(2008年2月3日追記)

C:\Program Files\Mozilla Firefox\chrome に XBL ファイルを置いて

-moz-binding: url(resource:///chrome/gmail-expand-filter.xml#filter);

とすると Webサーバも不要でいい感じ。

Gmail のフィルタ設定のキーワード欄を複数行にする

2008/01/13 | ラベル: , , | 0 コメント | このエントリーを含むはてなブックマークを表示

Stylish を使って Gmail のフィルタ設定のキーワード欄を複数行にする。

@-moz-document domain("mail.google.com") {  
input[name="cf1_has"] {   
  display: none;   
  -moz-binding: url(http://persistent.info/files/gmail-filter.xml#filter);   
}   
}

改行も保存されるので編集しやすい。

(追記)
新しいバージョンの Gmail に対応したものはこちら。
続・Gmail のフィルタ設定のキーワード欄を複数行にする

参考

日本語版 Gmail が IMAP に対応

| ラベル: | 0 コメント | このエントリーを含むはてなブックマークを表示

いつの間にか、言語を日本語にしていても設定画面に IMAP 機能が表示されるようになった。