Você pode usar um utilitário de linha de comando chamado cscreen para fazer isso. Você pode envolvê-lo em um script AppleSctipt ou no Automator. Você pode fazer o download do cscreenIntel.dmg no link fornecido. Em um terminal, use cscreen -h
para emitir as informações de ajuda interna.
Eu tenho um MBP e um Thunderbolt Display, portanto, em um Terminal, quero cscreen
listar meus displays
$ cscreen -l
DisplayID Index Depth Width Height Refresh
5ac6fa7f 1 32 1440 900 0
3247b0f 2 32 2560 1440 0
use -h to display all usage options
$
Então, para definir o Thunderbolt Display para ter a barra de menus, execute o seguinte comando:
cscreen -s 2 -p
Posso então alterná-lo de volta usando o mesmo comando que o Índice muda.
No AppleScript: do shell script "/<path_to>/cscreen -s 2 -p"
No Automator, adicione Executar Script do Shell e adicione o comando:/<path_to>/cscreen -s 2 -p
Nota: Esta é uma alternância simples se você tiver apenas dois monitores, no entanto, se tiver mais de dois, será necessário gravar algum fluxo lógico no script.
Você também pode usar, cscreen -i <DisplayID> -p
por exemplo, cscreen -i 3247b0f -p
para codificar com o DisplayID
que não muda.
Isso também pode ser usado apenas em um terminal como um comando singular ou incorporado em um shell script sem o uso de AppleScript e / ou Automator.
Para configurações de vários monitores, a ferramenta que escrevi, displayplacer , faz isso.
Configure suas telas como desejar, arraste a "barra branca" para a tela principal nas configurações do sistema macOS e, em seguida, execute
displayplacer list
. Ele emitirá o comando para executar para colocar suas telas na configuração atual. A tela comorigin:(0,0)
é a tela principal com a "barra branca". Execute este comando do terminal através de um script, Automator, BetterTouchTool, etc.O perfil de exemplo 1 coloca a barra branca na barra de menus no monitor esquerdo.
displayplacer "id:<leftScreenId> res:1920x1080 scaling:on origin:(0,0) degree:0" "id:<rightScreenId> res:1920x1080 scaling:on origin:(1920,0) degree:0"
O perfil de exemplo 1 coloca a barra branca na barra de menus no monitor direito.
displayplacer "id:<leftScreenId> res:1920x1080 scaling:on origin:(1920,0) degree:0" "id:<rightScreenId> res:1920x1080 scaling:on origin:(0,0) degree:0"
Também disponível via Homebrew
brew tap jakehilborn/jakehilborn && brew install displayplacer
fonte