Gibt es eine gute und stabile Möglichkeit, ein Fenster auf dem Mac immer im Vordergrund zu haben?

82

Ich bin auf der Suche nach einem stabilen Weg, um ein Fenster unter OSX immer im Vordergrund zu haben.

Afloat , eine App, die SIMBL / easySIMBL benötigt, was anscheinend nicht sehr stabil ist.

Gibt es bessere Lösungen? Eigentlich ist es überraschend, dass es keinen nativen Weg gibt, dies umzusetzen.

Himanshu P
quelle
2
Das HIG von OSX erlaubt dies nicht und wurde daher nie in das Fenstersystem programmiert. Normalerweise bedeutet dies, dass Sie versuchen, ein Problem auf falsche Weise zu lösen, oder dass eine von Ihnen verwendete App schlecht geschrieben ist und nicht das tut, was sie tun muss. Tatsächliche Lösungen benötigen entweder eine bessere Erklärung des Problems oder einen Programmierer, der die App repariert.
John Keates
2
Das Festlegen, dass das ausgewählte Fenster immer über anderen Fenstern angezeigt wird, kann zu unerwünschtem und unerwartetem Verhalten führen. Der Bildschirmschoner ist auch nur ein Fenster - möchten Sie darüber schweben? Was ist mit wichtigen Warnungen? Was ist, wenn zwei Apps immer auf dem neuesten Stand sein möchten? Sie könnten theoretisch einen Benutzer zum DoS machen, indem Sie Ihre Vollbild-App obenauf setzen und ihn abmelden. Aus diesem Grund gibt es in Cocoa kein Anwesen, das immer auf dem neusten Stand ist. Man kann nur einen relativen Z-Index angeben (und Apple rät davon ab). Grundsätzlich können Sie die App neu codieren oder SIMBL verwenden.
JJ
Möchten Sie dies für eine Anwendung unter Mac OS tun? Wenn ja, möchten Sie, dass es immer den Fokus hat (dh Tastendruck und Mausklick), oder möchten Sie, dass das Fenster einer App über allen anderen "schwebt", aber NICHT das aktive Fenster ist?
Kenjikato
7
FWIW Fedora hat dies immer zugelassen (seit Mitte der 90er Jahre in RH-Form) und ich hatte nie Probleme "unerwünschter" Natur. Es ist einfach nicht in OSX, wenn es
eingefügt werden
1
John Keates - Leider wissen Sie nicht, wovon Sie sprechen. Xcode hat genau dieses Verhalten mit seinem Simulator durchgeführt und es vor allen anderen Fenstern
angezeigt.

Antworten:

25

Ich stelle fest, dass der iOS-Simulator die Option hat / hatte Stay in Front. Sehr nützliche Funktionalität und beweist, dass es von Apple unterstützte und genehmigte Methoden gibt, um dieses Verhalten zu erreichen.

Es könnte sich lohnen, ein Radargerät zu öffnen, insbesondere, um es dem Terminal hinzuzufügen.

Sie können mein Radar duplizieren :

Bug-ID 27430873: Fügen Sie den Terminalfenstern die Option "Vorne bleiben" hinzu.

Bleib vorne Option in iOS Simulator

Leider hat Xcode 9 diese Funktion im iOS-Simulator entfernt. Bitte duplizieren Sie meinen Apple-Fehlerbericht, um auch diesen zurückzubringen!

Fehler-ID 32852924: In Xcode 9 iOS Simulator fehlt die Option "Vorne bleiben"

Apples Activity Monitor-App verfügt ebenfalls über die Option Keep CPU Windows on Top, die kleinen CPU-Grafiken über allen Fenstern anderer Apps zu platzieren:

Aktivitätsmonitor> Fenster> CPU-Fenster im Vordergrund lassen

pkamb
quelle
1
Was ist das für ein iOS-Simulator? Ist es wie ein Emulator? Ich habe nach einem gesucht.
Stimmen
@ tjt263 Der iOS-Simulator wird mit Xcode gebündelt und hauptsächlich zur Entwicklung von iOS-Apps verwendet
pkamb
1
Oh ok. Was ist ein Radar? Wie ein Fehlerbericht?
Stimmen
@ tjt263 ja, bugreport.apple.com
pkamb
3
Diese Funktionalität wird auch im vorinstallierten "Aktivitätsmonitor" angezeigt. Wenn Sie zum Menü "Fenster" wechseln, wird die Option "CPU-Windows im Vordergrund behalten" angezeigt. Es scheint also tatsächlich, als gäbe es einen offiziellen Apple Weg, dies zu tun. (Dies ist, was ich am 13.10.2 sehe)
Keybits
16

Wenn Sie dies nur als Beispiel für ein Internet-Browser-Fenster tun möchten, können Sie sich die Open-Source- Helium- App ansehen . Es ist kostenlos und Sie können auch den Quellcode herunterladen und Ihre eigene Version kompilieren, wenn Sie möchten.

Es ist im Grunde ein Internetbrowser, der immer über allen anderen Fenstern schwebt. Helium App

BEARBEITEN:

Es gibt auch eine neuere App aus dem Apple Mac App Store namens Fluid Browser , die dasselbe macht. Es kostet ein paar Dollar, funktioniert aber hervorragend und hat ein paar mehr Funktionen als Helium (Stand: 06.07.2016). Sie haben jetzt zwei verschiedene Apps zur Auswahl.

Fluid Browser

Kenjikato
quelle
Ich mochte das Fluid Browser-Erlebnis nicht. Ja, es hat ein paar weitere Funktionen, ist aber ziemlich fehlerhaft und umständlich. Helium ist sehr leicht, macht aber die Arbeit.
Winterflags
1
Können Sie Anzeigen in Helium oder Fluid blockieren?
powder366
5

