Script para reubicar la barra de menú en la configuración de dos monitores

¿Existe un script que pueda escribirse para lograr esto: en Preferencias/Pantallas del sistema... es posible reubicar la barra de menús... a través de un script? Mi configuración es un monitor y un Cintiq. O trabajo solo con el Cintiq, o trabajo con mi monitor de 28" varias veces al día. Siempre necesito ir para hacer esto manualmente. Realmente desearía que hubiera un script que pudiera hacer esto. Probé Automator, pero no lo es. grabando la acción. :(

Respuestas (3)

Puede usar una utilidad de línea de comando llamada cscreen para hacer eso. Puede envolverlo en un script AppleSctipt o en Automator. Puede descargar cscreenIntel.dmg desde el enlace provisto. En un uso de terminal cscreen -hpara generar la información de ayuda interna.

Tengo un MBP y una pantalla Thunderbolt, por lo que en una terminal quiero tener cscreenuna lista de mis pantallas

$ 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
$

Entonces, para configurar Thunderbolt Display para que tenga la barra de menú, ejecuto el siguiente comando:

cscreen -s 2 -p

Luego puedo alternarlo usando el mismo comando que los cambios de índice .

En AppleScript:do shell script "/<path_to>/cscreen -s 2 -p"

En Automator, agregue Run Shell Script y agregue el comando:/<path_to>/cscreen -s 2 -p

Nota: Este es un cambio simple si solo tiene dos pantallas; sin embargo, si tiene más de dos, deberá escribir algún flujo lógico en el script.

También puede usar, cscreen -i <DisplayID> -ppor ejemplo, cscreen -i 3247b0f -ppara codificar con el DisplayIDcual no cambia.

Esto también se puede usar en una Terminal como un comando singular o incorporarse a un script de shell sin usar AppleScript o Automator.

Para configuraciones de monitores múltiples, la herramienta que escribí, displayplacer , hace esto.

Configure sus pantallas como desee, arrastre la "barra blanca" a su pantalla principal en la configuración del sistema macOS y luego ejecute displayplacer list. Emitirá el comando para ejecutar para poner sus pantallas en su configuración actual. La pantalla con origin:(0,0)es la pantalla principal con la "barra blanca". Ejecute este comando de terminal a través de un script, Automator, BetterTouchTool, etc.

El perfil de ejemplo 1 coloca la barra blanca en la barra de menú del monitor izquierdo.displayplacer "id:<leftScreenId> res:1920x1080 scaling:on origin:(0,0) degree:0" "id:<rightScreenId> res:1920x1080 scaling:on origin:(1920,0) degree:0"

El perfil de ejemplo 1 coloca la barra blanca en la barra de menú del monitor derecho.displayplacer "id:<leftScreenId> res:1920x1080 scaling:on origin:(1920,0) degree:0" "id:<rightScreenId> res:1920x1080 scaling:on origin:(0,0) degree:0"

También disponible a través de Homebrewbrew tap jakehilborn/jakehilborn && brew install displayplacer

Un enfoque simple podría ser habilitar "las pantallas tienen espacios separados" en las preferencias del sistema/Mission Control. Eso habilitaría las barras de menú en ambas pantallas.

Esa no es una opción en al menos OS X 10.8 (y antes, me imagino).