Macでウィンドウを「常に手前に表示」するための便利で安定した方法はありますか?


82

OSXでウィンドウを常に「常に上」に保つための安定した方法を探しています。

Afloatは、SIMBL / easySIMBLを必要とするアプリで、非常に安定していないようです。

より良い解決策はありますか?実際、これを実装するネイティブな方法がないことは驚くべきことです。


2
OSXのHIGでは許可されていないため、ウィンドウシステムにプログラムされることはありませんでした。通常、それはあなたが間違った方法で問題を解決しようとしていること、またはあなたが使用するアプリがひどく書かれており、必要なことをしていないことを意味します。実際の解決策には、問題のより良い説明、またはアプリを修正するプログラマーが必要です。
ジョンキーツ

2
ユーザーが自分の選択ウィンドウを常に他のウィンドウの上に配置できるようにすると、望ましくない予期しない動作が発生する可能性があります。スクリーンセーバーは単なるウィンドウでもあります。その上にフロートさせますか?重要なアラートはどうですか?2つのアプリが最前面に表示されることを要求する場合はどうなりますか?理論的には、フルスクリーンアプリを一番上に置いてログアウトすることで、ユーザーにDoSをかけることができます。これが、Cocoaに「常にトップ」のプロパティがない理由です。相対Zインデックスのみを指定できます(そして、Appleはそれを行うことを強くお勧めします)。オプションは、基本的にアプリを再コーディングするか、SIMBLを使用します。
JJ

Mac OSのアプリケーションでこれを実行しようとしていますか?その場合、常にキーを押して(キーを押してマウスをクリックする)、アプリのウィンドウを他のすべてのウィンドウの「上に浮かせる」が、アクティブなウィンドウにはしないようにしますか?
-kenjikato

7
FWIW Fedoraは常にこれを許可しており(RH形式では90年代半ば以降)、「望ましくない」性質の問題は一度もありませんでした。入れられるのはOSXだけではありません
。– nerak99

1
ジョン・キーツ-残念ながら、あなたは何について話しているのかわかりません。Xcodeは他のすべてのウィンドウの前でそれを維持、彼らのシミュレータで、この非常に行動をした、と彼らは最終的にはXcodeの9で、それを削除するまで、この動作は、長年にわたって存在していた
Logicsaurusレックス

回答:


25

iOSシミュレーターにはオプションがあります/ありましたStay in Front。非常に便利な機能であり、この動作を達成するためにAppleがサポートおよび認可した方法があることを証明します。

特にターミナルに追加する場合は、レーダーを開く価値があります。

私のレーダー複製できます:

バグID 27430873:ターミナルウィンドウに「Stay in Front」オプションを追加します。

iOSシミュレーターの最前線オプション

残念ながら、Xcode 9はiOSシミュレーターでこの機能を削除しました。Appleのバグレポートを複製して、それを元に戻してください!

バグID 32852924:Xcode 9 iOSシミュレーターに「Stay in Front」オプションがありません

AppleのActivity Monitorアプリにも同様に、Keep CPU Windows on Top他のすべてのアプリのウィンドウの上に小さなCPUグラフを浮かせるオプションがあります。

アクティビティモニター>ウィンドウ> CPUウィンドウを上に保持


1
このiOSシミュレーターとは何ですか?エミュレータのようなものですか?探していました。

@ tjt263 iOSシミュレーターはXcodeにバンドルされており、主にiOSアプリの開発に使用されます
-pkamb

1
わかった レーダーとは何ですか?バグレポートが好きですか?

@ tjt263はい、bugreport.apple.com
pkamb

3
この機能は、プリインストールされた「アクティビティモニター」にも表示されます-「ウィンドウ」メニューに移動すると、「CPUウィンドウを上に保つ」オプションが表示されます-公式のAppleがあるように見えますこれを行う方法。(これは10.13.2で見たものです)
キービット

16

たとえば、インターネットブラウザウィンドウだけでこれを実行したい場合は、オープンソースのヘリウムアプリをご覧ください。無料で、ソースダウンロードして、必要に応じて独自のバージョンをコンパイルすることもできます。

それは基本的に、他のすべてのウィンドウの上に常に浮かぶインターネットブラウザです。 ヘリウムアプリ

編集:

Apple Mac App Store には、これと同じことを行うFluid Browserという新しいアプリもあります。数ドルの費用がかかりますが、非常にうまく機能し、Helium(2016年7月6日現在)よりも多くの機能を備えています。これで、2つの異なるアプリから選択できるようになりました。

流体ブラウザ


Fluid Browserのエクスペリエンスは好きではありませんでした。はい、さらにいくつかの機能がありますが、かなりバグが多くて扱いにくいです。ヘリウムは非常に軽量ですが、仕事をします。
Winterflags

