Script para realocar a barra de menus na configuração de dois monitores

2

Existe um script que possa ser escrito para isso: Nas Preferências / Monitores do Sistema ... é possível realocar a barra de menus ... por meio de um script? Minha configuração é um monitor e um Cintiq. Eu trabalho apenas com o Cintiq ou com meu monitor de 28 "várias vezes ao dia. Sempre preciso fazer isso manualmente. Eu realmente gostaria que houvesse um script que possa fazer isso. Tentei o Automator, mas não é gravando a ação. :(

Rafael
fonte

Respostas:

2

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 -hpara emitir as informações de ajuda interna.

Eu tenho um MBP e um Thunderbolt Display, portanto, em um Terminal, quero cscreenlistar 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> -ppor exemplo, cscreen -i 3247b0f -ppara codificar com o DisplayIDque 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.

user3439894
fonte
0

Uma abordagem simples poderia permitir que "os monitores tenham espaços separados" nas preferências do sistema / Controle da Missão. Isso ativaria os menus em ambas as telas.

James Kachan
fonte
Essa não é uma opção pelo menos no OS X 10.8 (e antes, eu imagino).
user3439894
0

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 com origin:(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

Jake Hilborn
fonte