TotalTerminal ไม่ทำงานกับแอปแบบเต็มหน้าจอ


8

TotalTerminal (อดีต Visor) เป็นปลั๊กอินที่ยอดเยี่ยมสำหรับเทอร์มินัลซึ่งเปลี่ยนเป็นคอนโซลสไตล์ Quake ที่เลื่อนลงมาบนคีย์ผสม

TotalTerminal

สิ่งนี้มีประโยชน์อย่างมากสำหรับการพัฒนาเพราะฉันสามารถพิมพ์คำสั่งในขณะที่เขียนโค้ดหรือเรียกดูได้โดยไม่ต้องเร่งรีบหน้าต่างเพิ่มเติม

น่าเสียดายที่ TotalTerminal เล่นได้ไม่ดีกับแอปแบบเต็มหน้าจอ หากฉันวาง Sublime Text ในโหมดเต็มหน้าจอและเปิดใช้งานเทอร์มินัลการควบคุมภารกิจจะเลื่อนไปยังพื้นที่ว่างที่ไม่ใช่แบบเต็มหน้าจอที่ใกล้ที่สุดที่มีอยู่และจากนั้นจะแสดงเทอร์มินัล

มันน่ารำคาญมาก เป็นไปได้ที่จะแก้ไขหรือแก้ไขปัญหานี้?

คำตอบ:


7

นี่เป็นปัญหาที่ทราบและผู้เขียน ไม่ได้วางแผนที่จะแก้ไข

ฉันขอแนะนำให้บางคนดำเนินการต่อไปและนำไปใช้เพราะโดยส่วนตัวแล้วฉันไม่ได้ใช้แอปแบบเต็มหน้าจอในขณะนี้และฉันไม่ได้วางแผนที่จะแก้ไขปัญหานี้ในเวลาไม่นาน

โชคดีที่มีเป็นวิธีแก้ปัญหาที่อธิบายโดยvvlad

คุณสามารถตั้งค่าได้LSUIElementใน Info.plist ของ Terminal

มันมีข้อเสียหลายประการแต่อย่างอื่นก็ใช้งานได้ดีเช่น:

  • เทอร์มินัลไม่แสดงบน Dock อีกต่อไป
  • มีช่องว่างขนาดของแถบด้านบนด้านบนของ TotalTerminal visor ทั้งหมดที่เปิดในหน้าต่างแอปแบบเต็มหน้าจอ
  • คุณไม่สามารถไปที่หน้าต่างเทอร์มินัลปกติได้อีกต่อไป
  • คุณไม่สามารถบังคับใช้กระบวนการ Kill Terminal ได้

นี่คือลักษณะ:

TotalTerminal ในแอปเต็มหน้าจอ

มันทำงานอย่างไร

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

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

ทำอย่างไร

  1. เปิด Terminal (สมมติว่าคุณติดตั้ง TotalTerminal แล้ว)
  2. วิ่ง sudo nano /Applications/Utilities/Terminal.app/Contents/Info.plist
  3. เพิ่มสองบรรทัดเหล่านี้ทันทีหลังจากเปิด<dict>แท็ก:

    <key>LSUIElement</key>
    <true />
  4. บันทึกและปิดไฟล์โดยการกด ^O Enter ^X
  5. ออกจาก Terminal และเปิดใช้อีกครั้ง

TotalTerminal มีตัวเลือกสำหรับสิ่งนี้ในพาเนลการกำหนดค่าตามความชอบตอนนี้ฉันโพสต์คำตอบใหม่รวมถึงภาพหน้าจอ
The Mighty Chris

ฉันไม่สามารถให้สิ่งนี้ทำงานได้อย่างถูกต้องใน OSX Yosemite 10.10 เมื่อใดก็ตามที่แสดง TotalTerminal จะสลับกลับไปที่ช่องว่างหลัก
rossipedia

@rossipedia - ดูคำตอบของฉันด้านล่างเพื่อแก้ไข Yosemite
cchamberlain

3

ผู้ใช้โยเซมิตี

Apple เปลี่ยนวิธีการทำงานของ LSUIElement ใน Yosemite มันจะทำให้แอปทำงานเป็นเอเจนต์ แต่จะไม่ทำให้โอเวอร์เลย์เต็มหน้าจอ Windows อีกต่อไป

ในการแก้ไขให้เปิดไฟล์ Info.plist ตามคำแนะนำของผู้อื่นและเพิ่มองค์ประกอบสองประการต่อไปนี้:

<key>LSUIElement</key>
<true/>
<key>LSUIPresentationMode</key>
<string>4</string>

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

4 - โหมดการระงับทั้งหมด ในโหมดนี้องค์ประกอบ UI ทั้งหมดจะถูกซ่อนรวมถึงแถบเมนู องค์ประกอบ UI อาจแสดงตนเองโดยอัตโนมัติเมื่อมีการเคลื่อนไหวของเมาส์หรือกิจกรรมของผู้ใช้อื่น ๆ ตัวเลือกนี้มีเฉพาะใน OS X v10.3 และใหม่กว่า

แหล่ง


1

TotalTerminal มีตัวเลือกในพาเนลการกำหนดค่าตามความชอบในขณะนี้สำหรับการเปิดใช้งานตัวเลือกพื้นฐาน @ คำตอบของ Dan แสดงการตั้งค่าด้วยตนเอง:

สกรีนช็อตของการตั้งค่า TotalTerminal

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.