Có cách nào hay, ổn định để giữ cửa sổ 'Luôn luôn đứng đầu' trên máy Mac không?


82

Tôi đang tìm kiếm một cách ổn định để giữ cho bất kỳ cửa sổ nào 'luôn luôn đứng đầu' trên OSX.

Afloat , một ứng dụng yêu cầu SIMBL / easySIMBL, có vẻ như nó không ổn định lắm.

Có giải pháp nào tốt hơn không? Thật đáng ngạc nhiên khi không có cách bản địa để thực hiện điều này.


2
HIG của OSX không cho phép và do đó nó không bao giờ được lập trình ở bất kỳ đâu trong hệ thống cửa sổ. Thông thường, điều đó có nghĩa là bạn đang cố gắng giải quyết vấn đề sai cách hoặc ứng dụng bạn sử dụng bị viết sai và không làm những gì cần làm. Các giải pháp thực tế sẽ cần một lời giải thích tốt hơn về vấn đề hoặc một lập trình viên để khắc phục ứng dụng.
John Keates

2
Để cho phép người dùng đặt cửa sổ lựa chọn của họ luôn ở trên các cửa sổ khác có thể gây ra hành vi không mong muốn và không mong muốn. Trình bảo vệ màn hình cũng chỉ là một cửa sổ - bạn có muốn nổi lên trên đó không? Còn những cảnh báo quan trọng thì sao? Điều gì xảy ra nếu hai ứng dụng yêu cầu luôn luôn ở trên đầu? Về mặt lý thuyết, bạn có thể làm một người dùng bằng cách đặt ứng dụng toàn màn hình của bạn lên đầu và đăng xuất chúng. Đây là lý do tại sao không có tài sản 'luôn luôn đứng đầu' trong ca cao. Người ta chỉ có thể chỉ định một chỉ số Z tương đối (và Apple thúc giục không làm điều đó). Các tùy chọn của bạn về cơ bản là mã lại ứng dụng hoặc sử dụng SIMBL.
JJ

Bạn đang muốn làm điều này cho bất kỳ ứng dụng nào trong Mac OS? Nếu vậy, bạn có muốn nó luôn có tiêu điểm (nghĩa là nhấn phím và nhấp chuột) hoặc bạn muốn cửa sổ của ứng dụng "nổi phía trên" tất cả các ứng dụng khác, nhưng KHÔNG phải là cửa sổ hoạt động?
kenjikato

7
FWIW Fedora luôn cho phép điều này (từ giữa những năm 90 ở dạng RH) và tôi chưa bao giờ có bất kỳ vấn đề nào về bản chất "không mong muốn". Nó chỉ không có trong OSX khi nó có thể được đưa vào.
nerak99

1
John Keates - Thật không may, bạn không biết bạn đang nói về cái gì. Xcode đã thực hiện hành vi này với Trình mô phỏng của họ, giữ nó trước tất cả các cửa sổ khác và hành vi này đã tồn tại trong nhiều năm cho đến khi cuối cùng họ gỡ bỏ nó trong Xcode 9.
Logicsaurus Rex

Câu trả lời:


25

Tôi sẽ lưu ý rằng Trình mô phỏng iOS có / có tùy chọn Stay in Front. Chức năng cực kỳ hữu ích và chứng minh rằng có những cách được Apple hỗ trợ và xử phạt để đạt được hành vi này.

Có thể đáng để mở một radar, đặc biệt là để thêm vào Terminal.

Bạn có thể nhân đôi radar của tôi :

ID lỗi 27430873: Thêm tùy chọn "Ở phía trước" vào cửa sổ Terminal.

Tùy chọn Luôn ở phía trước trong Trình mô phỏng iOS

Thật không may, Xcode 9 đã loại bỏ tính năng này trong Trình mô phỏng iOS. Vui lòng sao chép báo cáo lỗi Apple của tôi để mang lại điều đó!

ID lỗi 32852924: Trình mô phỏng iOS Xcode 9 bị thiếu tùy chọn "Ở phía trước"