Wenn Sie nur wirklich wollen / müssen „bleiben Sie auf“ Funktionalität für Ihr Terminal.app Fenster (wie ich), gibt es eine Quake / Guake -Stil Dropdown-Visier, SIMBL Plug-in zur Verfügung , die unterstützt wird gepinnt in den Vordergrund; TotalTerminal .

So ist es möglich, trotz der verbreiteten Missverständnisse, dass es nicht ist.

Ab MacOS 10.11 (El Capitan) müssen Sie zum Installieren / Ausführen von TotalTerminal möglicherweise den Systemintegritätsschutz deaktivieren  :

csrutil enable --without debug

Es ist kein Open Source mehr, aber die letzte Open Source-Implementierung ist immer noch auf GitHub verfügbar . Wenn Sie also dazu neigen, können Sie genau untersuchen, wie es erreicht wird. Ich habe den Entwickler per E-Mail gefragt, aber es ist schon so lange her, dass er es mir nicht wirklich sagen konnte (oder wollte?).

Stimmen
quelle
TotalTerminal wird heutzutage nicht mehr gewartet. Am Ende bin ich zu iTerm gewechselt, um das gleiche Verhalten zu erzielen
André Morujão
Das ist richtig, ich würde nicht vorschlagen, es zu verwenden. Wenn jedoch jemand motiviert ist, eine eigene Lösung zu implementieren, lohnt es sich möglicherweise, den verknüpften Quellcode zu durchsuchen.
Stimmen
Für das schwimmende Terminal verwende ich Helium mit Gotty. Mit gotty können Sie ein Terminal im Webbrowser öffnen und Helium ist ein schwebender Webbrowser.
Wesley6j
Sie, wirklich, wirklich, wirklich, und ich meine, wirklich, wirklich, müssen beachten, dass Sie SIP wieder aktivieren sollten, nachdem Sie das getan haben, was Sie dokumentiert haben.
Pryftan
@Pryftan nah, SIP ist für Fotzen.
Stimmen
5

Ich habe gerade mySIMBLE und afloat aufgegeben. Fenêtre ist eine kostenpflichtige App mit einer kostenlosen Lite-Version, die wirklich gut funktioniert.

Ich verwende es, um Videos Fenster für Fenster abzuspielen, während ich arbeite, oder um Online-Anweisungen immer im Vordergrund zu haben. Sie sind sich nicht sicher, wofür Sie es verwenden möchten?

Rudolf
quelle
3

Es gibt eine kostenlose App namens Key Codes im Mac App Store, die, soweit ich das beurteilen kann, über allen anderen Fenstern bleibt. Abgesehen von Menüelementen bleibt es auf allen anderen Apps, einschließlich dem Terminal und der Safari-URL-Leiste.

Seamus
quelle
11
Genialer Tipp Seamus, wenn der Einsatz speziell diese spezielle App benötigt, um an der Spitze zu bleiben. Nun, wenn er natürlich hypothetisch gesehen eine andere App haben will, oder vielleicht sogar ein paar andere, dann vielleicht nicht so toll?
Mysomic
2
Vielen Dank! Funktioniert hervorragend für den Anwendungsfall "Bitte verschließen Sie diese schreckliche Sache".
Ecmanaut
3

Keine wirkliche Antwort, sondern eher ein Workaround: Mit Spectacle oder einer ähnlichen App können Sie schnell ein Desktop-Layout einrichten, mit dem Sie dem ursprünglichen Fenster folgen können.

Natürlich hilft das nicht, wenn Sie darauf warten, dass jemand anderes an einem Support-Chat teilnimmt, und sich in der Zwischenzeit dazu entschließen, Ihre Zeit für etwas Besseres zu nutzen, als auf ein leeres Fenster zu starren - wie die Arbeit an einem anderen virtuellen Desktop :(

Greifen Sie von hier zu Spectacle: https://www.spectacleapp.com

i90rr
quelle
Willkommen bei Ask Different und nehmen Sie sich Zeit, um eine Antwort zu schreiben. Als empfohlene Verbesserung sollten Sie Links zu den Anwendungen bereitstellen, auf die Sie in Ihrem Beitrag verweisen. Es sorgt für eine bessere Benutzererfahrung. Weitere Informationen zum Erstellen einer guten Antwort finden Sie unter: apple.stackexchange.com/help/how-to-answer
Allan
2
Hallo Allan, vielen Dank, dass du AskDifferent zu einem ordentlichen und aufgeräumten Ort gemacht hast. Ich werde deinen Anweisungen folgen. Prost.
i90rr
2

Ziehen Sie einfach Ihr Terminal über das Safari-Fenster, nachdem Sie die F3-Taste gedrückt haben.

Dadurch wird das Terminal automatisch vertikal auf der rechten Seite des Safari-Fensters angeordnet, z. B., damit Sie einige Arbeiten ausführen und auf das Terminal zugreifen können, während Sie sich in einem anderen Fenster befinden.

Und ein
quelle
Wenn ich das versuche, passiert nichts. Das Terminalfenster kehrt gerade in die ursprüngliche Position zurück.
9.
2

Wenn Sie ein Entwickler sind und Ihr SIP deaktiviert ist (csrutil), können Sie die levelEigenschaften der NSWindowVerwendung ändern lldb. Sobald Sie eine Anlage in XCode an den Prozess (dh den App Store) angehängt haben, geben Sie Folgendes ein:

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

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

PS: Wenn die App über mehrere Fenster verfügt, rufen Sie mit dem Befehl das richtige Fenster ab

(lldb) po [NSApp windows]

Zum Zurückkehren einfach Fenster schließen oder benutzen

(lldb) po [$window setLevel:0]

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Marek H
quelle