Как установить разрешение экрана с помощью сочетания клавиш на Retina MBP?

Я обнаружил, что переключаюсь между настройками «эффективного разрешения» 1440x900 и 1920x1200 в зависимости от того, что я делаю (нужно больше места на экране и т. д.).

  1. Есть ли способ переключаться между этими двумя режимами с помощью сочетания клавиш?
  2. Могу ли я вызвать один режим с помощью сочетания клавиш?
  3. В качестве альтернативы, можно ли это сделать с помощью AppleScript (и, следовательно, с привязкой к сочетанию клавиш)?
Я бы сказал, что это должно быть сделано с помощью AppleScript, но я понятия не имею, как это сделать.

Ответы (7)

QuickRes ($$$)

Судя по вашему описанию, QuickRes отлично справляется с тем, что вы пытаетесь сделать. Вы можете установить несколько (до 8) разрешений в его настройках и назначить им сочетания клавиш. Чтобы получить доступ к настройкам, запустите QuickRes и Ctrlщелкните (щелкните правой кнопкой мыши) значок, который появится в строке меню. Обратите внимание, что Mac выдаст вам ошибку и заявит, что это от «неустановленного разработчика»; просто Ctrlнажмите значок приложения в Finder и нажмите «Открыть».

Скриншоты ниже:

введите описание изображения здесь

Параметры QuickRes. Нажмите «Настройки». Кроме того, после того, как вы установите разрешение, вы можете просто щелкнуть этот значок, чтобы переключаться между разрешениями.

введите описание изображения здесь

Панель «Разрешения» настроек QuickRes. Вы можете добавить более предпочтительные разрешения в «Дополнительно». Кроме того, поскольку это было сделано на iMac, у вас будут разные варианты разрешения для вашего MacBook Pro Retina.

введите описание изображения здесь

Панель ярлыков настроек QuickRes. Прямо сейчас мой ярлык Command- Option- R. Вы можете изменить это, конечно.

введите описание изображения здесь

На панели «Дополнительно» вы можете указать, сколько разрешений вы хотите переключать. Ярлык работает только тогда, когда у вас открыто QuickRes (это легкое приложение, поэтому не беспокойтесь о ресурсах), поэтому я бы рекомендовал выбрать «Открывать QuickRes при входе в систему», чтобы не мешать ему.

Я использую AppleScript, который переключает 3 параметра «масштабирования» в зависимости от текущего параметра...

local index1, index2, index3

set index1 to 3 -- 1440 x 900 (Best for Retina)
set index2 to 4 -- 1680 x 1050
set index3 to 5 -- 1920 x 1200 (More Space)

-- Launch "System Preferences", open the "Displays" options and change to the "Display" tab
tell application "System Preferences"
    activate
    set the current pane to pane id "com.apple.preference.displays"
    reveal anchor "displaysDisplayTab" of pane id "com.apple.preference.displays"
end tell

local indexToUse

-- Now lets make the necessary changes
tell application "System Events"
    tell window "Color LCD" of application process "System Preferences" of application "System Events"
        tell tab group 1

            -- Click the "Scaled" radio button
            click radio button "Scaled"

            tell radio group 1 of group 1
                -- Depending on what scale option/index is current selected, set the appropriate new option/index to use
                if (value of radio button index1) is true then
                    set indexToUse to index2
                else if (value of radio button index2) is true then
                    set indexToUse to index3
                else
                    set indexToUse to index1
                end if

                -- Click the radio button for the new scale option/index
                click radio button indexToUse
            end tell

        end tell

        -- If option/index 1 is selected a warning prompt is displayed, click the OK button to dismiss the prompt
        if indexToUse = 1 then
            click button "OK" of sheet 1
        end if
    end tell
end tell

-- Quit "System Preferences"
quit application "System Preferences"

У меня нет MacBook Pro с дисплеем Retina, поэтому, вероятно, вам придется изменить номера строк. Я не знаю, будет ли это работать с несколькими дисплеями.

tell application "System Preferences"
    reveal anchor "displaysDisplayTab" of pane "com.apple.preference.displays"
end tell
tell application "System Events" to tell process "System Preferences"
    tell tab group 1 of window 1
        click radio button "scaled"
        tell table 1 of scroll area 1
            if selected of row 1 then
                set selected of row 2 to true
            else
                set selected of row 1 to true
            end if
        end tell
    end tell
end tell
quit application "System Preferences"

Вы можете дать скрипту ярлык с помощью Alfred или FastScripts или создав службу Automator .

+1 Лучшее решение всегда то, которое не требует стороннего софта! Я всегда забываю об AppleScript :)

Итак, SwitchResX 4 , кажется, может сделать это за несколько простых шагов.

  1. Установите SwitchResX 4 (да).
  2. Запустите панель настроек SwitchResX 4, которая должна выглядеть примерно так:введите описание изображения здесь
  3. Оттуда перейдите к Display Setsи добавьте новый набор, который мы назовем Retina - Full Size, сопоставьте его с комбинацией горячих клавиш (в данном случае я выбрал opt + F1) и выберите полное разрешение (1920 x 1200).введите описание изображения здесь
  4. Создайте второй набор, который мы назовем Retina - Better Looking, и сопоставьте его с правильным разрешением и ключами (я выбрал 1600 x 1000 и opt + F2, соответственно).введите описание изображения здесь
  5. ???
  6. Выгода! Теперь вы настроили SwitchResX, чтобы иметь возможность переключать разрешение. (Примечание: эта программа является условно-бесплатной, и я никак с ней не связан. Я наткнулся на нее, выполняя простой поиск в Google).
К сожалению, SwitchResX, похоже, не работает — он не сохраняет мои наборы дисплеев, а сочетания клавиш ничего не делают.

Quicksilver также может это сделать, если вы включите плагин Displays. Я использую это все время. Вы также можете назначить триггеры для определенных решений/действий.
введите описание изображения здесь

Также см. http://mac.appstorm.net/roundups/utilities-roundups/10-essential-quicksilver-plugins/ для краткого описания. А вот описание из справки:

Плагин
дисплеев Плагин дисплеев позволяет Quicksilver индексировать дисплеи, в настоящее время подключенные к вашему Mac, чтобы установить изображение рабочего стола и их разрешение, глубину цвета и частоту обновления.

Также см. Macbook Pro Retina, работающий с родным разрешением .

Вкладка Разрешение

Доступно в App Store за 1,99 доллара. Это просто и выглядит хорошо сделано. Позволяет назначить глобальный ярлык.

дисплейплейсер (бесплатно)

Чтобы установить разрешение нескольких дисплеев, повороты, зеркальное отображение и позиционирование через терминал, используйте displayplacer .

Выполните displayplacer list, чтобы просмотреть возможные разрешения для вашего экрана. Вы захотите использовать те, которые отмечены какscaling:on

Затем выполните команду, подобную этой, чтобы установить конфигурациюdisplayplacer "id:A46D2F5E-487B-CC69-C588-ECFD519016E5 res:1920x1080 scaling:on origin:(0,0) degree:0"

Также доступно через Homebrew:brew tap jakehilborn/jakehilborn && brew install displayplacer