由々識の気まぐれ日記

JavaScriptプログラマ「由々識」が時々書くするブログ。 内容はJavaScript全般、Sleipnir関係。

JIT(Just In Time) Actions リリース!

Sleipnir 用プラグイン、JIT Actions がリリースされました。
JIT というのは Just In Time の略で、
JIT Actions 用プラグインの Action を実行する際だけ、そのプラグインを読み込むことから名付けられたとのことです。
で、結局のところこのプラグインは何をするプラグインなのかと言いますと、
一言で言うと UserAction Extension などと同じ“橋渡し”です。
JIT Actions 用プラグインという、アクション追加用プラグインを動作するためのプラグインです。

じゃあ、UserAction Extension と同じってこと?

いえいえ違います。
JIT Actions 用プラグインはアクションを追加するという点では UserAction スクリプトと似ていますが、
JIT Actions 用プラグインはバイナリファイルなのでスクリプトよりも高速に動作します。

ということは UserAction Extension は用済みってこと?

いえいえ、実際のところはそううまくはいきません。
何故ならば、JIT Actions 用プラグインの仕様が非公開のため、
ユーザーには作成できないのです。
つまり、JIT Actions 用プラグインはフェンリルの開発者しか作成できないので、
我々ユーザーは以前と同様に UserAction スクリプトでしかアクションを開発できないのです。

とまあ、JIT Actions 本体についての説明はこれくらいにしておきましょう。
続いて、今回公開された JIT Actions 用プラグインをご紹介します。

JIT Actions OpenLinkGecko

リンクを Gecko エンジンで開く Action (Action 名:OpenLinkGecko)を Sleipnir に追加します。

JIT Actions SetClientTopMost

Sleipnir を最前面表示にする Action(Action 名:SetClientTopMost)を Sleipnir に追加します。

【注意事項】
一部スクリプトの出すダイアログや他のアプリケーションの出すダイアログが最前面表示している Sleipnir の背面に隠れてしまうことがあります。使用時は十分に注意してください。


Gecko で開くアクションはデフォルトで追加してもよさそうな気がします。
あと、規定のエンジンを「Gecko」にしている方もおられると思うので、
Trident で開くアクションも欲しいですね。
あと、一番欲しいのが API です。
FUM-2nd で要望した「Sleipnir.API::Navigate2」「Sleipnir.API::NewWindow2」の実装をスクリプト作者一同皆心待ちにしております。

なのはともあれ、フェンリルの皆様お疲れ様でした。

Sleipnir 2.8.0 正式版がリリース

Sleipnir 2.8.0 正式版がリリースされました。
Sleipnir 2.7.2 正式版からの更新履歴はこちらをご覧ください。
また、Developer's Blog の記事もご覧ください。
それでは、リリースノートから主な更新を解説したいと思います。


- フレームスキンを実装した。(スキンを Sleipnir のクライアントフレームやシステムボタンにも適用できるようになります。)(たば,RAPT)
今回のメイン、フレームスキンの実装です。
Sleipnir のクライアントウィンドウのタイトルバーなどにスキンが適用できるようになりました。
また、これに合わせてフレームスキン対応スキン2種類が正式公開されました。
Siro スキン スクリーンショット01Kuro スキン スクリーンショット01

スキン インストールページ

ちなみに、あたりまえのことですが、このスキンは Sleipnir 2.8.0 が以降でないとインストールできないのでご注意ください。


- クラシック表示時のタブのデザインを変更した。(たば)
これは FUM での要望に入っていたものです。
以下のようなデザインになりました。
Sleipnir 2702406 クラシックスタイル スクリーンショット01
アクティブタブが白っぽくなって、判別しやすくなりました。


- CopyClientInformation アクションを追加した。(Sleipnir のクライアント情報をクリップボードにコピーします。)(RAPT)
- バージョン情報ダイアログで Ctrl+C を押下したとき、上記のクライアント情報をクリップボードにコピーするよう変更した。(RAPT)
クリップボードにコピーされるクライアント情報は以下のような感じです。
===========================================================
Sleipnir Version: 2.7.2 クライアント情報
Unicode Edition (Number. 2702407)
-----------------------------------------------------------

