2014-11-13 9 views
0

Xcode 6.1에서 OS X Objective-C를 사용하고 스크립팅 브리지를 사용하여 Finder 유틸리티를 만듭니다. 필자는 다음 명령을 사용하여 터미널을 사용하여 스크립팅 브리지에 Finder.h를 구축하고 활용했습니다.Finder 윈도우에서 'pathbarVisible'을 프로그래밍 방식으로 확인하십시오.

sdef /System/Library/CoreServices/Finder.app | sdp -fh --basename Finder

필자가 작성한 유틸리티는 주어진 Finder 윈도우의 시각적 가장자리를 프로그래밍 방식으로 결정해야합니다. 상태 표시 줄 및/또는 경로 표시 줄이 있으면 화면에 나타나는대로 Finder 윈도우의 '가장자리'에 의해 결정되는 '크기'에 영향을줍니다.

상태 표시 줄과 경로 표시 줄은 스크립팅 브리지 (Finder.h)에서보고 한 '경계'속성에 포함되어 있지 않습니다. Finder.h 헤더에 포함 된 'statusbarVisible'을 성공적으로 활용하여 상태 표시 줄의 표시 여부를 결정했습니다. 그러나 경로 막대가 표시되는 경우에도 보이는 크기/가장자리에 영향을 미치고 'pathbarVisible'을보고하는 속성이 표시되지 않는 것 같습니다.

'statusbarVisible'과 동일한 기능을 수행하여 특정 Finder 윈도우에 대해 패스 막대가 표시되는지 확인합니다. 또는 스크립팅 브리지가 필요없는이 정보를 얻을 수있는 또 다른 방법이 있습니까?

답변

0

파인더에는 패스 막대가 표시되는지 여부를 직접 알려주는 속성이 없으므로 쉬운 해결책이 아닙니다. 내가 생각할 수있는 가장 좋은 방법은 접근성을 사용하여 창을 조사하고 경로 표시 줄 요소가 있는지 여부를 확인하는 것입니다. 시스템 이벤트의 GUI 스크립팅 도구 (아마도 Scripting Bridge를 사용하여)를 사용하거나 GUI 기능을 구현하기 때문에 직접 액세스 기능을 사용할 수 있습니다.