Ứng dụng Trình giám sát hoạt động của Apple tương tự có tùy chọn Keep CPU Windows on Topnổi các đồ thị CPU nhỏ trên đầu tất cả các cửa sổ của các ứng dụng khác:

Giám sát hoạt động> Cửa sổ> Giữ CPU Windows trên cùng


1
Trình giả lập iOS này là gì? Nó giống như một trình giả lập? Tôi đã tìm kiếm một.
lên tiếng vào

@ tjt263 trình giả lập iOS được gói cùng với Xcode và chủ yếu được sử dụng để phát triển ứng dụng iOS
pkamb

1
Ồ được thôi. Radar là gì? Giống như một báo cáo lỗi?
lên tiếng vào

@ tjt263 có, bugreport.apple.com
pkamb

3
Chức năng này cũng được hiển thị trong 'Trình giám sát hoạt động' được cài đặt sẵn - nếu bạn đi tới trình đơn 'Cửa sổ', bạn sẽ thấy tùy chọn 'Giữ CPU Windows trên cùng' - vì vậy nó thực sự giống như một Apple chính thức cách để làm điều này. (Đây là những gì tôi thấy trên 10.13.2)
keybits

16

Nếu bạn đang muốn làm điều này chỉ với một cửa sổ trình duyệt internet, bạn có thể xem ứng dụng Helium nguồn mở . Nó miễn phí và bạn cũng có thể tải xuống nguồn và biên dịch phiên bản của riêng bạn nếu bạn muốn.

Về cơ bản, nó là một trình duyệt internet luôn nổi trên tất cả các cửa sổ khác. Ứng dụng Helium

BIÊN TẬP:

Ngoài ra còn có một ứng dụng mới hơn từ Apple Mac App Store có tên Fluid Browser sẽ làm điều tương tự. Nó có giá vài đô la, nhưng nó hoạt động xuất sắc và có một vài tính năng hơn Helium (kể từ ngày 7/6/2016). Vì vậy, bây giờ bạn có hai ứng dụng khác nhau để lựa chọn.

Trình duyệt chất lỏng


Tôi không thích trải nghiệm Fluid Browser. Vâng, nó có thêm một vài tính năng nhưng nó khá lỗi và cồng kềnh. Helium rất nhẹ nhưng thực hiện công việc.
Winterflags

1
Bạn có thể chặn quảng cáo trong Helium hoặc Fluid không?
bột366

5

Nếu bạn chỉ thực sự muốn / cần chức năng "ở trên đỉnh" cho cửa sổ Terminal.app (như bản thân tôi), thì có một tấm che thả kiểu Quake / Guake , trình cắm SIMBL có sẵn hỗ trợ được ghim vào nền trước; Tổng số .

Vì vậy, nó có thể, mặc dù quan niệm sai lầm phổ biến rằng nó không phải.

Kể từ MacOS 10.11 (El Capitan) , để cài đặt / chạy TotalTerminal , bạn có thể cần phải tắt  Bảo vệ toàn vẹn hệ thống :

csrutil enable --without debug

Nó không còn là nguồn mở, nhưng việc triển khai nguồn mở cuối cùng vẫn có sẵn trên GitHub . Vì vậy, nếu bạn có khuynh hướng, bạn có thể điều tra chính xác cách thức đạt được. Tôi đã gửi email cho nhà phát triển để hỏi, nhưng đã quá lâu kể từ khi họ làm việc với nó, họ không thể (hoặc sẽ không?) Thực sự nói với tôi.


TotalTerminal không còn được duy trì trong những ngày này. Tôi đã kết thúc việc chuyển sang iTerm để có được hành vi tương tự: apple.stackexchange.com/questions/48796/ Kẻ
André Morujão

Điều đó đúng, tôi sẽ không đề nghị sử dụng nó. Nhưng nếu ai đó có động lực để thực hiện giải pháp của riêng họ, có thể đáng để duyệt mã nguồn được liên kết.
lên tiếng vào

Đối với thiết bị đầu cuối nổi, tôi đang sử dụng Helium với gotty. gotty cho phép bạn mở một thiết bị đầu cuối trong trình duyệt web và Helium là một trình duyệt web nổi.
wesley6j

