Y a-t-il un moyen agréable et stable de garder une fenêtre 'Toujours au top' sur le Mac?


83

Je cherche un moyen stable de garder n'importe quelle fenêtre 'toujours au top' sur OSX.

A flot , une application qui nécessite cela nécessite SIMBL / easySIMBL, ce qui semble ne pas être très stable.

Y a-t-il de meilleures solutions? En fait, il est surprenant de constater qu’il n’existe aucun moyen natif d’implémenter cela.


2
Le HIG d’OSX ne le permet pas et n’a donc jamais été programmé dans le système de fenêtrage. Cela signifie généralement que vous essayez de résoudre un problème de la mauvaise manière ou qu'une application que vous utilisez est mal écrite et ne fait pas ce qu'elle doit faire. Les solutions réelles nécessiteront soit une meilleure explication du problème, soit un programmeur pour réparer l'application.
John Keates

2
Laisser l'utilisateur définir sa fenêtre de choix pour qu'il se trouve toujours au-dessus des autres fenêtres peut entraîner un comportement indésirable et inattendu. L'économiseur d'écran n'est également qu'une fenêtre. Voulez-vous flotter au-dessus de cela? Qu'en est-il des alertes importantes? Et si deux applications exigent d'être toujours au top? Vous pouvez théoriquement faire un utilisateur en mettant votre application plein écran au dessus et en vous déconnectant. C'est pourquoi il n'y a pas de propriété 'toujours sur le dessus' dans Cocoa. On ne peut spécifier qu’un indice Z relatif (et Apple recommande vivement de ne pas le faire). En gros, vous pouvez recoder l’application ou utiliser SIMBL.
JJ

Souhaitez-vous le faire pour n’importe quelle application sous Mac OS? Si c'est le cas, voulez-vous qu'elle ait toujours le focus (c'est-à-dire l'appui sur les touches et le clic de la souris) ou voulez-vous que la fenêtre d'une application "flotte" au-dessus de toutes les autres, sans être la fenêtre active?
Kenjikato

7
FWIW Fedora a toujours permis cela (depuis le milieu des années 90 sous forme RH) et je n’ai jamais eu de problèmes de nature "non désirée". Ce n'est tout simplement pas dans OSX qu'il est possible de l'installer.
nerak99

1
John Keates - Malheureusement, vous ne savez pas de quoi vous parlez. Xcode a eu ce comportement avec son simulateur, le gardant devant toutes les autres fenêtres, et ce comportement a existé pendant de nombreuses années jusqu'à ce qu'il soit finalement supprimé dans Xcode 9.
Logicsaurus Rex

Réponses:


25

Je noterai que le simulateur iOS a / avait l'option Stay in Front. Fonctionnalité extrêmement utile et prouve qu'il existe des moyens approuvés et pris en charge par Apple pour obtenir ce comportement.

Cela vaut peut-être la peine d’ouvrir un radar, en particulier pour l’ajout d’un terminal.

Vous pouvez dupliquer mon radar :

ID de bogue 27430873: Ajoutez l'option "Rester au premier plan" dans les fenêtres du terminal.

Option rester au premier plan dans le simulateur iOS

Malheureusement, Xcode 9 a supprimé cette fonctionnalité dans le simulateur iOS. Veuillez dupliquer mon rapport de bogue Apple pour le rapporter également!

ID de bogue 32852924: L'option "Rester au premier plan" manquait dans le simulateur iOS de Xcode 9

L'application Activity Monitor d'Apple a également la possibilité de faire Keep CPU Windows on Topflotter les petits graphiques de la CPU au-dessus des fenêtres de toutes les autres applications:

Activity Monitor> Fenêtre> Maintenir les fenêtres du processeur


1
Quel est ce simulateur iOS? Est-ce comme un émulateur? J'en cherchais un.
voix

@ tjt263 le simulateur iOS est fourni avec Xcode et est principalement utilisé pour développer des applications iOS
pkamb

1
Ah d'accord. Qu'est-ce qu'un radar? Comme un rapport de bogue?
voix

@ tjt263 oui, bugreport.apple.com
pkamb

3
Cette fonctionnalité est également indiquée dans le 'Moniteur d'activité' préinstallé. Si vous accédez au menu "Fenêtre", une option vous permettant de "Conserver le processeur sous Windows" apparaît. Il semble donc qu'il existe une interface Apple officielle. façon de faire cela. (C’est ce que je vois le 10.13.2)
keybits

16

Si vous cherchez à faire cela, par exemple, une fenêtre de navigateur Internet, vous pouvez regarder l’application open source Helium . C'est gratuit, et vous pouvez également télécharger le code source et compiler votre propre version si vous le souhaitez.

Il s’agit essentiellement d’un navigateur Internet qui flotte toujours au-dessus de toutes les autres fenêtres. Helium App

MODIFIER:

Il existe également une nouvelle application du Mac App Store, appelée Fluid Browser, qui fera la même chose. Il en coûte quelques dollars, mais il fonctionne très bien et comporte quelques fonctionnalités supplémentaires par rapport à Helium (à la date du 7/6/2016). Donc, vous avez maintenant deux applications différentes à choisir.

Navigateur de fluide


