5 votos

¿Es posible cambiar la resolución de la pantalla con un atajo de teclado?

Utilizo diferentes resoluciones de pantalla en función de la actividad que esté realizando durante el día.
Por ejemplo, cuando estoy codificando prefiero tener más espacio disponible.
¿Es posible asociar un atajo de teclado para cambiar la resolución de la pantalla a escala?
(véase la captura de pantalla adjunta) enter image description here

0 votos

display_manager.py me ha funcionado. Creé un flujo de trabajo utilizando Automator y asigné un atajo de teclado a través de Preferencias del Sistema > Teclado > Atajos. (Mi comando: /path/to/display_manager.py res 1920 1080 60 )

8voto

wch1zpink Puntos 11

Sí, puedes conseguirlo sin necesidad de ejecutar aplicaciones adicionales. En mi sistema he creado dos diferentes scripts. Uno scriptsscriptscripts para ajustar la resolución de la pantalla más alta y otro para ajustar la resolución de la pantalla más baja. En mi sistema sólo habilité ambos scripts como comandos de dictado pero si creas un nuevo Servicio a través de Automator, puedes asignar atajos de teclado a esos servicios..

Primero, aquí están los dos scripts con los que empecé.

Esta es para hacer que la resolución de la pantalla sea mayor: si la resolución de mi pantalla ya está en la posición por defecto

enter image description here

tell application "System Preferences"
    reveal anchor "displaysDisplayTab" of pane "com.apple.preference.displays"
end tell
tell application "System Events" to tell process "System Preferences" to tell window "Built-in Retina Display"
    click radio button "Scaled" of radio group 1 of tab group 1
    click radio button 4 of radio group 1 of group 1 of tab group 1
end tell
quit application "System Preferences"

Ejecutar ese script dará como resultado esto:

enter image description here

Este siguiente script es para hacer que la resolución de la pantalla sea más baja: si la resolución de mi pantalla no está establecida en la configuración por defecto

tell application "System Preferences"
    reveal anchor "displaysDisplayTab" of pane "com.apple.preference.displays"
end tell
tell application "System Events" to tell process "System Preferences" to tell window "Built-in Retina Display"
    click radio button "Scaled" of radio group 1 of tab group 1
    click radio button 3 of radio group 1 of group 1 of tab group 1
end tell
quit application "System Preferences"

Una vez que me aseguré de que ambos scripts funcionaran correctamente, abrí Automator y creé un nuevo servicio para la resolución de visualización superior y añadí el correspondiente scriptsscriptscripts como se muestra en la siguiente imagen. Guardé este archivo como rez_higher.workflow

enter image description here

Desde aquí, abrí las preferencias del sistema/teclado/accesos rápidos/servicios. Localicé el nuevo servicio que había creado y le asigné un atajo de teclado

enter image description here

Después de esto, sólo hay que seguir los mismos procedimientos para crear un nuevo flujo de trabajo y servicio para la resolución de pantalla inferior

1 votos

Gracias, esto funcionó como quería. También he encontrado un flujo de trabajo donde se puede alternar el cambio de resolución en el mismo script. aquí

0 votos

Esto es increíble. Sigo la mayor parte. ¿Dónde se pueden encontrar detalles como que el nombre del ancla sea 'displayDisplayTab'? Me gustaría desarrollar algo similar para establecer (y desestablecer) el color del escritorio. Todos/cualquier detalle será bienvenido.

1 votos

Ese script en el ejemplo es un error lanzado: error "System Events got an error: Can’t get tab group 1 of window \"Built-in Retina Display\" of process \"System Preferences\". Invalid index. ¿Se rompe con alguna actualización de OSX?

3voto

Philipp Puntos 136

Solución a la respuesta de wch1zpink en OS X 10.15.4, gracias a la aplicación UI Browser:

tell application "System Preferences"
    reveal anchor "displaysDisplayTab" of pane "com.apple.preference.displays"
end tell
tell application "System Events" to tell process "System Preferences" to tell window "Built-in Retina Display"
    set isScaled to value of radio button "Scaled" of tab group 1
    if isScaled = 0 then
        click radio button "Scaled" of tab group 1
        click radio button 1 of radio group 1 of group 1 of tab group 1
    else
        click radio button "Default for display" of tab group 1
    end if
end tell
quit application "System Preferences"

0 votos

Sigo teniendo el mismo error. error System Events got an error: Can’t get radio button \"Scaled\" of tab group 1 of window \"Built-in Retina Display\" of process \"System Preferences\"." number -1728 from radio button "Scaled" of tab group 1 of window "Built-in Retina Display" of process "System Preferences" Con el código anterior, el número es 1719. Acaba de cambiar el número

1voto

Jake Hilborn Puntos 386

Escribí la herramienta gratuita de línea de comandos displayplacer para cambiar las resoluciones/rotaciones de los escritorios de uno o varios monitores. Puede activar un "perfil" (ejemplo de abajo) a través de un atajo de teclado con Automator como explicó wch1zpink, BetterTouchTool, etc.

displayplacer 'id:69731906 res:1440x900 scaling:on origin:(0,0) degree:0'

0voto

Am Droid Puntos 101

Puedes utilizar esta aplicación llamada SwitcherResX ( http://www.madrau.com/srx_download/download.html ) donde tienen la opción de cambiar la resolución con el atajo de teclado o en base a la aplicación que utilices. Tienen una versión de prueba para probar. enter image description here

0 votos

Gracias. Estaba buscando algo a nivel de sistema sin ejecutar aplicaciones adicionales. Pero tendré en cuenta tu sugerencia como solución alternativa.

0voto

Max Tardiveau Puntos 1

La aplicación EasyRes (gratuita en la tienda de aplicaciones de Apple) lo hizo por mí. Me pasé una hora reseteando la NVRAM, intentando frenéticamente que mi pantalla Apple Cinema de 30" de 2006 volviera a tener la máxima resolución, sin éxito. Debo haber reiniciado 25 veces. EasyRes se encargó de ello. Gracias EasyRes, ¡me estaba volviendo loco!

Actualización: esto no es "pegajoso" -- cuando reinicio, vuelvo a 1280x800 y tengo que usar EasyRes de nuevo, pero sólo reinicio cada par de meses, así que esto es factible.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X