■ マシン
OS: Windows XP Professional Service Pack 3 (build 2600) (Japanese)
IE(Trident): 7.0.5730.13
CPU: 2 of INTEL (Intel(R) Pentium(R) 4 CPU 3.06GHz)
RAM: 1840MB (1210MB Free)
FlashPlayer: 9.0.124.0
FireWall:

■ 有効なプラグイン
ExtendedMenu: 1.0.0
Hatena Bookmarker: 1.1.0
Hawkeye: 1.0.3
Headline-Reader Plugin: 1.2.5
LinkExtraction: 1.0.0
Panning Extension: 0.0.3
Sagittarius Dock: 0.2.9
SeaHorse: 1.1.2
SuperDrag Extension: 0.9.2
UserAction Extension: 1.0.1
UserDefinedTools: 1.0.0

■ 使用中のスキン
default: 1.0.0
===========================================================
FlashPlayer のバージョンも取得でき、便利になりました。


- Sleipnir オプション | Dock | タブ | マウスボタンを離したときにタブを閉じる を追加した。(Falcon)
Sleipnir は閉じるボタンを押した瞬間にタブが閉じますが、
今回より、ボタンを押して離した時にタブを閉じる設定が追加されました。


- Sleipnir オプション | クライアント | 起動 | 起動時に前回終了時の状態を復元するにチェックを入れたとき、終了時のアクティブタブを復元するようにした。(今回のバージョンを起動することで、以前の Sleipnir でお気に入りグループファイルを開けなくなりますのでご注意下さい。)(INTAKE)
起動時に、前回終了時にアクティブだったタブがアクティブになるようになりました。



主なものは以上です。
それにしても、
フレームスキン適用時に Windows の「画面のプロパティ|デザイン|フォント サイズ」を「特大フォント」にした場合、
Sleipnir のタイトルバーの文字列の下部が切れて表示される不具合は修正されませんでしたね。
フレームスキン不具合 スクリーンショット01
ちょっと残念です。

なにはともあれ、フェンリルの皆様、お疲れ様でした。

最前面機能廃止についての続き(追記あり)

Sleipnir 2.7.2 test5 で実装された最前面機能が test8 以降で仕様変更で使えなくなった件について書きたいと思います。

まず、事の経緯から整理しますと、
2ch のスレにてかねてから要望があった最前面機能が Sleipnir 2.7.2 test5 にて実装され、
私がこの test5 紹介記事にて最前面機能に反対し、セキュリティ上の危険を指摘をし、
それからしばらくたった test8 にて同機能は仕様変更により使えなくなりました。
そして、フェンリルからこの件に関する説明が全く無いので事の真偽は不明ですが、
この機能の欠陥を指摘した唯一の人間が私であったため、
私の発言により最前面機能が封印された可能性が高いということで、
フェンリルに対する非難と、フェンリル対して説明を求める書き込みで
2ch のスレが炎上したわけです。
(私に対する非難も数レスありましたが・・・)


次に、この時指摘したセキュリティ上の欠陥をもう一度ご説明します。
Sleipnir の最前面機能を有効にして Sleipnirスクリプト を実行した場合、
Sleipnir スクリプトの一部のダイアログがアクティブな状態のまま Sleipnir の後に隠れてしまい、
その状態で Enter キーを押してしまうとダイアログが見えない状態でダイアログのボタンが押されてしまい、
ユーザーの意図しない動作が起きかねないというものです。

それじゃあ、最前面機能が付いているソフトは全部危険なのか?

そういうわけではありません。
Sleipnir の最前面機能が危険なのは、そのウィンドウの大きさです。
そもそも最前面機能というのは、小さなウィンドウを画面の隅に常時表示させるための機能なわけですが、
画面の隅にあるわけですから、ダイアログが画面中央に現れても邪魔をしないので、
安全性には全く問題はありません。
ところが、ブラウザというソフトは Web ページを閲覧するという性質上、ウィンドウが大きく、
画面中央が隠れてしまいます。
ダイアログのほとんどは画面中央に表示されるため、
ダイアログがブラウザウィンドウの後ろに隠れるという状況が発生するのです。

