OSXでウィンドウを常に「常に上」に保つための安定した方法を探しています。
Afloatは、SIMBL / easySIMBLを必要とするアプリで、非常に安定していないようです。
より良い解決策はありますか?実際、これを実装するネイティブな方法がないことは驚くべきことです。
OSXでウィンドウを常に「常に上」に保つための安定した方法を探しています。
Afloatは、SIMBL / easySIMBLを必要とするアプリで、非常に安定していないようです。
より良い解決策はありますか?実際、これを実装するネイティブな方法がないことは驚くべきことです。
回答:
iOSシミュレーターにはオプションがあります/ありましたStay in Front
。非常に便利な機能であり、この動作を達成するためにAppleがサポートおよび認可した方法があることを証明します。
特にターミナルに追加する場合は、レーダーを開く価値があります。
バグID 27430873:ターミナルウィンドウに「Stay in Front」オプションを追加します。
残念ながら、Xcode 9はiOSシミュレーターでこの機能を削除しました。Appleのバグレポートを複製して、それを元に戻してください!
バグID 32852924:Xcode 9 iOSシミュレーターに「Stay in Front」オプションがありません
AppleのActivity Monitorアプリにも同様に、Keep CPU Windows on Top
他のすべてのアプリのウィンドウの上に小さなCPUグラフを浮かせるオプションがあります。
たとえば、インターネットブラウザウィンドウだけでこれを実行したい場合は、オープンソースのヘリウムアプリをご覧ください。無料で、ソースをダウンロードして、必要に応じて独自のバージョンをコンパイルすることもできます。
それは基本的に、他のすべてのウィンドウの上に常に浮かぶインターネットブラウザです。
編集:
Apple Mac App Store には、これと同じことを行うFluid Browserという新しいアプリもあります。数ドルの費用がかかりますが、非常にうまく機能し、Helium(2016年7月6日現在)よりも多くの機能を備えています。これで、2つの異なるアプリから選択できるようになりました。
Terminal.appウィンドウ(自分のように)の機能を「一番上に」維持したい場合は、Quake / Guakeスタイルのドロップダウンバイザーがあります。SIMBLプラグインは、フォアグラウンドへの固定をサポートします。TotalTerminal。
そうではないという一般的な誤解にもかかわらず、それは可能です。
以下のようMacOSの10.11(エルキャピタン)、実行/インストールするTotalTerminalを、あなたは無効にする必要があるかもしれません システムの整合性の保護を:
csrutil enable --without debug
それはもはやオープンソースではありませんが、最後のオープンソース実装はまだGitHubで利用可能です。ですから、あなたがそれを望んでいるなら、それがどのように達成されたかを正確に調査することができます。私は開発者に尋ねるようにメールしましたが、彼らがそれに取り組んでからとても長い間、彼らは本当に私に話すことができませんでした(またはそうしませんか?)。
Mac App StoreにはKey Codesと呼ばれる無料のアプリがありますが、これは他のすべてのウィンドウの上にとどまっていることがわかります。メニュー項目以外は、ターミナルやSafari URLバーを含む他のすべてのアプリの上にあります。
実際には答えではなく、回避策のようなものです。Spectacleまたは同様のアプリを使用して、元のウィンドウをたどることができるデスクトップレイアウトをすばやくセットアップできます。
もちろん、他の誰かがサポートチャットに参加するのを待っている間、空のウィンドウをじっと見つめるよりも便利なことに時間を使うことに決めた場合、これは役に立ちません-別の仮想デスクトップでの作業のように:(
ここからスペクタクルを入手:https : //www.spectacleapp.com
他のアプリケーションを閲覧したり使用したりしながらビデオを見たい場合は、Chrome 用のPicture-in-Picture拡張機能(Google提供)を使用できます。
あなたが開発者で、SIPが無効になっている場合(csrutil)level
、NSWindow
使用するプロパティを変更できます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]