2013-07-06 5 views
0

명령 및 대화 상자 표시하려면이 하나 건너 온 : 나는 대화 상자의 위치를 ​​변경하려면osascript를 통해 표시되는 대화 상자의 위치를 ​​조작 할 수 있습니까? 나는 다양한 UNIX와 주변 놀았 던

osascript -e 'tell app "System Events" to display dialog "Hello World"' 

합니다. 대부분의 명령에 대해서는 그 명령에 대해 무언가를하는 방법을 알아 내기 위해 man command을 사용할 수 있습니다. 그러나 man osascript은 대화 상자의 위치를 ​​어떻게 바꿀 수 있는지 알려주지 않습니다. 대화 상자를 다른 위치에 두도록 명령을 수정하려면 어떻게해야합니까?

+0

'man osascript'는 AppleScript 자체에 대한 자세한 내용을 [AppleScript] (http://www.apple.com/applescript)로 안내합니다. 위치 정보를 포함하도록 명령을 확장 할 수있는 가능성이 있습니다. 당신에게 URL을 주었을 때, 당신이 그것을 추적 할 때, Automator에서 끝납니다. –

+0

등록 된 개발자라면, Automator와 AppleScript (확실히 대부분의 2007 년)에 대한 설명서가 있습니다. 나는 그들이 공개적으로 이용 가능한지 여부는 모르겠다. –

+0

@animuson : 내가 물어볼 수 있다면 왜이 질문에 [tag : positioning]이 적합하지 않습니까? 태그 위키 발췌에서 "위치 지정은 종종 보이는 요소를 배치하는 과정을 나타냅니다."라고 말합니다.이 질문은 사용자 인터페이스 요소를 화면에 배치하는 것과 관련이 있습니다. – icktoofay

답변

2

먼저 AppleScript 편집기에 대한 도움말을 보려면 도움말 메뉴를 살펴보십시오. AppleScript 언어 가이드가 거기에 있습니다. 또한 파일 메뉴 아래에 응용 프로그램에 대한 특정 명령을 보여주는 "사전 열기"가 있습니다.

표시 대화 상자에 대한 정보를 보려면 StandardAdditions 사전을 열고 검색 필드를 사용하여 명령을 찾으십시오.

질문에 대답하려면 아니오, "표시 대화 상자"창의 위치를 ​​지정할 수 없습니다. 사전에서 볼 수 있듯이, 창 위치 지정을위한 명령에는 매개 변수가 없습니다. 또한 대화창이 열리는 동안 다른 명령을 실행할 수 없기 때문에 다른 명령이 도움이되지 않습니다 (예 : 확인 단추를 누를 때와 같이 대화 창에서 응답을 기다리는 동안 코드가 일시 중지되기 때문에) .

사용자에게 정보를 표시하기 위해 창의 위치를 ​​설정해야하는 경우 "대화 상자 표시"이외의 다른 대화 상자 도구를 사용해야합니다. cocoaDialog, SKProgressBar 및 Notification Center와 같은 몇 가지 대안을 위해 코코아 또는 Google에서 고유 한 창을 만들 수 있습니다.

1

일부 시나리오에서는 유용 할 수 있습니다. 다음보십시오 :이 작은 스크립트에 대한

on displayMessage(msg) 
tell application "Finder" 
    activate 
    set c to (count windows) 
    ignoring application responses 
     display dialog msg with icon note 
    end ignoring 
end tell 

tell application "System Events" 
    tell application process "Finder" 
     repeat until ((count windows) > c) 
      delay 0.2 
     end repeat 
     set position of window 1 to {0, 22} 
    end tell 
end tell 
end displayMessage 

displayMessage("I'm over here!") 

신용 게시물 here로 이동합니다.

내 자신을 구현할 때 호출되는 응용 프로그램 (이 예에서는 Finder)이 count window 명령을 지원하는지 (또는 API 지원이 있는지 여부)에 제한이 있음을 발견했습니다.

나는 2013 년부터 질문을 끌었다는 것을 알고 있습니다.이 질문은 OP에 사용되거나 비슷한 질문을하는 다른 사람에게 유용 할 수 있으므로 여기에 게시하고 있습니다.

+0

나는 이것을 OS X 10에서 돌렸다.10) Mac과 그 모든 작업은 Finder를 활성화 한 다음 Script Editor를 종료합니다 (아마도'응용 프로그램 응답 무시? '). 오, 그럼. –