cmd + tab 메뉴에서 특정 앱을 숨길 수있는 방법이 있습니까?


39

cmd+ 에서 특정 앱을 숨기는 방법이 tab있습니까?

내가 직면 한 문제는 iTunes 및 물론 Finder와 같은 일부 앱이 항상 열려 있다는 것입니다. 그러나 내가 일하고 나와 관련있는 앱 (Chrome, Sublime, Terminal)을 cmd+로 전환 tab하면 항상 메뉴에 이러한 '관련이없는'앱이 표시됩니다.

감사

답변:


36

예, 가능하지만 내가 아는 유일한 방법은 도크 아이콘을 숨 깁니다.

응용 프로그램 패키지 내에서 'Info.plist'라는 파일을 수정해야합니다 (예 : Sherlock.app/Contents/Info.plist). 선호하는 텍스트 편집기에서이 파일을 열고 다음 섹션을 추가하십시오 (이미 존재하는 경우 문자열 태그에서 0을 1로 간단히 변경하십시오).

<key>LSUIElement</key>
<string>1</string>

출처 : 모든 프로그램의 Dock 아이콘 숨기기-Macworld Mac OS X 힌트

최신 버전의 macOS에서는 LSUIElement에 문자열을 설정하지 않아야합니다. 대신 다음과 같이 부울을 사용해야합니다.

<key>LSUIElement</key>
<true/>

OS X 10.8 이전에는 이것을 대신 사용하십시오 (LS 대신 NS 참고).

<key>NSUIElement</key>
<string>1</string>

기대했던 것보다 훨씬 더 좋은 성스러운 연기!
wpp

1
두 의견. 먼저 위의 [STRING] 형식은 10.8에서 작동하지 않습니다. 부울 형식을 사용해야합니다. 둘째, 응용 프로그램 스위처에서 응용 프로그램을 숨기는 것 외에도 NSUIElement를 수정하면 메뉴 표시 줄이 숨겨져 "숨겨진"응용 프로그램을 사용하는 것이 매우 어려워집니다.
Kent

매버릭스에서 LSUIElement와 함께 운이 있었습니까?
atreat

2
그렇습니다. 업데이트를 다운로드했는데 이제 v1.4.2 릴리스에서 기본적으로 지원합니다. github.com/binaryage/totalterminal/issues/…
at atat at

4
매버릭스에서 이것은 충돌합니다. 몇 가지 다른 응용 프로그램을 시도했습니다.
sandover

7

Info.plist에서 LSUIElement를 문자열로 1로 설정할 수 있습니다.

<key>LSUIElement</key>
<string>1</string>

응용 프로그램 전환기, Dock 및 강제 종료 창에서 응용 프로그램을 제거합니다. 또한 메뉴 막대를 제거하므로 Finder 또는 iTunes에서 실제로 사용할 수 없습니다.

Info.plist를 편집하면 10.8에서 TextEdit 및 Chess와 같은 일부 응용 프로그램이 시작됩니다. 또한 서명 된 응용 프로그램의 코드 서명을 무효화하므로 키 체인에 자동으로 액세스 할 수 없습니다.

http://www.cocoabuilder.com/archive/cocoa/141753-lsuielement-and-lsbackgroundonly.html :

NSUIElement가 감가 상각되었습니다. 그러나 NSUIElement와 LSUIElement가 같은 것으로 매핑되었다는 사실을 몇 년 전 Apple (Apple DTS)에서 일한 것이 기억납니다. NSUIElement는 감가 상각되지만 (NS는 다음 단계를 의미합니다! LS는 시작 서비스를 나타냅니다), 모든 의도와 목적에있어 정확히 동일합니다.

LSUIElement와 NSUIElement는 여전히 작동하며 정수로 true 또는 1로 설정할 수도 있습니다.