Je n'ai pas aimé l'expérience Fluid Browser. Oui, il a quelques fonctionnalités supplémentaires, mais il est assez bogué et lourd. L'hélium est très léger mais fait le travail.
Winterflags

1
Pouvez-vous bloquer les annonces dans Helium ou Fluid?
Poudre366

5

Si vous ne voulez vraiment / besoin « rester au top » fonctionnalité pour votre Terminal.app fenêtre (comme moi), il y a un Quake / Guake de pare-goutte vers le bas, SIMBL plug-in disponible qui prend en charge étant épinglé au premier plan; TotalTerminal .

C'est donc possible, malgré l'idée fausse commune que ce n'est pas le cas.

À partir de MacOS 10.11 (El Capitan) , pour installer / exécuter TotalTerminal , vous devrez peut-être désactiver la  protection de l'intégrité du système :

csrutil enable --without debug

Ce n'est plus open source, mais la dernière implémentation open source est toujours disponible sur GitHub . Donc, si vous êtes enclin à le faire, vous pouvez vous renseigner sur la manière dont cela est réalisé. J'ai envoyé un courrier électronique au développeur pour lui demander, mais cela fait si longtemps qu'ils n'ont pas travaillé dessus, ils ne pouvaient pas (ou ne voudraient pas?) Vraiment me le dire


TotalTerminal n'est plus maintenu ces jours-ci. J'ai fini par passer à iTerm pour avoir le même comportement: apple.stackexchange.com/questions/48796/…
André Morujão

C'est vrai, je ne suggérerais pas de l'utiliser. Mais si quelqu'un est motivé pour mettre en œuvre sa propre solution, il pourrait être intéressant de parcourir le code source lié.
voix

Pour les terminaux flottants, j'utilise de l'hélium avec du gotty. gotty vous permet d'ouvrir un terminal dans un navigateur Web et Helium est un navigateur Web flottant.
wesley6j

Vous avez vraiment, vraiment, et je veux dire vraiment, vraiment besoin de noter que vous devez réactiver SIP après avoir fait ce que vous documentez.
Pryftan

@Pryftan nah, SIP est pour les chattes.
Voix le

5

Je viens d'abandonner mySIMBLE et à flot. Fenêtre est une application payante avec une version lite gratuite qui fonctionne vraiment bien.

Je l'utilise pour lire des vidéos dans la fenêtre pendant que je travaille ou pour conserver les instructions en ligne au premier plan. Vous ne savez pas pourquoi vous voulez l'utiliser?


3

Il existe une application gratuite appelée Key Codes dans le Mac App Store qui, autant que je sache, reste au-dessus de toutes les autres fenêtres. Outre les éléments de menu, il reste au-dessus de toutes les autres applications, y compris le terminal et la barre d’URL de Safari.


11
Astuce brillante Seamus si l'opération a spécifiquement besoin de cette application pour rester au top. Maintenant, si, hypothétiquement parlant bien sûr, il souhaite qu'une application différente reste sur le dessus, voire peut-être même quelques applications différentes, alors peut-être pas si belle?
mysomic

2
Merci! Fonctionne très bien pour le cas d'utilisation "s'il vous plaît occlure cette chose épouvantable".
ecmanaut

3

Pas vraiment une réponse, mais plutôt une solution de contournement: vous pouvez utiliser Spectacle ou une application similaire pour configurer rapidement une disposition de bureau qui vous permet de suivre la fenêtre d'origine.

Bien sûr, cela ne vous aidera pas lorsque vous attendez que quelqu'un d'autre rejoigne un chat d'assistance et décide entre-temps d'utiliser votre temps pour quelque chose de plus utile que de regarder une fenêtre vierge - comme si vous travailliez sur un autre bureau virtuel :(

Prenez Spectacle à partir d'ici: https://www.spectacleapp.com


Bienvenue à Ask Different et prenez le temps de poster une réponse. Comme amélioration suggérée, vous devriez fournir des liens vers les applications auxquelles vous faites référence dans votre message. Cela permet une meilleure expérience utilisateur. Pour plus d'informations sur l'élaboration d'une bonne réponse, voir: apple.stackexchange.com/help/how-to-answer
Allan

2
Bonjour Allan, merci beaucoup d'avoir contribué à faire de AskDifferent un endroit propre et ordonné. Je suivrai vos instructions. À votre santé.
i90rr

2

glissez simplement votre terminal, sur la fenêtre du safari, après avoir tapé le F3.

cela arrange automatiquement le terminal, verticalement, sur le côté droit de la fenêtre du safari, par exemple ... afin que vous puissiez travailler et avoir accès au terminal, tandis que dans une autre fenêtre ...


Rien ne se passe quand j'essaye ça. La fenêtre du terminal revient à la position initiale.
jmh


2

Si vous êtes développeur et que votre SIP est désactivé (csrutil), vous pouvez modifier la levelpropriété d’ NSWindowutilisation lldb. Une fois que vous attachez au processus (c.-à-d. App Store) dans XCode, tapez simplement:

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

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

PS: Si l'application a plusieurs fenêtres, obtenez la bonne en utilisant la commande

(lldb) po [NSApp windows]

Pour revenir, fermez la fenêtre ou utilisez

(lldb) po [$window setLevel:0]

entrez la description de l'image ici entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.