มีวิธีใดที่ดีและมีเสถียรภาพในการทำให้หน้าต่าง 'อยู่ด้านบนเสมอ' บน Mac?


82

ฉันกำลังมองหาวิธีที่มั่นคงในการทำให้หน้าต่าง 'อยู่ด้านบนเสมอ' บน OSX

Afloatแอปที่ต้องการ SIMBL / easySIMBL ซึ่งดูเหมือนจะไม่เสถียรมาก

มีวิธีแก้ปัญหาที่ดีกว่านี้ไหม? จริงๆแล้วมันน่าแปลกใจที่ไม่มีวิธีดั้งเดิมในการใช้งานสิ่งนี้


2
HIG ของ OSX ไม่อนุญาตและทำให้ไม่เคยตั้งโปรแกรมไว้ในระบบหน้าต่าง โดยปกติแล้วหมายความว่าคุณกำลังพยายามแก้ไขปัญหาอย่างไม่ถูกต้องหรือแอปที่คุณใช้เขียนไม่ดีและไม่ได้ทำในสิ่งที่ต้องทำ การแก้ปัญหาที่เกิดขึ้นจริงจะต้องมีคำอธิบายที่ดีขึ้นของปัญหาหรือโปรแกรมเมอร์ในการแก้ไขแอป
John Keates

2
เพื่อให้ผู้ใช้ตั้งค่า window-of-choice ให้อยู่ด้านบนของหน้าต่างอื่น ๆ เสมออาจทำให้เกิดพฤติกรรมที่ไม่พึงประสงค์และไม่คาดคิด โปรแกรมรักษาหน้าจอเป็นเพียงหน้าต่าง - คุณต้องการลอยไปเหนือสิ่งนั้นหรือไม่? การแจ้งเตือนที่สำคัญมีอะไรบ้าง จะเกิดอะไรขึ้นถ้าสองแอพต้องการที่จะอยู่ด้านบนเสมอ? ในทางทฤษฎีคุณสามารถทำผู้ใช้ DoS ได้โดยวางแอปแบบเต็มหน้าจอไว้ด้านบนและออกจากระบบ นี่คือเหตุผลที่ไม่มีคุณสมบัติ 'เสมอบนสุด' ในโกโก้ หนึ่งสามารถระบุดัชนี Z สัมพัทธ์ (และ Apple เรียกร้องให้ทำเช่นนั้น) ตัวเลือกของคุณนั้นเป็นรหัสแอปอีกครั้งหรือใช้ SIMBL
JJ

คุณต้องการทำสิ่งนี้กับแอปพลิเคชันใด ๆ ใน Mac OS หรือไม่? ถ้าเป็นเช่นนั้นคุณต้องการให้มีการโฟกัสเสมอ (หมายถึงการกดปุ่มและคลิกเมาส์) หรือคุณต้องการให้หน้าต่างของแอพ "ลอยเหนือ" อื่น ๆ ทั้งหมด แต่ไม่ใช่หน้าต่างที่ใช้งานอยู่หรือไม่?
kenjikato

7
FWIW Fedora อนุญาตสิ่งนี้เสมอ (ตั้งแต่ช่วงกลางยุค 90 ในรูปแบบ RH) และฉันไม่เคยมีปัญหาใด ๆ ในลักษณะ "ไม่พึงประสงค์" มันไม่ได้อยู่ใน OSX เมื่อสามารถใส่ได้
nerak99

1
John Keates - น่าเสียดายที่คุณไม่รู้ว่าคุณกำลังพูดถึงอะไร Xcode ทำสิ่งนี้อย่างมากกับเครื่องมือจำลองของพวกเขาโดยเก็บไว้ที่หน้าหน้าต่างอื่น ๆ ทั้งหมดและพฤติกรรมนี้มีอยู่เป็นเวลาหลายปีจนกระทั่งในที่สุดพวกเขาก็นำมันออกมาใน Xcode 9
Logicsaurus Rex

คำตอบ:


25

ฉันจะทราบว่า iOS Simulator มี / Stay in Frontมีตัวเลือก ฟังก์ชั่นที่มีประโยชน์อย่างยิ่งและพิสูจน์ให้เห็นว่ามีวิธีที่ Apple ให้การสนับสนุนและถูกทำนองคลองธรรมเพื่อให้บรรลุพฤติกรรมนี้

อาจคุ้มค่าที่จะเปิดเรดาร์โดยเฉพาะอย่างยิ่งสำหรับการเพิ่มไปยังสถานี

คุณสามารถทำซ้ำเรดาร์ของฉัน :

รหัสข้อผิดพลาด 27430873: เพิ่มตัวเลือก "อยู่ข้างหน้า" ในหน้าต่างเทอร์มินัล

อยู่ในตัวเลือก Front ใน iOS Simulator

น่าเสียดายที่ Xcode 9 ลบคุณลักษณะนี้ใน iOS Simulator โปรดทำสำเนารายงานข้อผิดพลาดของ Apple เพื่อนำสิ่งนั้นกลับมาด้วย!

