Änderungen an einem (Ukulele-)Keylayout anwenden, ohne sich unter OS X erneut anzumelden

Änderungen an einem (Ukulele-)Keylayout anwenden, ohne sich unter OS X erneut anzumelden

Ukelele's Entwickler (John Brownie) auf der Website:

Zweitens: Wenn Sie ein aktives Tastaturlayout haben, ändern Sie es (in Ukelele oder auf andere Weise), speichern Sie es, melden Sie sich dann ab und wieder an. Das System lädt die neue Version nicht. Sie müssen den Ordner ändern, der das Tastaturlayout enthält, damit das System die Änderung erkennt. Am einfachsten geht das, indem Sie die Tastaturlayoutdatei auf den Desktop und dann zurück in den Ordner „Tastaturlayouts“ ziehen und sich dann ab- und wieder anmelden. Beim Neustart wird immer die neueste Version eines Tastaturlayouts geladen.

Gibt es eine vernünftigere Methode?


Also scheint es höchstwahrscheinlich nicht so. Hier ist jedoch eine Möglichkeit, es mit Applescript teilweise zu automatisieren:


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

Antwort1

Leider lässt sich da nicht viel besser machen. Tastaturlayouts werden nur beim Anmelden gescannt. Wenn Sie nicht neu starten, optimiert das System den Vorgang, indem es nur Ordner scannt, die sich seit der letzten Anmeldung geändert haben, indem es das Änderungsdatum des Ordners überprüft.

Die einzige andere Möglichkeit, die mir einfällt, um das zu automatisieren, ist ein Skript, das das Änderungsdatum des entsprechenden Ordners ändert – ein Shell-Skript, das „touch“ aufruft, würde funktionieren (siehe unten). Dann hätten Sie eine einfachere Möglichkeit, die Änderung vorzunehmen (anstatt Dateien herauszuziehen und wieder einzufügen), aber Sie müssten sich trotzdem ab- und wieder anmelden. Ich kenne keine Abkürzung zum Abmelden, außer die Tastenkombination Wahltaste-Umschalttaste-Befehlstaste-Q. Ich habe keine Möglichkeit gesehen, dies per Skript zu tun.

Skript zum Ändern des Änderungsdatums des Ordners „Keyboard Layouts“ im Ordner „Library“:

#!/bin/sh
touch /Library/Keyboard\ Layouts

verwandte Informationen