以上が先日指摘したセキュリティ上の欠陥です。


スクリプトのダイアログごときで本当にセキュリティ上の欠陥になるのか?

実は、ここからが今回の記事の本題だったりします。
確かに、私が作るスクリプトの一部が誤動作を起こす恐れがあるくらいで、
最前面機能が封印されるというのは説得力に欠けます。
私が作るスクリプトを使っているユーザーは Sleipnir ユーザーの極々一部でしかありません。

しかし、つい先日に気がついたのですが、
よく考えたら、セキュリティ関係の常駐ソフト、例えばウィルス対策ソフトやファイアウォールソフトなどのダイアログも隠れてしまう可能性もあります。
隠れるだけではありません。
ダイアログがアクティブな状態のまま Sleipnir の後ろに隠れて表示されるのです。
アクティブな状態ですから、見えなくても Enter キーを押せばダイアログのボタンが押せてしまいます。
そして、もしこのダイアログが
『このファイルは危険である可能性がありますが実行しますか?』
というようなものだったとしたらどうでしょう。
ダイアログのボタンのフォーカスが「いいえ」にあれば大丈夫ですが、
全てのセキュリティソフトでそうなっている保証はありません。
また、セキュリティソフト側でダイアログに最前面属性を付けていればこの問題を防げますが、
数多とあるセキュリティソフト全てがそうなっている保証もありません。

というわけで私の推測では、

最前面機能が封印された理由は、私のスクリプトの誤作動の可能性ではなく、
むしろセキュリティソフトのダイアログ対策なのではないか
と思います。

しかし、そうなると最前面機能がこの先復活する可能性は低そうです。
ダイアログが隠れずに最前面表示できれば良いのですが・・・。



(2008/07/30 1:40 追記)

先ほど 2ch のスレを見ましたが、まだこの話題が続いているようです。
これは私の価値観の押し付けかもしれませんが、
現在行われれている最前面機能の賛成派と反対派の議論はあまり良いものには思えません。

まず反対派の主張である、「自分には不要だから反対」というのはいかがなものかと思います。
「自分に不要な要望を実装する時間があるなら自分の要望を」などという主張もとても自己中心的です。
またこれを「開発者が大変」などと言うのも、開発者にとっては余計なお世話です。
要望を実装するかどうかの決定をするのはフェンリルであり、ユーザーではないのですから。
なので、議論はあくまでその要望が実装された場合の長所・短所を出し合う形で行われるべきです。
そして、その出された長所・短所を、フェンリルが要望を実装するかどうかの判断の参考にしてもらうのが我らユーザーのできる限界です。
それ以上のことをする権限は我々ユーザーにはありません。
ユーザーは口は出せても、それを強制する権限は無いのです。
それがフリーソフト開発者とユーザーの関係です。
いついかなるときも、このことを忘れてはいけません。

次に、賛成派ですが、一部の人だけですが誠意がない人がいます。
フェンリルに対してはまるで自分の主張が通って当然というようなもの言いです。
あなたはフェンリルの顧客ではないのですよ。
例え、企業だから責任があるなどという主張をしたとしても通りません。
法的には一個人も法人も責任は同じです。
例え営利団体であっても、売買契約が無ければ関係無しです。
ユーザーはあくまでも「使わせてもらっている」側であり、
「使ってあげている」側ではないのです。
いついかなるときも、このことを忘れてはいけません。


さて、ここまで読んだ人の中には

「おまえも『自分には不要だから反対』したんじゃないのか?」