1
ヘリウムまたは液体の広告をブロックできますか?
powder366

5

Terminal.appウィンドウ(自分のように)の機能を「一番上に」維持したい場合は、Quake / Guakeスタイルのドロップダウンバイザーあります。SIMBLプラグインは、フォアグラウンドへの固定をサポートます。TotalTerminal

そうではないという一般的な誤解にもかかわらず、それは可能です。

以下のようMacOSの10.11(エルキャピタン)、実行/インストールするTotalTerminalを、あなたは無効にする必要があるかもしれません  システムの整合性の保護を

csrutil enable --without debug

それはもはやオープンソースではありませんが、最後のオープンソース実装はまだGitHubで利用可能です。ですから、あなたがそれを望んでいるなら、それがどのように達成されたかを正確に調査することができます。私は開発者に尋ねるようにメールしましたが、彼らがそれに取り組んでからとても長い間、彼らは本当に私に話すことができませんでした(またはそうしませんか?)。


TotalTerminalは最近では維持されなくなりました。私は、同じ動作を取得するためにITERMに切り替えてしまった:apple.stackexchange.com/questions/48796/...を
アンドレMorujão

そうです、私はそれを使うことを提案しません。しかし、誰かが独自のソリューションを実装する意欲がある場合は、リンクされたソースコードを参照する価値があります。

フローティングターミナルでは、ヘリウムをゴッティとともに使用しています。gottyを使用すると、Webブラウザーで端末を開くことができ、HeliumはフローティングWebブラウザーです。
wesley6j

あなたは本当に、本当に、本当に、そして私は本当に本当にそうであるということを意味します、あなたが文書化したことをした後にSIPを再び有効にする必要があることに注意する必要があります。
プリフタン

@Pryftan nah、SIPは猫用です。
発言

5

私はmySIMBLEとafloatをあきらめました。Fenêtreは有料のアプリで、無料のライトバージョンが非常にうまく機能します。

作業中にウィンドウ内でビデオを再生したり、オンラインでの指示を常に維持したりするために使用します。何に使いたいかわからない?


3

Mac App StoreにはKey Codesと呼ばれる無料のアプリがありますが、これは他のすべてのウィンドウの上にとどまっていることがわかります。メニュー項目以外は、ターミナルやSafari URLバーを含む他のすべてのアプリの上にあります。


11
Opがその特定のアプリを常にトップに維持する必要がある場合、すばらしいヒントをSeamusに。もちろん、仮に言うと、もし彼が別のアプリを常にトップにしたい、あるいはおそらくいくつかの異なるアプリでさえも望んでいるのなら、おそらくそれほどスターリングではないでしょうか?
mysomic

2
ありがとう!「この恐ろしいものを隠してください」というユースケースに最適です。
ecmanaut

3

実際には答えではなく、回避策のようなものです。Spectacleまたは同様のアプリを使用して、元のウィンドウをたどることができるデスクトップレイアウトをすばやくセットアップできます。

もちろん、他の誰かがサポートチャットに参加するのを待っている間、空のウィンドウをじっと見つめるよりも便利なことに時間を使うことに決めた場合、これは役に立ちません-別の仮想デスクトップでの作業のように:(

ここからスペクタクルを入手:https : //www.spectacleapp.com


Ask Differentへようこそ。回答を投稿するには時間をかけてください。改善案として、投稿で参照するアプリケーションへのリンクを提供する必要があります。ユーザーエクスペリエンスが向上します。適切な回答の作成の詳細については、apple.stackexchange.com
アラン

2
こんにちは、アラン、AskDifferentをきちんとした場所にするのを手伝ってくれてありがとう、私はあなたの指示に従います。乾杯。
-i90rr

2

F3を入力した後、端末をサファリウィンドウにドラッグするだけです。

これにより、たとえば、サファリウィンドウの右側に、ターミナルが垂直に自動的に配置されます。したがって、別のウィンドウで作業を行ったり、ターミナルにアクセスしたりできます


これを試しても何も起こりません。端末ウィンドウは元の位置に戻ります。
-jmh


2

あなたが開発者で、SIPが無効になっている場合(csrutil)levelNSWindow使用するプロパティを変更できますlldb。XCodeでプロセス(つまりApp Store)にアタッチしたら、次のように入力します。

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

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

PS:アプリに複数のウィンドウがある場合、コマンドを使用して正しいウィンドウを取得してください

(lldb) po [NSApp windows]

戻るには、ウィンドウを閉じるか、

(lldb) po [$window setLevel:0]

ここに画像の説明を入力してください ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.