รหัสข้อผิดพลาด 32852924: Xcode 9 iOS Simulator หายไปจากตัวเลือก "อยู่ข้างหน้า"

แอพของ Activity Monitor ของ Apple นั้นมีตัวเลือกKeep CPU Windows on Topที่ลอยกราฟ CPU ขนาดเล็กที่ด้านบนของหน้าต่างแอพอื่น ๆ ทั้งหมด:

การตรวจสอบกิจกรรม> หน้าต่าง> ทำให้ CPU Windows อยู่ด้านบน


1
iOS Simulator คืออะไร? มันเหมือนเครื่องจำลองหรือไม่? ฉันกำลังมองหาหนึ่ง
เสียง

@ tjt263 เครื่องมือจำลอง iOS นั้นมาพร้อมกับ Xcode และส่วนใหญ่ใช้ในการพัฒนาแอพ iOS
pkamb

1
โอวตกลง. เรดาร์คืออะไร ชอบรายงานข้อผิดพลาดหรือไม่?
เสียง

@ tjt263 ใช่bugreport.apple.com
pkamb

3
ฟังก์ชั่นนี้จะแสดงใน 'การตรวจสอบกิจกรรม' ที่ติดตั้งไว้ล่วงหน้า - หากคุณไปที่เมนู 'หน้าต่าง' คุณจะเห็นตัวเลือก 'เก็บ CPU Windows ไว้ที่ด้านบน' - ดังนั้นจึงดูเหมือนว่ามี Apple อย่างเป็นทางการ วิธีทำสิ่งนี้ (นี่คือสิ่งที่ฉันเห็นใน 10.13.2)
keybits

16

หากคุณต้องการทำเช่นนี้เพื่อพูดหน้าต่างเบราว์เซอร์อินเทอร์เน็ตคุณสามารถดูแอพพลิเคชั่นของโอเพ่นซอร์สฮีเลียม ฟรีและคุณยังสามารถดาวน์โหลดซอร์สและคอมไพล์เวอร์ชันของคุณเองได้หากคุณต้องการ

โดยพื้นฐานแล้วมันเป็นอินเทอร์เน็ตเบราว์เซอร์ที่ลอยอยู่เหนือหน้าต่างอื่น ๆ แอปฮีเลียม

แก้ไข:

นอกจากนี้ยังมีแอปใหม่จาก Apple Mac App Store ที่เรียกว่าFluid Browserที่จะทำสิ่งเดียวกัน มันมีค่าใช้จ่ายไม่กี่ดอลลาร์ แต่ก็ใช้งานได้ดีและมีคุณสมบัติมากกว่า Helium (ตั้งแต่ 7/6/2559) ดังนั้นตอนนี้คุณมีแอพให้เลือกสองแบบ

เบราว์เซอร์ของไหล


ฉันไม่ชอบประสบการณ์ Fluid Browser ใช่มันมีคุณสมบัติไม่กี่อย่าง แต่มันค่อนข้างน่ารำคาญและยุ่งยาก ฮีเลียมมีน้ำหนักเบามาก แต่ทำงานได้ดี
Winterflags

1
คุณสามารถบล็อกโฆษณาใน Helium หรือ Fluid ได้หรือไม่
powder366

5

ถ้าคุณต้องการ / ต้องการ"อยู่ด้านบนสุด" เท่านั้นสำหรับหน้าต่างTerminal.app ของคุณ(เช่นตัวฉันเอง) มีกระบังแบบหล่นลงของQuake / Guake - style , ปลั๊กอินSIMBL ที่พร้อมใช้งานซึ่งสนับสนุนการตรึงที่พื้นหน้า รวมทั้งหมด

ดังนั้นจึงเป็นไปได้แม้จะมีความเข้าใจผิดทั่วไปว่าไม่ใช่

ตั้งแต่MacOS 10.11 (El Capitan)ในการติดตั้ง / รันTotalTerminalคุณอาจต้องปิด  การป้องกันความสมบูรณ์ของระบบ :

csrutil enable --without debug

มันไม่ได้มาเปิด แต่ที่ผ่านมาการดำเนินการเปิดแหล่งที่ยังคงมีอยู่บนGitHub ดังนั้นหากคุณต้องการคุณสามารถตรวจสอบความสำเร็จของมันได้ ฉันส่งอีเมลให้นักพัฒนาซอฟต์แวร์ถาม แต่มันนานมากแล้วที่พวกเขาทำงานกับมันพวกเขาทำไม่ได้ (หรือจะไม่?) บอกฉันจริงๆ


TotalTerminal ไม่ได้รับการบำรุงรักษาในวันนี้ ฉันสิ้นสุดการเปลี่ยนเป็น iTerm เพื่อรับพฤติกรรมเดียวกัน: apple.stackexchange.com/questions/48796/ …
AndréMorujão

ถูกต้องฉันไม่แนะนำให้ใช้ แต่ถ้าใครบางคนมีแรงจูงใจที่จะใช้งานโซลูชันของตัวเองมันอาจคุ้มค่าที่จะดูซอร์สโค้ดที่เชื่อมโยง
เสียง

