2009-07-20 2 views
3

작은 루비 스크립트를 만들어 이미지의 크기를 조정하고 지정한 디렉토리에 저장합니다. 신청서를 최대한 투명하게 보내고 싶습니다.Ruby 스크립트에 파일 놓기 가능

모든 플랫폼에서 내 Ruby 스크립트에 파일 놓기를 허용 할 수 있습니까? 예를 들어, 사용자는 파일을 스크립트로 드래그 한 다음 파일 경로를 인수로 취하고 그에 따라 이미지의 크기를 조정합니다 (GUI가없고 콘솔도 없음).

+0

없음 GUI? 그것없이 드래그 앤 드롭하는 법? 아마도 KDE4의 plasmoid가 어떻게 작동하는지 살펴 봐야 할 것입니다. – txwikinger

+0

관련 항목 : http://superuser.com/q/197564 – Ajedi32

답변

5

드랙 & 드롭의 동작은 OS (및 윈도우 매니저의 Linux의 경우)에 따라 다르므로, 아니오.

Windows에서 무료로 원하는 동작을 얻을 수 있습니다. .rb 파일을 바탕 화면에두면 파일로 끌어온 파일이 스크립트의 인수가됩니다.

Windows와 통합하는 또 다른 쉬운 방법은 Windows 탐색기의 컨텍스트 메뉴에 표시 할 명령으로 레지스트리 항목 HKLM \ Software \ Classes * .jpg \ myhandler \ command에 쓰기 (jpg 파일을 마우스 오른쪽 단추로 클릭하는 것입니다. 메뉴에 스크립트가있는 메뉴가 나타납니다).

리눅스에서 끌기 & 드롭을 사용하지 않기 때문에 어떻게 그럴 수 있을지 모르겠다. 나는 더 많은 보안 문제 (권한이 있어야 함 ...)가 필요 하겠지만 .desktop 파일을 만들거나, 전체 표준을 보려면 http://standards.freedesktop.org/desktop-entry-spec/latest/을 참조하거나, ~/Desktop/*에서 몇 가지 예제를 읽으십시오. .

+1

windows에서 내 대답은 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

Cygwin을 통해 Ruby를 설치 한 경우 수동으로 파일을 등록해야 할 수도 있습니다 먼저. 중요한 부분은'\ ShellEx \ DropHandler' 키 값을 설정하는 것입니다. –

관련 문제