Adakah cara bagus dan stabil untuk menjaga jendela 'Selalu di atas' di Mac?

82

Saya mencari cara yang stabil untuk menjaga jendela 'selalu di atas' di OSX.

Afloat , aplikasi yang membutuhkan SIMBL / easySIMBL, yang tampaknya tidak terlalu stabil.

Apakah ada solusi yang lebih baik? Sebenarnya mengejutkan bahwa tidak ada cara asli untuk mengimplementasikan ini.

Himanshu P
sumber
2
HIG OSX tidak mengizinkannya dan karenanya tidak pernah diprogram di mana saja ke dalam sistem windowing. Biasanya itu berarti Anda mencoba memecahkan masalah dengan cara yang salah, atau aplikasi yang Anda gunakan ditulis dengan buruk dan tidak melakukan apa yang perlu dilakukan. Solusi aktual akan memerlukan penjelasan masalah yang lebih baik, atau pemrogram untuk memperbaiki aplikasi.
John Keates
2
Membiarkan pengguna mengatur jendela pilihannya untuk selalu berada di atas jendela lain dapat menyebabkan perilaku yang tidak diinginkan dan tidak terduga. Screen saver juga hanya sebuah jendela - apakah Anda ingin melayang di atasnya? Bagaimana dengan peringatan penting? Bagaimana jika dua aplikasi menuntut untuk selalu di atas? Secara teoritis Anda dapat melakukan DoS pengguna dengan meletakkan aplikasi layar penuh Anda di atas dan keluar. Inilah sebabnya mengapa tidak ada properti 'selalu ada di atas' di Kakao. Seseorang hanya dapat menentukan indeks Z relatif (dan Apple mendesak untuk tidak melakukan itu). Opsi Anda pada dasarnya mengode ulang aplikasi, atau menggunakan SIMBL.
JJ
Apakah Anda ingin melakukan ini untuk aplikasi apa pun di Mac OS? Jika demikian, apakah Anda ingin selalu fokus (artinya penekanan tombol dan klik mouse), atau Anda ingin jendela aplikasi "melayang di atas" yang lain, tetapi BUKAN jendela yang aktif?
kenjikato
7
FWIW Fedora selalu mengizinkan ini (sejak pertengahan 90-an dalam bentuk RH) dan saya tidak pernah memiliki masalah dengan sifat "yang tidak diinginkan". Itu tidak ada di OSX ketika itu bisa dimasukkan.
nerak99
1
John Keates - Sayangnya Anda tidak tahu apa yang Anda bicarakan. Xcode melakukan perilaku ini dengan Simulator mereka, menjaganya tetap di depan semua jendela lain, dan perilaku ini ada selama bertahun-tahun sampai mereka akhirnya menghapusnya di Xcode 9.
Logicsaurus Rex

Jawaban:

25

Saya akan perhatikan bahwa Simulator iOS memiliki / memiliki opsi Stay in Front. Fungsionalitas yang sangat berguna, dan membuktikan bahwa ada cara yang didukung Apple dan disetujui untuk mencapai perilaku ini.

Mungkin layak membuka radar, terutama untuk menambah Terminal.

Anda dapat menggandakan radar saya :

Bug ID 27430873: Tambahkan opsi "Tetap di Depan" ke jendela Terminal.

Tetap di Opsi depan di iOS Simulator

Sayangnya, Xcode 9 menghapus fitur ini di Simulator iOS. Silakan duplikat laporan bug Apple saya untuk membawanya kembali juga!

Bug ID 32852924: Xcode 9 iOS Simulator tidak memiliki opsi "Tetap di Depan"

Aplikasi Monitor Aktivitas Apple juga memiliki opsi Keep CPU Windows on Topyang mengapungkan grafik CPU kecil di atas semua jendela aplikasi lain:

Monitor Aktivitas> Jendela> Pertahankan CPU Windows di Atas

pkamb
sumber
1
Apa simulator iOS ini? Apakah ini seperti sebuah emulator? Saya telah mencari satu.
Suara
@ tjt263 simulator iOS dibundel dengan Xcode dan terutama digunakan untuk mengembangkan aplikasi iOS
pkamb
1
Oh oke. Apa itu radar? Suka laporan bug?
Suara
@ tjt263 ya, bugreport.apple.com
pkamb
3
Fungsionalitas ini juga ditampilkan di 'Monitor Aktivitas' yang telah diinstal sebelumnya - jika Anda masuk ke menu 'Jendela', Anda akan melihat opsi untuk 'Simpan CPU Windows di Atas' - jadi memang sepertinya ada Apple resmi cara untuk melakukan ini. (Inilah yang saya lihat pada 10.13.2)
keybits
16

Jika Anda ingin melakukan ini hanya untuk mengatakan jendela browser internet Anda bisa melihat pada aplikasi open source Helium . Ini gratis, dan Anda juga dapat mengunduh sumber dan kompilasi versi Anda sendiri jika mau.

Ini pada dasarnya browser internet yang selalu mengapung di atas semua jendela lainnya. Aplikasi Helium

SUNTING:

Ada juga aplikasi yang lebih baru dari Apple Mac App Store bernama Fluid Browser yang akan melakukan hal yang sama. Harganya beberapa $ s, tetapi bekerja sangat baik dan memiliki beberapa fitur lebih dari Helium (per 7/6/2016). Jadi sekarang Anda memiliki dua aplikasi berbeda untuk dipilih.

Browser Cairan

