6

OS X Lion のドックとメニュー バーをグローバルに自動非表示にしようとしています。すべてのプログラムでそうする必要があるのは、wine でゲームをプレイしようとしているからです。フルスクリーンで実行すると、CPU 使用率が非常に高くなるため、ウィンドウでプレイしている間は、常に手動で再生する前に非表示にするドック。

info.plist と LSUIPresentationMode キーの編集については知っていますが、残念ながら、ゲーム ランチャーはファイルが編集されていることに気づき、起動する前に修正します。したがって、私の唯一の選択肢は、開始する前にすべてのプログラムで非表示にすることです。これは可能ですか? AppleScript は、これを行うための最良の方法でもありますか? 私はまだ Mac でのコーディングにかなり慣れていないので、これを達成する方法についての提案をいただければ幸いです。

4

4 に答える 4

7

簡単にドックができます。メニューバーをグローバルに表示する方法がわかりません。私はそれが可能であることを疑います。ドックのスクリプトは次のとおりです。現在の状態に基づいて、自動的に非表示にするかどうかを切り替えます。幸運を。

tell application "System Events"
    tell dock preferences to set autohide to not autohide
end tell
于 2013-01-21T15:41:20.687 に答える
4

ビッグサーの場合:

tell application "System Events"
    tell dock preferences to set autohide menu bar to not autohide menu bar
end tell
于 2020-12-19T03:06:47.100 に答える
0

これは、私も本当に見たかったものなので、私のためにそれを行うapplescriptです。スタイル ポイントを獲得できるかどうかはわかりませんが、Automator サービスでこれを呼び出し、キーボード ショートカットを設定しました。それ以来、不満はありません。

tell application "System Events"
    tell dock preferences
        --get the properties list of the dock and set (or assign) it to our variable we'll call "dockprops"
        set dockprops to get properties
        --in our now "dockprops" list, assign our target dock property ("autohide") to the variable "dockhidestate"
        set dockhidestate to autohide of dockprops
        --the dock's "autohide" property is a boolean: it's value can only be either true or false
        --an "if statement" provides the necessary logic to correctly handle either of these cases in this one single script
        if autohide = true then
            tell application "System Events"
                tell dock preferences to set autohide to not autohide
            end tell
        else
            set autohide to true
        end if
    end tell
end tell

tell application "System Preferences"

    activate
    --  tell application "Finder" to tell process "System Preferences" to set visible to false
    set the current pane to pane id "com.apple.preference.general"

    --  The delays are necessary as far as I can tell
    delay 0.5
    tell application "System Events" to keystroke tab
    delay 0.5
    tell application "System Events" to keystroke tab
    tell application "System Events" to keystroke tab
    tell application "System Events" to keystroke space
    tell application "System Events" to key code 13 using {command down}
end tell
于 2016-09-01T04:24:51.907 に答える