มีวิธีซ่อนแอพบางตัวจากเมนูแท็บ cmd + หรือไม่?


39

มีวิธีซ่อนแอปบางอย่างจากcmd+ tabหรือไม่

ปัญหาที่ฉันเผชิญคือมีบางแอพ (เช่น iTunes และ Finder 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 Hints

ใน macOS เวอร์ชันใหม่ล่าสุดไม่ควรตั้งค่าสตริงสำหรับ LSUIElement คุณต้องใช้บูลีนแทนดังนี้:

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

ก่อน OS X 10.8 ให้ใช้สิ่งนี้แทน (หมายเหตุ NS แทน LS):

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

สูบบุหรี่ศักดิ์สิทธิ์ที่ทำงานได้ดีกว่าที่คาดไว้ขอบคุณมาก!
wpp

1
สองความคิดเห็น ก่อนรูปแบบ [STRING] ด้านบนจะไม่ทำงานใน 10.8 - คุณต้องใช้ประเภทบูลีน ข้อสองนอกเหนือจากการซ่อนแอพจากตัวสลับแอปพลิเคชันการแก้ไข NSUIElement จะเป็นการซ่อนแถบเมนูดังนั้นการใช้แอปพลิเคชัน "ซ่อน" จึงค่อนข้างยาก
Kent

คุณเคยโชคกับ LSUIElement ใน Mavericks บ้างไหม?
atreat

2
ใช่ฉันดาวน์โหลดการอัปเดตตอนนี้พวกเขาสนับสนุนโดยกำเนิดด้วยรุ่น v1.4.2 github.com/binaryage/totalterminal/issues/…
atreat

4
ใน Mavericks สิ่งนี้ขัดข้องสำหรับฉัน ฉันลองใช้แอพพลิเคชั่นต่าง ๆ สองสามอย่าง
sandover

7

คุณสามารถตั้งค่า LSUIElement เป็น 1 เป็นสตริงใน Info.plist:

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

มันลบแอปพลิเคชันจากตัวสลับแอปพลิเคชัน Dock และหน้าต่างบังคับออก นอกจากนี้ยังลบแถบเมนูดังนั้นจึงไม่สามารถใช้งานได้กับ Finder หรือ iTunes

การแก้ไข Info.plist ทำให้แอปพลิเคชั่นบางตัวเช่น TextEdit และ Chess crash เมื่อเปิดตัวใน 10.8 นอกจากนี้ยังทำให้รหัสลายเซ็นต์ของแอปพลิเคชันที่เซ็นชื่อนั้นไม่ถูกต้องดังนั้นจึงไม่ได้รับอนุญาตให้เข้าถึงพวงกุญแจโดยอัตโนมัติ

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

NSUIElement ถูกคิดค่าเสื่อมราคา อย่างไรก็ตามฉันจำได้ชัดเจนว่าทำงานที่ Apple (Apple DTS) เมื่อไม่กี่ปีที่ผ่านมาว่าแผนที่ NSUIElement และ LSUIElement เป็นสิ่งเดียวกัน (อย่างน้อยก็กลับมาตอนที่ฉันอยู่ที่นั่นและฉันสงสัยว่าจะมีการเปลี่ยนแปลง) แม้ว่า NSUIElement จะถูกคิดค่าเสื่อมราคา (NS หมายถึงขั้นตอนต่อไปของหลักสูตร! และ LS ย่อมาจากบริการเปิดตัว) พวกเขาเป็นสิ่งเดียวกันสำหรับทุกเจตนารมณ์และวัตถุประสงค์

ทั้ง LSUIElement และ NSUIElement ยังคงใช้งานได้และทั้งคู่ยังสามารถตั้งค่าเป็น True หรือ 1 เป็นจำนวนเต็ม

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

การอ้างอิงคีย์คุณสมบัติรายการข้อมูล: เรียกใช้คีย์การบริการ :

LSUIElement( String- OS X) ระบุว่าแอพนั้นทำงานเป็นแอพตัวแทนหรือไม่ หากคีย์นี้ถูกตั้งค่าเป็น "1" เรียกใช้บริการเรียกใช้แอปเป็นแอพตัวแทน แอพของตัวแทนไม่ปรากฏใน Dock หรือในหน้าต่าง Force Quit แม้ว่าโดยทั่วไปแล้วพวกเขาจะเรียกใช้เป็นแอปพื้นหลังพวกเขาสามารถมาที่ส่วนหน้าเพื่อนำเสนอส่วนต่อประสานกับผู้ใช้หากต้องการ การคลิกที่หน้าต่างที่เป็นของแอพตัวแทนจะนำแอปนั้นไปข้างหน้าเพื่อจัดการเหตุการณ์

Dock และ loginwindow เป็นแอพสองตัวที่ทำงานเป็นแอพตัวแทน

แม่มดมีตัวเลือกให้ละเว้นแอปพลิเคชัน:

ฉันเพิ่งปิดใช้งานแอปพลิเคชันตัวสลับและ Dock แม้ว่า ฉันใช้แป้นพิมพ์ลัดและอัลเฟรดเป็นหลักในการสลับแอปพลิเคชัน


การตั้งค่าLSUIElementใน info.plist ของ Slack ทำให้เกิดข้อขัดข้องเมื่อเปิดใช้งานสำหรับฉัน
เทย์เลอร์เอ็ดมิสตัน

3

ข้อจำกัดความรับผิดชอบ: ฉันพัฒนาGhostTile

Anwser สั้น: เพียงแค่พยายามที่GhostTile มันจ่ายเงิน แต่คุณสามารถลองได้นานเท่าที่จะทำได้ (ขโมยความคิดจาก Sublime Text)

ลอง Anwser:

AFAIK มีสองวิธีในการทำสิ่งนี้:
1. ติดตั้งแอปในฐานะตัวแทน เช่นเก็บLSUIElementกุญแจสำคัญในการกำหนดนโยบายการเปิดใช้งานของ App Info.plist หรือตั้ง App NSApplicationActivationPolicyAccessoryเพื่อ
2. Hook Dock หรือกระบวนการระบบอื่น ๆ ที่เกี่ยวข้องเพื่อละเว้นแอพบางตัว ขอบคุณ SIP (Rootless) บน El Captian ไม่แนะนำให้ทำเช่นนั้น

GhostTile มุ่งเน้นที่การซ่อนแอพจาก Dock ใช้งานง่ายและมีวิธีจัดการแอพที่คุณซ่อนไว้หลายวิธี ไม่มีการแก้ไขบนดิสก์ดังนั้นคุณจะไม่ทำลายลายเซ็นรหัสของแอพ

คุณสมบัติอื่น ๆ :

  • คุณยังคงได้รับแจ้งสำหรับกิจกรรม Dock ของแอป
  • ภาพรวมที่เปิดเผย
  • อัลเฟรดเวิร์กโฟลว์

เพิ่งลองใช้แอพนี้และไม่มีแอพใดที่ฉันพยายามจะ "รองรับ" Finder, Mail, iOS Simulator ...
59

1
@pkamb ฉันขอโทษ แต่แอพทั้งหมดที่คุณพยายามได้รับการป้องกันโดย System Integration Protection (SIP) ที่แนะนำใน El Capitan คุณช่วยลองแอปอื่น ๆ ของบุคคลที่สามได้ไหม หรือปิด SIP
hewigovens

ยุติธรรมพอขอบคุณคำตอบ ฉันขอแนะนำข้อความแสดงข้อผิดพลาดเพิ่มเติมหรือลิงก์ไปยังคำถามที่พบบ่อย!
pkamb

ฉันจะซ่อน Ghost Title จาก Cmd + Tab launcher ได้อย่างไร ฉันลองเพิ่ม <key> NSUIElement </key> <string> 1 </string> ใน Info.plist แล้วรีสตาร์ทแอป มันใช้งานไม่ได้
แม็

@mac มีตัวเลือกการตั้งค่าที่เรียกว่า "ซ่อน GhostTile จาก Dock"
hewigovens

1

ขออภัยที่มาสายสำหรับปาร์ตี้ แต่แท้จริงแล้วเป็นคำตอบและความคิดเห็นก่อนหน้านี้ซึ่งอาจทำให้แอปพลิเคชันบางตัวหยุดทำงานเมื่อมีการเปิดตัว ฉันไม่สามารถทำงานนี้ใน Yosemite ได้แม้ว่าฉันจะสามารถใช้งานได้กับ 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.