¿Forzar una aplicación para ejecutar una de sus opciones de menú desde un script de shell?

4

¿Hay alguna forma de forzar a la aplicación a ejecutar una de sus opciones de menú si no hay una interfaz de línea de comandos disponible?

¿Quizás una especie de automatización?

EJEMPLO

Me gustaría ejecutar el comando "Archivo > Exportar fuentes" de NewsFire para hacer una copia de seguridad de la lista de fuentes (archivo OPML). Intenté ejecutar NewsFire a través de la Terminal con "--help" pero sin suerte.

Aquí está el script de copia de seguridad que uso actualmente, en caso de que alguien lo encuentre útil. Se puede usar para guardar y restaurar el estado de NewsFire en varias máquinas (para restaurar solo cd ~ , y luego unzip backup.zip ).

#! /bin/bash
#
# Backup NewsFire preferences, feeds and cache (everything)
#

D_DESTFILE=~/Backups/Config/NewsFire.zip

# Don't update archive, create new one
if [ -e "$D_DESTFILE" ]; then
  rm $D_DESTFILE
fi

cd ~
zip -r $D_DESTFILE Library/Application\ Support/NewsFire Library/Caches/org.xlife.NewsFire Library/Preferences/org.xlife.NewsFire.plist
    
pregunta Bleep Bloop 14.11.2010 - 12:32

1 respuesta

1

Este es el comienzo de un AppleScript para realizar la exportación:

set filename to "test file"

tell application "NetNewsWire" to activate
tell application "System Events"
    tell process "NetNewsWire"
        click menu item "Export Subscriptions…" of menu "File" of menu bar 1
        set value of first text field of first sheet of first window to filename
        click button "Save" of first sheet of first window
    end tell
end tell

tell application "NetNewsWire" to quit

Guardará el archivo exportado con el nombre de archivo establecido en la ubicación que se usó por última vez para realizar la exportación. No sobrescribirá un archivo existente en ese momento, por lo que tal vez pueda guardarlo en un lugar temporal y moverlo con un script separado.

Nota : mi copia de NetNewsWire tenía el comando de menú "Exportar suscripciones ...", no "Exportar fuentes", pero si la suya es diferente, solo cambie el nombre del elemento del menú en la línea 6.

Editar para agregar : también debe tener "Habilitar el acceso para dispositivos de asistencia" en el Panel de Preferencias del Sistema de Acceso Universal configurado en habilitado para que esto funcione.

    
respondido por el Lizzan 14.11.2010 - 12:59

Lea otras preguntas en las etiquetas