と思われる方もおられるかもしれませんが、それは違います。
確かに、私は 最前面機能不要派 です。
しかし、それを理由に反対したわけではありません。
反対理由はあくまでもセキュリティ上の問題だけです。
つまり私個人としては、セキュリティ上の問題が解決されれば 最前面機能 の実装に反対する理由は無いのです。
それどころか、なんとかセキュリティ上の問題をクリアして最前面機能を実装する方法はないかとさえ思っています。
また、これはフェンリルの方々も同じはずです。
ソフトウェア開発者というのは、1人でもユーザーに喜んでもらいたいと思って開発しています。
実装者の たば さんもきっとその思いを胸に最前面機能を実装したことでしょう。
それが今回、セキュリティ上の理由(と推測される)で封印されてしまったわけで、
たば さんもきっと残念で、今でもなんとか問題をクリアする方法は無いか探していることと思います。
なので私は たば さんの苦労が報われて、問題がクリアされた上で最前面機能が実装されることを望みます。

Sleipnir 2.7.2 test10 (リリース候補版3)リリース

Sleipnir 2.7.2 の test10 が 2ch でリリースされました。
今回はリリース候補版なので、単体で使用可能です。

<更新履歴>
[仕様変更]
- スキンを使用しているとき、全体的に描画処理の改善をした。(たば)

[不具合修正]
- フレームスキンを使用しているとき、最大化状態でウィンドウを移動できる不具合を
 修正した。(Sleipnir 2.7.2 test8 からの不具合です。)(たば)
- フレームスキンを使用しているとき、Sleipnir オプション | Dock | エクスプローラ
 バー | カーソルをウィンドウの端に持って行くと Dock を自動表示する にチェック
 をつけている場合、自動表示の認識範囲が内側にずれていた不具合を修正した。
 (Sleipnir 2.7.2 test8 からの修正です。)(YOSSY)
- Vista 環境でスキンを使用しているとき、アウトプット Dock の上にあるスプリッタ
 の描画が乱れていた不具合を修正した。(YOSSY)
今回の修正は全てスキン関係です。
それでは各々見ていきましょう。


- スキンを使用しているとき、全体的に描画処理の改善をした。(たば)
何が変わったのかわかりませんでした。
内部的なものなのかもしれません。


- フレームスキンを使用しているとき、最大化状態でウィンドウを移動できる不具合を
 修正した。(Sleipnir 2.7.2 test8 からの不具合です。)(たば)
この不具合は私の環境では再現しませんでしたので、
検証できませんでした。


- フレームスキンを使用しているとき、Sleipnir オプション | Dock | エクスプローラ
 バー | カーソルをウィンドウの端に持って行くと Dock を自動表示する にチェック
 をつけている場合、自動表示の認識範囲が内側にずれていた不具合を修正した。
 (Sleipnir 2.7.2 test8 からの修正です。)(YOSSY)
私は、エクスプローラバーを常時表示じたままなので、
気がつきませんでした。
で、実際に旧版と比べてみたのですが、なんだか微妙な差でよくわかりませんでした。


- Vista 環境でスキンを使用しているとき、アウトプット Dock の上にあるスプリッタ
 の描画が乱れていた不具合を修正した。(YOSSY)
すいません、当方の環境は XP オンリーなのです。


というわけで検証終了です。
「描画処理の改善した」ということで、
前回指摘した、フレームスキン時に Windows のフォントサイズを「特大フォント」にした場合にタイトルバーの文字列の下部が切れる不具合が直っているかと期待したのですが、
直っていませんでした。
あと、前回も言いましたが、Windows のフォントサイズを「特大フォント」にして、Sleipnir を「default」スキン以外のスキンにした時にアドレスバーと検索バーのタイトルの文字列がバーに入りきらずに切れて表示される不具合も直してほしいです。
フォントサイズに合わせて表示領域が変わらない箇所は Windows のフォントサイズの設定を使わず、
フォントサイズを固定にした方が良いかと思います。

さて、リリース候補版からフレームスキンが実装されたわけですが、
このフレームスキンが片付いたら正式版ということでしょうかね。

なにはともあれ、フェンリルの皆さまお疲れさまでした。

Sleipnir 2.7.2 test9 (リリース候補版2)リリース

Sleipnir 2.7.2 の test9 が 2ch でリリースされました。
今回はリリース候補版なので、単体で使用可能です。

