なげやりろぐ

フテイキコウシン

今後がちと不安

Sleipnir Startページが新しくなったことで素で使う分にはとっても良くなった反面、いままで利用していたSeaHorseスクリプトがほぼ壊滅状態になっちゃったのを憂いていたKei_9でございます。


ぺージの制作を担当されているキヨタカさんのつぶやきによれば、今回の改変に伴う不都合に関しては申し出があれば個人的*1に対応されていくということらしいのですが、当該スクリプトを公開されている作者さんにおいては現状の仕様にあわせたバージョンアップを選択されているようですね。


で、Sleipnir Startページをポータルに設定しちゃっているワタシとしては個人的にハズせないGMail Notifier in SleipnirStartが、新しいSleipnir Startページへ対応していただけました♪


追記

AddSDToSleipnirStart.user.jsも対応していただけました♪ 958さん、GJです!!





導入したばかりのデフォルトの設定ではGoogleのIDやPasswordがセットされていませんのでそのままでは使い物になりません。
スクリプトファイルをエディタで開いて設定部分に追記して保存後、SeaHorse再読み込み後リロード、もしくはクライアント自体を再起動*2


ここで、icon:falseがデフォルト設定なのですが、IDとパスワードを設定したのちに再読込させてページをリロードさせると新しいSleipnir Startページの上部にあるバーの挙動が変化します。

  • 未読があるとその件数を表示してくれて、マウスオーバーすると・・・


コレでも十分なんですが、以前のようなメールアイコンへ未読数がバッジ状態で表示されるスタイルが気に入っていたので某つぶやき処でもってちょっと要望をしてみたところサクッと実装していただけました♪

デフォではマウスオーバーでサマリーが表示されてくれますけど、アイコンモード?ではクリックしたときに表示されます。

アトは以前の挙動と同じでタイトル部分クリックで新規TabにてGmailの当該部分を表示してくれます♪



ちなみに上記のようにするにはココ(画像では行番号26)をtrueにすると以前のようにメールアイコンへ未読数バッジがオーバーレイするようになります。

しょーも無いとは思いつつ公開してみるテスツ

SDEとかいろんなスクリプトとかで画像の保存がとっても便利になっちゃっている今日この頃ですけど、以前自分だけの必要に迫られてあちこちのScriptを参考にでっち上げたヤツがあったりします。
Scripterさんから見れば稚拙なものでしょうけれど(汗
でも俺様限定で使っている分にはなんも不都合は無かったしということで。


コレを作ってみようと思い立ったのはSleipnirのビュー上で画像をついクリックしたままドラッグしちゃったときに、いちいちキャッシュを別タブで開いてくれちゃう挙動がちと(`皿´)ウゼーと思ったことに他なりません。
単純に開いちゃったタブを閉じるだけでも良かったのですけど、表へ見えない部分で保存してくれたりするといつか使えるんじゃね? みたいなノリで自動保存機能もつけてみたり。

まぁ正直言えばほとんどSleipnir2スレさんにあったコードのパクリですけどね・・・(゚∀゚)
デフォではsettings\【ユーザ名】\Sleipnir_DrugSaveImages というフォルダを作成し、そこへ取得した画像を保存するようにしてあります。

  • ファイル保存時にはファイル名を取得時のタイムスタンプに変更するようにしています。
// ==UserScript==
// @name 画像をビューでD&Dしてキャッシュを開くと指定フォルダに保存しつつ余計なタブを閉じる。
// @description D&Dなどでキャッシュファイルを開いたときに、指定のフォルダにファイル名を日時へ変更してコピーしたのち開いた余計なタブを閉じます。
// @include *Temporary%20Internet%20Files*
// @type SleipnirScript 
// ==/UserScript==

var saveto=sleipnir.UserFolder + 'Sleipnir_DrugSaveImages\\';		// 保存先フォルダパス(末尾の「\」を含む)


var fs = new ActiveXObject("Scripting.FileSystemObject");		// 出力フォルダがなければ作成する
    if (!fs.FolderExists(saveto)) {
        fs.CreateFolder(saveto);
}

var fp=decodeURI(_window.location).replace("file:///","").replace(/\//g,"\\");

var fso=new ActiveXObject("Scripting.FileSystemObject");
var fn=fso.GetFileName(fp);

var fntype = '\.' + fso.GetExtensionName(fn);				// ファイル名を取得日時へ書き換え
var nowdate = new Date();
//var ymd = (nowdate.getYear()).toString() + (nowdate.getMonth() + 1).toString() + (nowdate.getDate()).toString() + '-';
var hms = '[' + (nowdate.getHours()).toString() + '-' + (nowdate.getMinutes()).toString() + '-' + (nowdate.getSeconds()).toString() + ']';
//var fname = ymd + hms + fntype;
var fname = hms + fntype;

var savename=saveto+fname.replace(/\[\d+\](\.\w+)$/,"$1");		// ファイルを指定ディレクトリへ書き出し
fso.CopyFile(fp,savename);

var api=sleipnir.API;							// 開いてしまった余計なタブを閉じる
if(api){
	var c=api.GetCount();
	for(var i=0;i<c;i++){
		var id=api.GetDocumentID(i);
		if(api.GetWindowObject(id)==_window){
			api.Close(id);
			break;
		}
	}
}

『画像を保存しましたよ〜』みたいなダイアログがあると親切なんでしょうけれど、まぁその辺は俺様仕様ということで・・・
SDEを入れているとそっちが発動しちゃったりしますけど、ちゃんと動作はしてくれています。
思いがけない画像に行き会ったりとかあるので時々保存フォルダを眺めてみてはニヤニヤしちゃっていますよ(笑)

*1:イロイロと柔軟な対応を考えてくださっているようです。

*2:よくわかっていない方のために:クライアントの再起動とは、Sleipnir自体をいったん終了させたのち、立ち上げ直すことを指します。
アクションとしてRestartというものがデフォルトで登録済みなのでコレを発動するのも便利です。