4 votos

Establecer el pagezoom de Safari mediante programación

Hace poco me compré un monitor 4K y me encanta el tamaño de la pantalla. Pero las fuentes estándar se están volviendo un poco demasiado pequeñas para leerlas. Así que planeo escribir un script en Keyboard Maestro para cambiar el PageZoom por defecto en Safari al 125% cuando pulse un botón.

He descubierto que puedo configurar el pagezoom con este comando en el Terminal:

defaults write com.apple.Safari DefaultPageZoom "1.25"

Esto funciona porque defaults read com.apple.Safari DefaultPageZoom informa del valor ajustado. Y las preferencias de Safari también muestran el valor establecido.

Pero la página en Safari no cambia. Sin embargo, cuando cambio el PageZoom en las Preferencias manualmente la página SÍ cambia. He probado a recargar la página y a cambiar el tamaño de la ventana después de configurar el PageZoom en el Terminal, pero nada funciona.

¿Qué tengo que hacer para que el defaults write ¿se activa la configuración?

No quiero usar las teclas CMD+ y CMD- todo el tiempo.

Al final quiero que Keyboard Maestro dispare este script cuando conecte un dispositivo que indique que estoy usando este monitor.

0voto

oa- Puntos 164

Es necesario

  1. Cerrar Safari
  2. ejecutar el comando de la Terminal
  3. volver a abrir Safari

La mayoría (si no todos) de los comandos de escritura por defecto requieren que salga o mate la aplicación o el proceso afectado para ver los resultados.


Para solucionar tu problema puedes pensar en ajustar la resolución de la pantalla de 3840 x 2160 a 1920 x 1080 (Retina / HDPI). Esto aumentará el tamaño de todos los elementos de la pantalla, incluyendo el texto en Safari.

Ir a System Preferences > Display y cambiar la resolución allí.

0voto

hepabolu Puntos 111

A partir de las respuestas dadas anteriormente y del enlace que encontré a Activar el zoom de Safari mediante script hay varias posibilidades:

Shell script

# set pagezoom to 125%
killall Safari
defaults write com.apple.Safari DefaultPageZoom "1.25"
open -a Safari

He añadido esto a una macro de Keyboard Maestro que se inicia por un disparador de atajo de teclado (por ahora).

# revert pagezoom to 100%
killall Safari
defaults write com.apple.Safari DefaultPageZoom 1
open -a Safari

He añadido esto a otra macro de Keyboard Maestro que se inicia por un disparador de atajo de teclado (por ahora).

Esto funciona muy bien, pero el inconveniente es que hay que reiniciar Safari.

Apple script

\-- set pagezoom to 125%
tell application "System Events"
    tell application process "Safari"
        set frontmost to true
        keystroke "," using command down
        delay 0.5
        tell window 1
            click button "Advanced" of toolbar 1 of it
            click pop up button 3 of group 1 of group 1 of it
            click menu item 6 of menu 1 of pop up button 3 of group 1 of group 1 of it
            keystroke "w" using command down
        end tell
    end tell
  end tell

o volver al 100%

tell application "System Events"
    tell application process "Safari"
        set frontmost to true
        keystroke "," using command down
        delay 0.5
        tell window 1
            click button "Advanced" of toolbar 1 of it
            click pop up button 3 of group 1 of group 1 of it
            click menu item 4 of menu 1 of pop up button 3 of group 1 of group 1 of it
            keystroke "w" using command down
        end tell
    end tell
end tell

Esto cambia la página sin reiniciar Safari. Pero desde una macro de Keyboard Maestro no funciona consistentemente.

Tinkertool

Tinkertool no sólo ofrece la posibilidad de establecer el pagezoom para Safari, sino también de establecer el tamaño de las fuentes del sistema por defecto. Advertencia: el cambio sólo surte efecto después de relanzar las aplicaciones y Tinkertool no es susceptible de ser modificado mediante scripts, por lo que requiere una intervención manual.

Conclusión:

Por ahora me quedaré con las macros de Keyboard Maestro ejecutando los scripts de Apple. Cuando mi monitor grande está conectado, la cámara web de Logitech también está conectada, así que añadí un disparador adicional a las macros:

USB Device with Name Containing 'Webcam' is Attached para aumentar el pagezoom y USB Device with Name Containing 'Webcam' is Detached para revertir el pagezoom al 100%.

Esto me permite cambiar automáticamente el pagezoom al conectar o desconectar la pantalla grande.

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