kenjikato
sumber
Saya tidak suka pengalaman Fluid Browser. Ya, ia memiliki beberapa fitur lagi tetapi cukup buggy dan rumit. Helium sangat ringan tetapi melakukan pekerjaan.
Winterflags
1
Bisakah Anda memblokir iklan di Helium atau Fluid?
powder366
5

Jika Anda hanya benar-benar ingin / memerlukan fungsionalitas "tetap di atas" untuk jendela Terminal.app Anda (seperti saya), ada pelindung drop-down gaya Gempa / Guake , plug-in SIMBL tersedia yang mendukung disematkan ke latar depan; TotalTerminal .

Jadi itu mungkin, meskipun ada kesalahpahaman umum bahwa itu tidak benar.

Pada MacOS 10.11 (El Capitan) , untuk menginstal / menjalankan TotalTerminal , Anda mungkin perlu menonaktifkan  Perlindungan Integritas Sistem :

csrutil enable --without debug

Ini bukan lagi open source, tetapi implementasi open source terakhir masih tersedia di GitHub . Jadi, jika Anda cenderung, Anda bisa menyelidiki dengan tepat bagaimana itu dicapai. Saya mengirim email kepada pengembang untuk bertanya, tetapi sudah begitu lama sejak mereka mengerjakannya, mereka tidak bisa (atau tidak?) Benar-benar memberi tahu saya.

suara-suara
sumber
TotalTerminal tidak lagi dipertahankan hari ini. Saya akhirnya beralih ke iTerm untuk mendapatkan perilaku yang sama: apple.stackexchange.com/questions/48796/…
André Morujão
Itu benar, saya tidak akan menyarankan menggunakannya. Tetapi jika seseorang termotivasi untuk mengimplementasikan solusi mereka sendiri, mungkin ada baiknya menelusuri kode sumber yang tertaut.
Suara
Untuk terminal apung, saya menggunakan Helium dengan gotty. Gotty memungkinkan Anda untuk membuka terminal di browser web dan Helium adalah browser web mengambang.
wesley6j
Anda benar-benar, sangat, sangat, dan maksud saya benar-benar sangat, perlu dicatat bahwa Anda harus mengaktifkan kembali SIP setelah melakukan apa yang Anda dokumentasikan.
Pryftan
@Pryftan nah, SIP adalah untuk pussies.
Suara
5

Saya baru saja menyerah pada mySIMBLE dan mengapung. Fenêtre adalah aplikasi berbayar untuk versi lite gratis yang bekerja sangat baik.

Saya menggunakannya untuk memutar jendela video di jendela saat saya bekerja atau untuk menjaga instruksi online di atas. Tidak yakin untuk apa Anda menggunakannya?

Rudolf
sumber
3

Ada aplikasi gratis yang disebut Kode Kunci di Mac App Store yang sejauh yang bisa saya katakan tetap ada di atas semua jendela lainnya. Selain item menu, ia tetap berada di atas semua aplikasi lain termasuk Terminal dan bilah URL Safari.

Seamus
sumber
11
Tip brilian Seamus jika op secara spesifik membutuhkan aplikasi tertentu untuk tetap di atas. Sekarang, jika, tentu saja, secara hipotetis, dia ingin aplikasi yang berbeda tetap di atas, atau bahkan mungkin beberapa aplikasi yang berbeda, maka mungkin tidak begitu sterling?
mysomic
2
Terima kasih! Bekerja sangat baik untuk use case "tolong tutupi hal mengerikan ini".
ecmanaut
3

Tidak benar-benar jawaban tetapi lebih seperti solusi: Anda dapat menggunakan Spectacle atau aplikasi serupa untuk dengan cepat mengatur tata letak desktop yang memungkinkan Anda mengikuti jendela asli.

Tentu saja ini tidak akan membantu ketika Anda sedang menunggu orang lain untuk bergabung dengan obrolan dukungan dan sementara itu memutuskan untuk menggunakan waktu Anda untuk sesuatu yang lebih berguna daripada menatap jendela kosong - seperti bekerja di desktop virtual lain :(

Raih Spectacle dari sini: https://www.spectacleapp.com

i90rr
sumber
Selamat Datang di Tanya Berbeda dan luangkan waktu untuk mengirim jawaban. Sebagai peningkatan yang disarankan, Anda harus memberikan tautan ke aplikasi yang Anda referensikan dalam posting Anda. Itu membuat untuk pengalaman pengguna yang lebih baik. Untuk informasi lebih lanjut tentang menyusun jawaban yang baik, lihat: apple.stackexchange.com/help/how-to-answer
Allan
2
Halo Allan, terima kasih banyak telah membantu menjadikan AskDifferent tempat yang rapi dan rapi, saya akan mengikuti instruksi Anda. Tepuk tangan.
i90rr
2

cukup seret terminal Anda, di atas jendela safari, setelah mengetik F3.

ini secara otomatis mengatur terminal, secara vertikal, di sisi kanan jendela safari, misalnya ... sehingga Anda dapat melakukan beberapa pekerjaan dan memiliki akses ke terminal, sementara di jendela lain ...

Anda
sumber
Tidak ada yang terjadi ketika saya mencoba ini. Jendela terminal baru saja kembali ke posisi semula.
jmh
2

Jika Anda seorang pengembang dan SIP Anda dinonaktifkan (csrutil) orang dapat mengubah levelproperti NSWindowmenggunakan lldb. Setelah Anda melampirkan ke proses (yaitu App Store) di XCode ketik saja:

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

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

PS: Jika aplikasi memiliki banyak windows, dapatkan yang benar menggunakan perintah

(lldb) po [NSApp windows]

Untuk kembali, tutup saja jendela atau gunakan

(lldb) po [$window setLevel:0]

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

Marek H
sumber