grep -A1 [LN]SUIElement /Applications/*/Contents/Info.plist

정보 속성 목록 키 참조 : 서비스 키 시작 :

LSUIElement( String-OS X)는 앱이 에이전트 앱으로 실행되는지 여부를 지정합니다. 이 키가 "1"로 설정된 경우 Launch Services는 앱을 에이전트 앱으로 실행합니다. 에이전트 앱은 Dock 또는 강제 종료 창에 나타나지 않습니다. 일반적으로 백그라운드 앱으로 실행되지만 원하는 경우 사용자 인터페이스를 제공하기 위해 포 그라운드로 올 수 있습니다. 에이전트 앱에 속한 창을 클릭하면 해당 앱이 이벤트를 처리 할 수있게됩니다.

Dock 및 login 창은 에이전트 앱으로 실행되는 두 개의 앱입니다.

마녀 는 응용 프로그램을 무시하는 옵션이 있습니다 :

방금 응용 프로그램 스위처와 Dock을 비활성화했습니다. 주로 키보드 단축키 와 Alfred를 사용 하여 응용 프로그램을 전환합니다.


LSUIElementSlack의 info.plist에서 설정하면 시작시 충돌이 발생했습니다.
Taylor Edmiston

3

면책 조항 : 나는 GhostTile을 개발

짧은 Anwser : 그냥 시도 GhostTile을 . 그것은 지불되지만 할 수있는 한 시도 할 수 있습니다 (숭고한 텍스트에서 아이디어를 훔치십시오)

긴 답변 :

AFAIK,이를 달성하는 두 가지 방법이 있습니다.
1. 앱을 에이전트로 설정합니다. 예 LSUIElement를 들어 앱의 Info.plist에 키를 추가 하거나 앱의 활성화 정책을로 설정하십시오 NSApplicationActivationPolicyAccessory.
2. 후크 도크 또는 기타 관련 시스템 프로세스가 일부 앱을 무시합니다. El Captian의 SIP (Rootless) 덕분에. 그렇게하지 않는 것이 좋습니다.

GhostTile은 Dock에서 Apps를 숨기는 데 중점을두고 있습니다. 숨기고있는 앱을 사용하기 쉽고 여러 가지 방법으로 관리 할 수 ​​있습니다. 온 디스크 수정이 없으므로 앱의 공동 디자인 서명을 위반하지 않습니다.

다른 기능들:

  • 여전히 앱의 Dock 활동에 대한 알림을받을 수 있습니다
  • 노출 같은 개요
  • 알프레드 워크 플로우

이 앱을 사용해 보았지만 "지원되는"앱 이 없습니다 . 파인더, 메일, iOS 시뮬레이터 ...
pkamb

1
@pkamb 죄송합니다. 시도한 모든 앱은 El Capitan에 도입 된 SIP (System Integration Protection)에 의해 보호됩니다. 다른 타사 앱을 사용해보십시오. 아니면 SIP를 끄시겠습니까?
hewigovens

충분히 감사합니다. 답변 주셔서 감사합니다. 더 유익한 오류 메시지를 제안하거나 FAQ에 링크하십시오!
pkamb

Cmd + Tab 런처에서 고스트 타이틀을 숨기려면 어떻게합니까? Info.plist에 <key> NSUIElement </ key> <string> 1 </ string>을 추가하고 앱을 다시 시작했습니다. 그것은 작동하지

@mac "독에서 숨기기 GhostTile"라는 기본 설정 옵션이 있습니다
hewigovens

1

파티에 늦어서 죄송하지만 실제로 이전 답변과 의견에 따르면 일부 응용 프로그램이 시작되면 충돌 할 수 있습니다. 요세미티에서는 다른 Mac에서 작동시킬 수 있었지만이 작업을 수행 할 수 없습니다. TotalTerminal Info.plist를 변경해도 아무런 작업이 수행되지 않아 Applications/Utilities/Terminal/Info.plist충돌 이 발생했습니다.

@atreat는 의견 중 하나에서 언급 한 바와 같이,에서 사람 TotalTerminal가 되어 지금이 숨기기를 지원 하는 간단한 명령을 통해 :

defaults write com.apple.Terminal TotalTerminalHideDockIcon -bool YES

이것은 나를 위해 완벽하게 작동했습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.