1 votos

Método abreviado de teclado de servicio y existe cambio tome efecto programtically

Tengo el siguiente script para configurar un acceso directo de servicios:

set serviceName to "(null) - VimAnywhere - runWorkflowAsService"
set libPrefPath to POSIX path of (path to preferences folder from user domain as text)
set plistFile to "pbs.plist"
set plistPath to libPrefPath & plistFile as text
set mainPropertyItem to "NSServicesStatus"
set keyBindingKey to "key_equivalent"
set keyBinding to "^@v"

tell application "System Events"
  set gp to (get property list item serviceName of property list item mainPropertyItem of property list file plistPath)
  tell gp
    set value of property list item keyBindingKey to keyBinding
  end tell
end tell

do shell script "defaults read > /dev/null"

Esto establece un atajo de teclado para un servicio que he definido en la lista de bienes asignados y aún muestra correctamente cuando se mira en preferencias del sistema. El problema es que el cambio no parece tener efecto. Invocar el método abreviado de teclado no tiene ningún efecto.

¿Cómo puedo configurar este acceso directo y que surten efecto inmediatamente (totalmente a través del shell/applescript)?

2voto

Fuzzy Purple Monkey Puntos 702

Se aplican los cambios realizados por el AppleScript para mí luego de dejar de fumar y volver a abrir aplicaciones. Mismo de este comando:

/usr/libexec/PlistBuddy -c 'Delete NSServicesStatus:"(null) - VimAnywhere - runWorkflowAsService"' ~/Library/Preferences/pbs.plist 2>/dev/null;defaults write pbs NSServicesStatus -dict-add '"(null) - VimAnywhere - runWorkflowAsService"' '{key_equivalent = "~@v";}'

No sé ninguna manera para aplicar los cambios sin reapertura aplicaciones. Ejecutar /System/Library/CoreServices/pbs -flush o pbs no parecen funcionar.

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