一時的にだけ使いたいアクションを登録するアクション
久方ぶり
この前に書いたエントリが8月5日ですんで、2週間弱ぶりってとこですか。
この間「◯◯◯◯年◯◯月◯◯日のツイート」すら1週間ブランクありますしね。
まぁ、盆休みキッチリ取るためにネット断ちしてたり、休み中は休み中で遊びに出かけてたりしてたからなんですけど。
休んでた間のフェンリル絡みのトピックで興味があるのは2点。
FenrirFS 2.0 RC公開とTapmarklets公開ですかね。
FenrirFS 2.0の新機能は以前にデベロッパーズブログで触れられていましたね。(こことここ)
サムネイル/プレビュー機能、ファイル表示パターン追加(ワイドスクリーン表示、縮小表示)、自動同期モードプロファイル*1あたりでしょうか。
そういえばプレビューウィンドウは最前面ボタン押しても押さなくてもどっちでも最前面なような気がするんですが。
Tapmarkletsの方に関しては同時にブックマークレット登録が簡単に出来るようになった Sleipnir Mobile for iOS 1.3.3 が出てますね。
Sleipnir Mobile for Android では現状のα2ではブックマークレットを使えないようです。次に出るβバージョンでは対応されるとか。
デベロッパーズブログではPCからはアクセスできないと書いてありますけど、UA見て振り分けてるだけなんでUAを変更できるブラウザなら見ることは出来ます。
各ブラウザのUAの変更については過去エントリを参考にどうぞ。
なお、私はSleipnirのPersonalChannelプラグインで試しました。
URLの値を"http://bookmarklets.fenrir.co.jp/"にして、UAに"Android"、"iPhone"、"iPad"、"iPod"あたりが入っていると行けるみたいです。
PCでも使い出がありそうなものが幾つかあったのでいただきましたw
なお、ブックマークレットの募集を行っているので、Tapmarkletsも公開されたし*2、フェンリル君ステッカー欲しいし、ネタもいくつか思いついているので今週〜来週くらいには送ろうと考えています。
やっと本題
今日も前置きが長くなったなw
一時的にだけ特定のアクションを多用したい場合ってのがあったりします。
例えば、普段私は横になりながらブラウジングしたりしてます。
モニターからの距離にして1.5〜2mってところでしょうか。
当然、文字や画像が小さかったりするので「Zoom(200):200%にズーム」などを使ってページを拡大して見るわけです。
ちなみにズーム関係でマウスジェスチャに登録してあるのは「Zoom(200)」、「Zoom(100):100%にズーム」、「ZoomIn:+10%ズーム」、「ZoomOut:-10%ズーム」です。
基本的には「Zoom(200)」のあとに「ZoomIn」、「ZoomOut」で微調整って感じですね。
で、そんなときに困るのはちょうど良いズーム率が"150%"とか"250%オーバー"とかのページです。
数ページなら構わないんですが、10数ページとかになってくると、調整が10%刻みなためジェスチャ実行がめんどくさくなってきます。
そういう時は「サジタリウス」の入力ボックスに「Zoom(150)」とか入れてクリックするとか、ステータスバーのズームペーンから切り替えたりとかやってました。
いよいよそれも面倒になったのでアクションを一時的に登録して実行可能にするアクションを書いてみました。
TemporaryAction.js
(function(){ var pnir = sleipnir.api; var fso = sleipnir.CreateObject("Scripting.FileSystemObject"); if(!fso.FolderExists(sleipnir.UserFolder + "\\UserResource")) { fso.CreateFolder(sleipnir.UserFolder + "\\UserResource"); } if(!fso.FolderExists(sleipnir.UserFolder + "\\UserResource\\TemporaryAction")) { fso.CreateFolder(sleipnir.UserFolder + "\\UserResource\\TemporaryAction"); } if(pnir.CtrlDown) { var tmp = prompt("一時的に使うアクションを入力してください",""); tmp = tmp == null ? "" : tmp; var stream = fso.CreateTextFile(sleipnir.UserFolder + "\\UserResource\\TemporaryAction\\tmp.cfg", true, false); try { stream.Write(tmp + "\r\n"); }finally { stream.Close(); } }else { if(!fso.FileExists(sleipnir.UserFolder + "\\UserResource\\TemporaryAction\\tmp.cfg")){ alert("[Ctrl]キーを押しながら本アクションを実行し、使いたいアクションを登録してください"); }else { var stream = fso.OpenTextFile(sleipnir.UserFolder + "\\UserResource\\TemporaryAction\\tmp.cfg", 1, false, -2); var text = stream.ReadLine(); stream.Close(); if(text) { pnir.ExecuteAction(text); }else { sleipnir.Status = "アクション名が空白ですよん♪"; } } } })();
登録方法などは割愛。
※サジタリウスの入力ボタンの文字列を取得してアクションとして実行とかも考えたり。