Hatena::Diary

記憶は削除の方向で このページをアンテナに追加 RSSフィード

2007-09-04

re_guzy2007-09-04

[][][][] Gmailテンプレート切り替え機能を付けてみた  Gmail にテンプレート切り替え機能を付けてみた - 記憶は削除の方向で を含むブックマーク はてなブックマーク -  Gmail にテンプレート切り替え機能を付けてみた - 記憶は削除の方向で  Gmail にテンプレート切り替え機能を付けてみた - 記憶は削除の方向で のブックマークコメント

20071103追記
Gmail 2.0 では動作しません。そのうち対応するつもり。
20080125追記
Greasemonkey 0.7.20080121.0 だと一部障害(返信時に動作しない)が出てるようです。原因がわかれば対応します。
20080129追記
0.1.20080129.0でGreasemonkey 0.7.20080121.0 に対応しました。
20080423追記
コメントにもありますが、Gmailバージョンアップに伴い、旧バージョンに戻しても以前のテンプレートが使用できなくなっています。原因不明なため、対応の目処は立っていません。
20080501追記
Greasemonkeyで連絡先を取得・編集できないため、Gmail 2.0への対応はできません。実現する方法なり、アイデアなりをお持ちの方はコメントお願いします。
20080510追記
Gmail2で動作するように修正してくださった方がいらっしゃいます。今後はこちらをどうぞ。

 大抵皆そうなんだろうけど、メールを書く場合決まった形があって、あいさつ文・本文・締め言葉・署名という順番で書いている。以前作ったスクリプト で、署名は差出人に応じて自動的に切り替わるようになったけど、あいさつ文や締め言葉は辞書に登録したりして、毎回入力してたわけです。会社で使っていることもあり、社内と社外で定型文が変わってくるので、辞書に登録した語句を忘れたりしてかなり不便だった。これはさすがに面倒なので、さらに Gmail を快適にすべく、テンプレートを切り替えられる Greasemonkey スクリプトを作ってみた。これで署名が複数あっても、定型文が複数あっても平気ですな。


 このスクリプトの作成にあたり、Gmailの使い方 管理人様にはアイデアを提供していただいたり、テストに協力していただいたりしました。この場を借りて感謝します。

 ※ 内部で jQuery 1.1.4 を使ってます(以前のエントリ 参照)。これがなかったら途中で挫折してたかも、ってくらい依存してる。jQuery ステキすぎ。

使い方をキャプチャした動画

D

※ この動画は、下の方にある例を実際に動かしてみたもの。

インストールしたら

f:id:re_guzy:20070901010549j:image

 まずはメール作成画面に移動。そうすると、作成画面上部と下部の「破棄」ボタンの右にコンボボックスが追加される。

この時点では、スクリプト初期化処理中なので、なにもできない。


f:id:re_guzy:20070901010531j:image

 しばらくすると、コンボボックスの中身が変わって、操作できるようになる。

インストール直後は、テンプレートを追加することしかできない。


テンプレートを追加するには

 テンプレートとして登録したい状態になるように、いつも通りにメールを作成していく。メールが完成したら、コンボボックスから「差出人を含む(/除く)」を選択する。

f:id:re_guzy:20070901014850j:image

 そうするとテンプレートの名前を入力するダイアログが表示されるので、好きな名前を入力する。