สำหรับเทอร์มินัลแบบลอยฉันกำลังใช้ Helium กับ gotty gotty ช่วยให้คุณสามารถเปิดเทอร์มินัลในเว็บเบราว์เซอร์และฮีเลียมเป็นเว็บเบราว์เซอร์ลอย
wesley6j

คุณจริง ๆ จริง ๆ และฉันหมายถึงจริง ๆ จริง ๆ ต้องทราบว่าคุณควรเปิดใช้งาน SIP อีกครั้งหลังจากทำสิ่งที่เอกสารของคุณ
Pryftan

@Pryftan nah, SIP ใช้สำหรับ pussies
เสียง

5

ฉันเพิ่งจะยอมแพ้กับ MYSIMBLE และล่ม Fenêtreเป็นแอพที่จ่ายเงินสำหรับแอปเวอร์ชัน lite ฟรีที่ใช้งานได้ดีจริง ๆ

ฉันใช้เพื่อเล่นหน้าต่างวิดีโอในหน้าต่างขณะทำงานหรือเพื่อให้คำแนะนำออนไลน์อยู่ด้านบน ไม่แน่ใจว่าคุณต้องการใช้มันเพื่ออะไร?


3

มีแอพฟรีที่เรียกว่ารหัสคีย์ใน Mac App Store ซึ่งเท่าที่ฉันสามารถบอกได้ว่าอยู่ด้านบนของหน้าต่างอื่น ๆ ทั้งหมด นอกเหนือจากรายการเมนูมันจะอยู่เหนือแอพอื่น ๆ ทั้งหมดรวมถึง Terminal และแถบ Safari URL


11
ทิปที่ยอดเยี่ยมเชมัสถ้าผู้ใช้ต้องการแอพนั้นโดยเฉพาะเพื่อให้อยู่ด้านบน ทีนี้ถ้าแน่นอนว่าการพูดอย่างสมมุติเขาต้องการให้แอพอื่นอยู่ด้านบนหรืออาจจะเป็นแอพที่แตกต่างกันเล็กน้อย
mysomic

2
ขอบคุณ! ใช้งานได้ดีสำหรับกรณีการใช้งาน "โปรดปิดสิ่งที่น่ากลัวนี้"
ecmanaut

3

ไม่ใช่คำตอบจริงๆ แต่เป็นเหมือนวิธีแก้ปัญหา: คุณสามารถใช้ Spectacle หรือแอพที่คล้ายกันเพื่อตั้งค่าเค้าโครงของเดสก์ท็อปที่ให้คุณติดตามหน้าต่างต้นฉบับได้อย่างรวดเร็ว

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

คว้า Spectacle จากที่นี่: https://www.spectacleapp.com


ยินดีต้อนรับสู่ถามความแตกต่างและสละเวลาในการโพสต์คำตอบ เพื่อเป็นการปรับปรุงที่แนะนำคุณควรให้ลิงก์ไปยังแอปพลิเคชันที่คุณอ้างอิงในโพสต์ของคุณ มันทำให้ประสบการณ์การใช้งานที่ดีขึ้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างคำตอบที่ดีโปรดดู: apple.stackexchange.com/help/how-to-answer
Allan

2
สวัสดีอัลลันขอบคุณมากที่ช่วยให้ AskDifferent เป็นสถานที่ที่เป็นระเบียบเรียบร้อยฉันจะทำตามคำแนะนำของคุณ ไชโย
i90rr

2

เพียงแค่ลากเทอร์มินัลเหนือหน้าต่างซาฟารีหลังจากพิมพ์ F3

สิ่งนี้จะทำการจัดเทอร์มินัลโดยอัตโนมัติในแนวตั้งทางด้านขวาของหน้าต่างซาฟารีเช่น ... เพื่อให้คุณสามารถทำงานและเข้าถึงเทอร์มินัลขณะที่อยู่ในหน้าต่างอื่น ...


ไม่มีอะไรเกิดขึ้นเมื่อฉันลองทำสิ่งนี้ หน้าต่างเทอร์มินัลเพิ่งกลับสู่ตำแหน่งเดิม
jmh


2

หากคุณเป็นนักพัฒนาซอฟต์แวร์และ SIP ของคุณถูกปิดใช้งาน (csrutil) คุณสามารถเปลี่ยนlevelคุณสมบัติการNSWindowใช้งานlldbได้ เมื่อคุณแนบกับกระบวนการ (เช่น App Store) ใน XCode เพียงพิมพ์:

(lldb) e NSWindow *$window = [(NSArray *)[NSApp windows] firstObject]
(lldb) po $window
<NSWindow: 0x600000d64200>

(lldb) po [$window setLevel:3]
resume debugging

PS: หากแอพมีหลาย windows ให้ใช้คำสั่งที่ถูกต้อง

(lldb) po [NSApp windows]

หากต้องการย้อนกลับมาเพียงปิดหน้าต่างหรือใช้งาน

(lldb) po [$window setLevel:0]

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

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