Aplicar alterações a um (ukelele) .keylayout sem relogar no OS X

1

Desenvolvedor de Ukelele (John Brownie) no site :

Second, if you have a keyboard layout that is active, modify it (in Ukelele or any other way), save it, then log out and log in again, the system will not load the new version. You need to modify the folder that contains the keyboard layout to get the system to recognise the change. The easiest way is to drag the keyboard layout file to the desktop and then back to the Keyboard Layouts folder, then log out and log in again. Restarting will always load the newest version of a keyboard layout.

Algum método mais sensato?

Então parece que provavelmente não. Aqui está uma maneira de automatizar parcialmente com o Applescript:


do shell script "touch '/Library/Keyboard Layouts/'"
tell application "System Events"
    try
        tell process "Ukelele"
            click menu bar 1's menu bar item "File"'s menu 1's menu item "Save"
        end tell
    end try
    log out
end tell
    
por user495470 09.04.2011 / 11:04

1 resposta

0

Desculpe, mas não há muito melhor do que pode ser feito. Os layouts de teclado só são verificados no login e, se você não reiniciar, o sistema otimiza o processo, examinando apenas as pastas que foram alteradas desde o último login, verificando a data de modificação da pasta.

Sobre a única outra maneira que posso pensar em automatizar é ter um script que altere a data de modificação da pasta relevante - um script de shell chamando 'touch' funcionaria (veja abaixo). Então você poderia ter uma maneira mais simples de fazer a mudança (ao invés de arrastar arquivos para fora), mas você ainda teria que fazer logout e logar. Eu não sei de um atalho para logout, além de apertar option- shift-comando-Q. Eu não vi uma maneira de script isso.

Script para alterar a data de modificação da pasta Layouts do teclado na pasta Biblioteca:

#!/bin/sh
touch /Library/Keyboard\ Layouts
    
por 09.04.2011 / 12:19

Tags