(先頭「#」のみ特別。意味は後述する)

テンプレートの登録が完了したら、画面上部のメッセージエリアに登録が完了したことを知らせるメッセージが表示される。以後は、入力した名前でテンプレートを呼び出すことができるようになる。

テンプレートとして登録されるのは、「差出人」、「宛先」、「CC」、「BCC」、「件名」、「本文前半・後半(分け方は後述)」。

テンプレ―トは最大9個です。

テンプレートを適用すると?

 登録したテンプレートに値が入力されている場合のみ、以下のように動作が変わってくる。

差出人
テンプレートの値で入力値を置き換える。
宛先、CCBCC
入力値にテンプレートの値を追記する。ただし、すでに入力されているアドレスは除く。
件名
入力値がない場合だけ、テンプレートの値を入力する。
本文
テンプレートの本文前半、既存の入力値、テンプレートの本文後半となる。

なお、テンプレートを1回適用すると、そのメール作成中はその時の値を記録しておく。以降は、テンプレートを切り替えてもその時に記憶しておいた値に、選択したテンプレートを適用した形になる。

Undoすると、その値もリセットされる。

テンプレート名の先頭「#」の役割は?

 差出人を含んだテンプレートのみ有効となる機能で、メール作成開始時に、下の2つのルールを満たすテンプレートを自動的に適用する。

ルールを満たすテンプレートが複数ある場合は、最初に見つかったテンプレートを適用する。

テンプレートの本文の前半と後半の分け方は?

 テンプレートに登録するとき、分けたい位置の行頭に「---(改行)」を入れる。たとえばこういう風に入力しておく。

あいさつ文とかを入力。
---
署名とかを入力。

本文が入力されている状態で、そのテンプレートを適用するとこうなる。

あいさつ文とかを入力。

「テンプレート適用前に入力していた文章」

署名とかを入力。

「---(改行)」が入力されていない場合、本文は前半として扱われる。


例1-a:bccを指定するテンプレートの追加

 まずbccにアドレスを指定して、本文にも文章を入力しておく。その状態でテンプレートを追加する。

f:id:re_guzy:20070901010608j:image

テンプレートの名前を聞かれるので、「autobcc(名前は何でもいい)」と入力する。

f:id:re_guzy:20070901010620j:image

しばらくすると、追加を知らせるメッセージが上部に表示される。

f:id:re_guzy:20070901010638j:image

例1-b:bccを指定するテンプレートを使った場合

新しくメールを作成するときに、「autobcc」を選択する。

f:id:re_guzy:20070901010649j:image

そうすると、bccに先ほど入力したアドレスが設定される。

f:id:re_guzy:20070901010703j:image

例2-a:本文が前半と後半に分かれたテンプレートの追加

 まず本文を入力して、分けたい部分に「---(改行)」をいれておく。その状態でテンプレートを追加する。

f:id:re_guzy:20070901010752j:image

テンプレートの名前を聞かれるので、「sand(名前は何でもいい)」と入力する。

f:id:re_guzy:20070901010806j:image

しばらくすると、追加を知らせるメッセージが上部に表示される。

f:id:re_guzy:20070901010819j:image

例2-b:本文が前半と後半に分かれたテンプレートを使った場合

テンプレートを適用する前に、本文が入力されている状態でテンプレートを適用すると、

f:id:re_guzy:20070901010830j:image

入力されていた値を挟むような形で、テンプレートが適用される。

f:id:re_guzy:20070901010843j:image

例3-a:デフォルトで適用されるテンプレートの追加

 前の2つの例だと、メール作成時に手動で適用するテンプレートを選択しないといけない。

それが面倒なら、テンプレートを追加するときに差出人を含むようにして、

f:id:re_guzy:20070901214531j:image

「#(半角)」で始まる名前(名前はなんでもいい。ここではdefaultとしておく)を入力する。

f:id:re_guzy:20070901214544j:image

例3-b:メールを作成する場合

そうすると、メール作成時の差出人と、「#」で始まる名前のテンプレートで指定した差出人が一致する場合、テンプレートが自動で適用される。

f:id:re_guzy:20070901214556j:image

例3-c:メールに返信する場合

返信するときも同じように、差出人が一致したら自動的にテンプレートが適用される。

たとえばこういうメールに返信すると、

f:id:re_guzy:20070901220727j:image

引用文を残したまま、「#」で始まる名前のテンプレートが適用される。

f:id:re_guzy:20070901214614j:image

アンインストールするには?

 このスクリプトFirefoxのPreferenceと、Gmailの連絡先に設定やデータを保存しているので、両方とも削除する必要がある。

スクリプトの削除

まずGreaseMonkey の「ユーザスクリプトの管理」メニューを選択する。

f:id:re_guzy:20070902144336j:image

「関連付けられた設定も削除」にチェックを入れて削除する。

Firefoxのアドレスに「about:config」と入れて、「gts」で検索して出てくる設定値を削除でもOK。

連絡先の削除

次に Gmail の連絡先で、「gts」で検索して出てくる連絡先「gtssettings0」〜「gtssettings9」を削除する。

f:id:re_guzy:20070901010942j:image

cobraboracobrabora 2007/09/05 20:48 ぜひ”Better Gmail”へバンドルしてもらう方向で…
お願いします。
https://addons.mozilla.org/ja/firefox/user/60582

re_guzyre_guzy 2007/09/05 23:22 自分にお願いされても困るんですが・・・
Better Gmailの作者さんにお願いしてくださいな。

re_guzyre_guzy 2007/09/05 23:22 スパムっぽいトラックバックを削除しました。間違えてたらごめんなさい。

fobfob 2007/09/08 20:14 返信の際に、元メールの引用部分について編集できないでしょうか。
今だと、
07/09/08 に hoge <hoge@example.com> さんは書きました:
> 元メールの本文
というようになりますが、これを適宜修正したいのですが。。

re_guzyre_guzy 2007/09/08 20:24 >fob さんへ
えーと、ごめんなさい。何をやりたいのかわかりません。
引用文を修正したいのなら、すればいいだけなんじゃないでしょうか?

fobfob 2007/09/10 15:25 あ、いや、「返信」ボタンを押したときにデフォルトで入る文章が、例えば、

----- Original Message -----
From: ”hoge” <hoge@example.com>
Date: Mon, 10 Sep 2007 15:22:00 +0900
To: ”fob” <fob@example.com>
Subject: Re: こんにちは

みたいになってるとうれしいなーと、前から思っているわけでして。
現在のようなものはちょっと違和感があって。

re_guzyre_guzy 2007/09/10 21:20 >fob さんへ
うーん、それは慣れるしかないんじゃないでしょうか?
特に不満は感じてないので、ちょっと実装するメリットが思いつきません。
すいませんが、要望には応えられません。

taketake 2007/11/01 10:13 すでに作成したテンプレートを編集する方法はありますか?

re_guzyre_guzy 2007/11/01 21:49 > take さんへ
今のところ既存テンプレートを編集することはできません。
削除→追加で代用してください。
頻繁に使用する機能ではないので、追加の予定もありません。

serimaryoserimaryo 2007/11/25 17:36 gmail2.0に対応よろしくお願いします><

re_guzyre_guzy 2007/11/28 01:05 > serimaryo さんへ
対応したいんですが、時間がないのと技術的な問題でいつになるかわかりません。
内部的に大きく変更されているため、ちょっと取りかかる気にもなれない状態です。
気長にお待ちください。

nasunasu 2007/12/17 00:17 返信のときに引用が付かないようにすることはできませんでしょうか。

re_guzyre_guzy 2007/12/17 21:40 > nasu さんへ
できないことはないような気がしますが、気が進みません。
機能的には現状に満足しているので、機能追加の予定は今のところないです。
これはあったほうが便利だと思ったなら追加するかもしれません。

arex7Rarex7R 2008/04/22 21:25 なくてはならないものとして使わせていただいておりましたが、
このたびのGmailのバージョンアップで使用できなくなってしまいました。
Gmail旧バージョンを選択して使おうとしても、
登録してあったテンプレートが選べなくなっています。
是非御対応をお願いいたします。

naokinaoki 2008/05/09 21:22 GTS愛用させてもらってます。
Gmail2.0に対応させてみましたので、ご参考ください。
コードの使用に問題がありましたら、お知らせくださいませ。

naokinaoki 2008/05/09 21:24 リンク忘れました・・。
http://www.r-stone.net/blogs/ishikawa/2008/05/gmail-20.html

re_guzyre_guzy 2008/05/10 11:51 > naoki さんへ
さっそく試してみました。いやこれはすごい・・・
コードの使用には全く問題ありません。
いつか直さないといけないけど、時間がとれなかったので助かりました。自分もそちらを使わせていただきます。ありがとうございました。