<更新履歴>
[仕様変更]
- フレームスキンを使用しているとき、タイトルバーテキストに Windows で指定された
 フォントを使用するようにした。(たば)

[不具合修正]
- Vista 環境でテーマが有効な時、メニュー項目スキンの描画が意図通りに行われてい
 ないことがあった不具合を修正した。(RAPT)
- フレームスキンを使用しているとき、システムボタンのツールチップが消えずに残っ
 てしまうことがあった不具合を修正した。(Sleipnir 2.7.2 test8 からの修正です。)
 (RAPT)
- フレームスキンを使用しているとき、フレームのサイズが正しく描画されていない
 不具合を修正した。(Sleipnir 2.7.2 test8 からの不具合です。)(たば)
- フレームスキンを使用しているとき、非クライアントエリアの当り判定がずれていた
 不具合を修正した。(Sleipnir 2.7.2 test8 からの不具合です。)(たば)
今回は、前回実装されたフレームスキンの修正が主です。
また、前回公開されたフレームスキン対応スキン、『Siro』『Kuro』がバージョンアップしました。

『Siro』スキン インストール

『Kuro』スキン インストール

それでは、各々の更新点を見ていきましょう。


- フレームスキンを使用しているとき、タイトルバーテキストに Windows で指定された
 フォントを使用するようにした。(たば)
- フレームスキンを使用しているとき、システムボタンのツールチップが消えずに残っ
 てしまうことがあった不具合を修正した。(Sleipnir 2.7.2 test8 からの修正です。)
 (RAPT)
- フレームスキンを使用しているとき、フレームのサイズが正しく描画されていない
 不具合を修正した。(Sleipnir 2.7.2 test8 からの不具合です。)(たば)
- フレームスキンを使用しているとき、非クライアントエリアの当り判定がずれていた
 不具合を修正した。(Sleipnir 2.7.2 test8 からの不具合です。)(たば)
文字どおり、フレームスキン関係の修正です。
当たり判定のズレなど結構重要な修正も含まれます。
ちなみに、タイトルバーテキストの仕様変更ですが、これはかえって不具合を招いていますね。
この仕様変更は、タイトルバーの文字列を Windows 指定のフォントの種類・サイズに変更するものですが、
タイトルバーの高さ(上下幅)が変わらないので、
Windows の「画面のプロパティ|デザイン|フォント サイズ」を「特大フォント」にした場合に、
タイトルバーの文字列の下部が切れて表示されます。
フレームスキン不具合 スクリーンショット01
私としては、タイトルバーのフォントの種類だけを Windows 指定のものにし、
フォントサイズは固定していただきたいです。

あと前回も言いましたが、アドレスバーと検索バーのタイトルのフォントサイズを Windows の指定にかかわらず固定にしてほしいです。
Windows の指定を「特大フォント」にするとタイトルの文字列が切れて表示されて見づらいです。

なににせよ、フォントサイズによって表示領域の幅を変えられない箇所は Windows の指定フォントサイズを使用せずに、
固定サイズにした方が良いと思います。


- Vista 環境でテーマが有効な時、メニュー項目スキンの描画が意図通りに行われてい
 ないことがあった不具合を修正した。(RAPT)
当方は XP 環境なので無縁ですね。


以上です。
なにはともあれ、フレームスキンは思いのほかカッコイイ更新なので、
これからの新スキンに期待ですね。

フェンリルのみなさん、お疲れ様でした。

 | HOME |  次のページ »

Sleipnirスクリプトをお探しのかたはこちらへどうぞ。

Yuyu's Digital Lab.

プロフィール

由々識

作者:由々識

JavaScriptプログラマの由々識です。
主にSleipnirスクリプトを書いています。

RSS 1.0

カレンダー

06 | 2008-07 | 08
S M T W T F S
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

アーカイブ

カテゴリー

最新投稿

最新コメント

トラックバック

ツール

あわせて読みたい
この日記のはてなブックマーク数

DTIブログポータルへ
このブログを通報
Report Abuse
利用規約