2009-07-20 4 views
3

イメージをサイズ変更して指定されたディレクトリに保存するための小さなルビースクリプトを作成しています。私はアプリケーションを可能な限り透明にしたいと思います。ファイルをRubyスクリプトにドロップできるようにする

すべてのプラットフォームでRubyスクリプトにファイルをドロップすることはできますか?たとえば、ユーザーはファイルをスクリプトにドラッグし、引数としてファイルパスを取得し、それに応じて画像のサイズを変更します(GUIなし、コンソールなしなど)。

+0

ないGUI?それを使わずにドラッグ&ドロップする方法は? KDE4のplasmoidがこれをどうやって行うのか見てみるべきでしょう。 – txwikinger

+0

関連:http://superuser.com/q/197564 – Ajedi32

答えて

5

ドラッグの動作は、OS(およびウィンドウマネージャのLinuxの場合)によって異なります。

Windowsでは、自由に動作させることができます。デスクトップに.rbファイルを置くだけで、そこにドラッグされたファイルはスクリプトの引数になります。

Windowsと統合するもう1つの簡単な方法は、Windowsエクスプローラのコンテキストメニューに表示するコマンドでHKLM \ Software \ Classes * .jpg \ myhandler \ commandというレジストリエントリに書き込むことです(jpgファイルを右クリックしてください)メニューにあなたのスクリプトを持つメニューをポップアップします)。

私はLinuxのドラッグ&を一切使っていないので、そこでやる方法はわかりません。より多くのセキュリティ上の問題があると思います(権限は正しいはずです...).desktopファイルを作成したり、完全な標準についてはhttp://standards.freedesktop.org/desktop-entry-spec/latest/を参照したり、〜/ Desktop/*からいくつかの例を読むことができます。

+1

ウィンドウで私の答えでは私の答えにindiatedとして – peter

1

このような動作は、ドラッグ&ドロップはこの場合はOSによって実装され、ルビでは実装されません。

あなたの質問に答える:いいえ、それは不可能です。

2

プラットフォーム依存のため、ここではWindowsユーザ向けです。 .regファイルに次を保存し、それをdoubleclikingことによってそれをロードし、Windows Vistaでテストされ、7

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\rbfile\ShellEx\DropHandler] 
@="{86C86720-42A0-1069-A2E8-08002B30309D}" 

[HKEY_CLASSES_ROOT\rbwfile\ShellEx\DropHandler] 
@="{86C86720-42A0-1069-A2E8-08002B30309D}" 

[HKEY_CLASSES_ROOT\RubyFile\ShellEx\DropHandler] 
@="{86C86720-42A0-1069-A2E8-08002B30309D}" 

[HKEY_CLASSES_ROOT\RubyWFile\ShellEx\DropHandler] 
@="{86C86720-42A0-1069-A2E8-08002B30309D}" 
+0

あなたはあなたがRubyをCygwin経由でインストールした場合、これは手動でファイルを登録する必要があるかもしれないことに注意してください最初。重要な部分は '\ ShellEx \ DropHandler'キーの値を設定することです。 –

1

あなたのスクリプトのラッパーを作成するために、OS Xでカモノハシを使用することができます。

http://sveinbjorn.org/platypus

よろしく クラウス