Bạn thực sự, thực sự, thực sự, và tôi thực sự thực sự có ý nghĩa thực sự, cần lưu ý rằng bạn nên kích hoạt lại SIP sau khi làm những gì bạn làm tài liệu.
Pryftan

@Pryftan nah, SIP là dành cho pussies.
lên tiếng

5

Tôi vừa mới từ bỏ mySIMBLE và nổi. Fenêtre là một ứng dụng trả phí với phiên bản lite miễn phí hoạt động thực sự tốt.

Tôi sử dụng nó để phát video cửa sổ trong cửa sổ trong khi tôi làm việc hoặc để giữ các hướng dẫn trực tuyến trên đầu trang. Không chắc chắn những gì bạn muốn sử dụng nó cho?


3

Có một ứng dụng miễn phí có tên Mã khóa trong Mac App Store mà theo như tôi có thể nói là vẫn ở trên tất cả các cửa sổ khác. Khác với các mục menu, nó vẫn ở trên tất cả các ứng dụng khác, bao gồm cả Terminal và thanh URL Safari.


11
Seamus tip tuyệt vời nếu op đặc biệt cần ứng dụng cụ thể đó để luôn đứng đầu. Bây giờ, nếu, theo giả thuyết tất nhiên, anh ấy muốn một ứng dụng khác để luôn đứng đầu, hoặc thậm chí là một vài ứng dụng khác nhau, thì có lẽ không quá sterling?
mysomic

2
Cảm ơn! Hoạt động tuyệt vời cho trường hợp sử dụng "xin vui lòng bao gồm điều khủng khiếp này".
ecmanaut

3

Không thực sự là một câu trả lời mà giống như một cách giải quyết: bạn có thể sử dụng Spectacle hoặc một ứng dụng tương tự để nhanh chóng thiết lập bố cục máy tính để bàn cho phép bạn theo dõi cửa sổ ban đầu.

Tất nhiên, điều này sẽ không hữu ích khi bạn chờ đợi người khác tham gia trò chuyện hỗ trợ và trong khi đó quyết định sử dụng thời gian của bạn cho việc gì đó hữu ích hơn là nhìn chằm chằm vào một cửa sổ trống - như làm việc trên máy tính để bàn ảo khác :(

Lấy cảnh tượng từ đây: https : //www.spectaclản.com


Chào mừng bạn đến hỏi khác nhau và dành thời gian để gửi câu trả lời. Là một cải tiến được đề xuất, bạn nên cung cấp các liên kết đến (các) ứng dụng mà bạn tham chiếu trong bài đăng của mình. Nó làm cho trải nghiệm người dùng tốt hơn. Để biết thêm thông tin về việc tạo ra một câu trả lời hay, hãy xem: apple.stackexchange.com/help/how-to-answer
Allan

2
Xin chào Allan, cảm ơn bạn rất nhiều vì đã giúp biến AskDifferent thành một nơi gọn gàng và ngăn nắp, tôi sẽ làm theo hướng dẫn của bạn. Chúc mừng.
i90rr

2

chỉ cần kéo thiết bị đầu cuối của bạn, qua cửa sổ safari, sau khi nhập F3.

điều này tự động sắp xếp thiết bị đầu cuối, theo chiều dọc, ở phía bên phải của cửa sổ safari, ví dụ ... để bạn có thể thực hiện một số công việc và có quyền truy cập vào thiết bị đầu cuối, trong khi ở một cửa sổ khác ...


Không có gì xảy ra khi tôi thử điều này. Cửa sổ đầu cuối chỉ trở về vị trí ban đầu.
jmh


2

Nếu bạn là nhà phát triển và SIP của bạn bị vô hiệu hóa (csrutil), người ta có thể thay đổi levelthuộc tính NSWindowsử dụng lldb. Khi bạn đính kèm vào tiến trình (tức là App Store) trong XCode, chỉ cần gõ:

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

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

PS: Nếu ứng dụng có nhiều cửa sổ, hãy sử dụng lệnh chính xác

(lldb) po [NSApp windows]

Để trở lại chỉ cần đóng cửa sổ hoặc sử dụng

(lldb) po [$window setLevel:0]

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.