2009-07-20 63 views
3

我創建了一個小的ruby腳本來調整圖像大小並將它們保存在指定的目錄中。我希望應用程序儘可能透明。啓用將文件拖放到Ruby腳本上

是否有可能允許文件在所有平臺上拖放到我的Ruby腳本?例如,用戶拖動文件到腳本,然後取文件的路徑作爲參數,並相應地調整圖像大小 - 沒有GUI,沒有控制檯等。

+0

沒有GUI?如何在沒有它的情況下拖放?也許你應該看看KDE4中的plasmo如何做到這一點。 – txwikinger 2009-07-20 19:53:11

+0

相關:http://superuser.com/q/197564 – Ajedi32 2015-06-02 01:01:47

回答

5

拖&下降的行爲是依賴於OS(和窗口管理器了Linux的情況下),所以沒有。

在Windows中,您將獲得所需的免費行爲。只需在桌面上放置一個.rb文件,拖到它上面的文件就會成爲腳本的參數。

與Windows集成的另一個簡單方法是使用要在Windows資源管理器的上下文菜單中顯示的命令寫入註冊表項HKLM \ Software \ Classes * .jpg \ myhandler \ command(右鍵單擊jpg文件將彈出一個菜單,它將在菜單中顯示你的腳本)。

我不使用拖放&下降Linux的好,所以我不知道該怎麼辦,有。我希望它有更多的安全問題(權限必須是正確的,...),但你可以通過創建一個.desktop文件來實現,見完整標準http://standards.freedesktop.org/desktop-entry-spec/latest/,或者閱讀〜/ Desktop/*。desktop 。

+1

在您需要編輯註冊表正如我在回答前indiated這將工作 – peter 2014-04-20 13:34:41

1

這樣的行爲肯定是特定的平臺,拖放是由操作系統在這種情況下,而不是通過紅寶石。

所以回答你的問題:不,這是不可能的。

2

平臺依賴,所以這裏僅供windowsusers和僅供參考。 將以下保存到.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}"