全画面表示中にメニューバーが表示されないようにする


70

私がフルスクリーンで使用するほとんどすべてのアプリケーション(Firefox、MacVim、およびターミナルを含む)には、画面上部にタブがあります。

問題は、タブに到達するためにマウスを動かすと、画面の上部に誤って触れてしまい、タブの上にOSメニューが表示されることです。

イラスト-フルスクリーンアプリで画面の上部にマウスを移動すると、メニューバーが表示される

この動作を変更する方法はありますか?フルスクリーンアプリを使用しているときに、マウスが画面の上部に触れたとしても、メニューバーが非表示のままになる場合は、この方法をお勧めします。


5
ええ、これは本当に迷惑です。defaults write変数が編集できる場所を望みます。しかし、今のところ私はそのようなことについて聞いたことがない。フルスクリーンでVMを使用する場合、特に面倒です。Ubuntuの上部にはメニューバーがあり、私はそのように気に入っています。しかし、私は常にOSXメニューバーを表示させています。:(
gentmatt

できることは1つありますが、メニューバーを完全に使用すると犠牲になります。つまり、頑固に非表示にすることに加えて、手動で(キーボードショートカットCtrl+を使用してF2)アクティブ化することも、割り当てられたキーボードショートカットを介したメニューバーのアイテム:(メニューバーを削除するアプリ、PreentYourAppsを実行し、それに応じてアプリのオプションを設定します。アプリを変更して再起動します

4
[OK]をさらに詳細:ドキュメント:「PresentYourApps」は基本的にLSUIPresentationModeまたは「アプリケーションUIプレゼンテーションモード」問題のアプリのためのInfo.plist内の値に設定されてないものをここにライフハッカーでは、ガイドをここに。「4」の代わりに、「すべての非表示」モードに数値「3」を使用します。これは、上記のコメントの手順がその簡単なGUIで実行するものです-しかし、「すべての非表示」は、そのときのメニューバーへのすべてのアクセスを迷惑に無効にします「すべて抑制」はメニューを非表示にしますが、画面の上部を押すとマウスがメニューを呼び出しますが、これは望ましくありません。

3
より大きな遅延を指定できる場合にのみ...これは本当に迷惑です
ルーカスポッタースキー

1
回避策として、誰かが「壁」を作るアプリを作成して、マウスが画面の最上行のピクセルにぶつからないようにします(キーを押してマウスを「離す」場合を除く)。このような何かが受け入れられる最初のステップであり、私の賞金の理由です。
クローンマン

回答:


9

Mac OS Xの制限により、メニューバーはコマンドで非表示にすることはできません。Appleは独自のプログラムでこれを行うことができますが、Mac OS Xの他の開発者がそれを可能にしたわけではありません。 Appleメニューはメニューバーにあり、アプリケーションが応答しなくなったり、ユーザーがマシンをログオフ/シャットダウンする必要がある場合に役立ちます。

Menu Eclipseと呼ばれるアプリケーションを使用すると、メニューバーの動作を変更できます(非表示を除く)。


1
「メニュー日食」はメニューバーを隠しません。
リングØ14年

1
メニューバーは、キーストロークまたはより長い一時停止によってトリガーできます。これにより、ユーザー
Toni Leigh

1
メニューバーにアクセスできないフルスクリーンゲームがたくさんあるため、これは100%真実ではありえません。彼らはおそらくフルスクリーンのために非標準の機能を使用していますが。
-Wowfunhappy

@Wowfunhappyこれは、ゲームモードでアプリケーションを実行した結果だと思います。
ゼウス

わかりました、そしてCommand+ Option+ Shift+はEscどうですか?アプリが応答しなくなると、アプリケーションが応答するまでマシンをシャットダウンしても何も実行されません。そのため、フルスクリーンの場合、メニューバーは必須ではありません。
マキシマアレッツ

8
  • 次のAppleScriptをという名前のファイルに保存しますfullscreen.scpt

    use framework "AppKit"
    use scripting additions
    
    repeat with runningApp in current application's NSWorkspace's sharedWorkspace's runningApplications()
        if runningApp's isActive()
            set frontApp to (localizedName of runningApp) as text
            exit repeat
        end if
    end repeat
    
    tell application "System Events"
        tell process frontApp to set isFullScreen to value of attribute "AXFullScreen" of first window
        if frontApp = "Finder"
            tell process frontApp to set value of attribute "AXFullScreen" of first window to not isFullScreen
        else if isFullScreen
            do shell script "lsappinfo setinfo -app " & quoted form of frontApp & " ApplicationType=Foreground"
            tell process frontApp to set value of attribute "AXFullScreen" of first window to false
    
            (*fix to make sure the menu bar is not stuck*)
            delay 0.42
            tell application "Finder" to activate
            tell process frontApp to set frontmost to true
        else
            do shell script "lsappinfo setinfo -app " & quoted form of frontApp & " ApplicationType=UIElement"
            tell process frontApp to set value of attribute "AXFullScreen" of first window to true
        end if
    end tell
    
  • ターミナルから、次のコマンドを使用してアプリケーションにコンパイルします。

    osacompile -o "/Applications/Full Screen.app" fullscreen.scpt
    
  • 開きFull Screen.app年代Info.plist(例えばvim '/Applications/Full Screen.app/Contents/Info.plist')と、以下を追加しますdict

        <key>NSUIElement</key>
        <true/>
    
  • Full Screen.app例外として追加しSystem Preferences > Security & Privacy > Privacy > Accessibilityます。

  • Automatorを起動して、新しいを作成しますService

  • 「サービス受信」を「」no inputany application「」に変更します。
  • Library > Utilities > Launch Applicationアクションを追加します。
  • 以前に作成したFull Screenアプリケーションを起動するアクションを構成します。
  • サービスをFull Screen別名で保存し、Automatorを閉じます。
  • 上のSystem Preferences > Keyboard > Shortcuts > Servicesリストの一番下までスクロールし、作成したばかりの、Full Screenサービスが一覧表示されます。たとえば、+ + や+ など、一意のCommandショートカット関連付けます。ShiftCommand\CommandF11

これにより、アプリケーションがメニューバーを削除しながら全画面に入るか、メニューバーを戻す全画面を終了するショートカットが作成されます。別のフルスクリーンショートカットを提供します!

アプリケーション固有のフルスクリーンランチャーについては、他の回答を確認してください

注意事項

このアプローチを使用すると、いくつかの短所や誤動作が生じる可能性があります。

  • 設定によって機能しますApplicationType=UIElement。これにより、アプリケーションアイコンがDockに追加/強調表示されず、Command+ を介してアプリケーションにアクセスできなくなりますTabCommand+のTab問題はコメントで報告された私は、ほとんどフルスクリーンアプリケーション間で変更することがミッションコントロールの概要を使用するので、私はそれに気づきませんでした。
  • これは、いくつかの特定の用途のために、私は(一般的に、とにかくフルスクリーンを使用していない)アクティビティモニタアプリケーションで問題が気づいた期待どおりに動作しないことがあり及びクロムについての報告があります私はFirefoxと使用しているため、私は試していない、それは素晴らしい作品

これは、賞金に十分すぎるほどです。素晴らしい仕事です!将来のユーザーのために、潜在的な制限を見つけたら編集してください。私の頭の上では、クロムはこれをあまり好きではないようです、そして、このショートカットを使用すると、cmd +タブからアプリが消えます。
クローンマン

@clonemanニース、ありがとう。警告セクションを追加しました。
pepper_chico

常にエラーが発生します。このスクリプトにはコンパイルされていない変更が含まれており、実行できません。(-2700)

この解決策は私には機能せず、macOS Sierra 10.12.6を使用しています。エラーウィンドウは言う:Can't get window 1 of <<class prcs>> "Full Screen" of application "System Events". Invalid index.そしてまたあると言う:System Events got an error: Can't get window 1 of process "Full Screen": Invalid index. (-1719)
rm.rf.etc

@ rm.rf.etc私はまだSierraでそれを使っていますが、うまく動作しています。
pepper_chico

5

私が見つけた最も近い解決策は、前述のように、Mission Controlで「ディスプレイには個別のスペースがあります」を無効にすることです。これは、マルチモニタ環境でのみ意味があります。メニューバーはプライマリモニタに表示されたままです。

アプリを「全画面表示」(緑色のボタンをクリック)すると、画面全体に表示されますが、他のすべての画面は黒くなり、メニューバーはアプリの画面に移動します。そのため、そこにある解決策は、アプリの端を好きなだけ手動で拡張することです。むかしむかし、VMWareにはAppleのフルスクリーンメカニズムを使用しない何らかのフルスクリーン回避策がありました。

Appleがこれを修正が必要な問題と見なさない限り、ハック以外の解決策を見つけるのは困難です。それはあるので、オペレーティング・システムは、(iPhone /アプリ/ iPodのホームボタンのように)どのように機能するかに不可欠。


0

考えられる解決策の1つは、メニューを完全に削除するのではなく、実際にメニューを常にオンにして(それほど大きくない)、次のトリックを行うことでDockを削除することです。

ターミナルに移動して、次を入力します。

defaults write com.apple.dock tilesize -int 1
killall Dock

これにより、Dockが小さくなります。dock⌥Dを押して、ドックを非表示にします。

ここから盗まれアイデア。


この答えをゼロ以下に下げることは本当に意味があります。同様の問題を抱える人々を助けることができるかもしれませんが、このソリューションがまったく機能しないと仮定して、今では彼らはそれを無視します。私の目標は、ブラウザのタブやコードエディタに苛立ちを感じさせずに、画面スペースを最適化することでした。上記の他の回答はどれも私にとってはうまくいきませんでしたが、Dockを完全に取り除くことで私は幸せになりました。
アレックス

-1

ブラウザ/ IDEのタブを切り替えるためにホットキーを使用して、メニューバーが表示されるまでマウスを上部に移動しないようにしてください

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