Verwenden von Autokey-Skripts zum Automatisieren Ihres Linux-Desktops
AutoKey, zuvor auf Make Tech Easier abgedeckt, ist ein großartiger Ort, um häufig verwendeten Text zu speichern. Aber eine der fortgeschritteneren Funktionen von Autokey ist die Möglichkeit, Skripts zu erstellen, um andere Dinge zu tun. Wir werden uns zwei Möglichkeiten ansehen, um Autokey für erweiterte Desktop-Skripts zu verwenden.
Hinweis : Während das folgende Skript sowohl für 12.10 als auch für 13.04 mit dem "autokey-qt" -Aroma funktionierte, scheint es Probleme mit der "autokey-gtk" -Version in den Standard-Repositories zu geben. Wenn Sie reguläres (Unity-basiertes) Ubuntu verwenden, sollten Sie die Installation über das PPA in Betracht ziehen, das eine neuere Version von Autokey enthält.
Grundlagen der Autokey-Skripterstellung
Die Autokey-Skripterstellung erfolgt in Python, einer beliebten Programmiersprache, die von Ubuntus Ubiquity-Installer bis hin zu Google Maps verwendet wird. Während Sie einige nützliche Dinge nur mit den für AutoKey spezifischen Funktionen erledigen können, können Sie auch die AutoKey-Funktionen in allgemeinen Python-Programmen verwenden, um nahezu alles zu tun, was Sie wollen.
Das Autokey-Wiki enthält einige nützliche Themen wie Installation und FAQ. Die API-Referenz, die oben auf der Seite "Beispielskripte" als Hyperlink ausgeblendet ist, ist der Ort, an dem die guten Dinge zu finden sind. Um die Seite schauen:
1. Oben auf der Seite sind alle Methoden oder Funktionen des aktuellen Moduls, das Sie betrachten, im Folgenden näher erläutert.
2. In der linken Spalte steht der Rückgabetyp oder was Sie zurückbekommen, wenn Sie diese Methode verwenden.
3. In der ausführlicheren Liste für jede Methode wird der Methodenname erneut aufgelistet.
4. Neben dem Namen in Klammern stehen die Argumente oder die Dinge, die Sie zur Verfügung stellen müssen, damit die Methode ihre Aufgabe erfüllen kann.
5. Schließlich gibt es ein Anwendungsbeispiel für die Methode.
Nehmen Sie sich etwas Zeit, um sich die API-Referenz anzusehen - Sie werden ohne sie nicht weit kommen. Das Folgende ist ein Durchlauf der Erstellung eines Skripts von Anfang bis Ende.
Erstellen eines Autokey-Skripts
Das Autokey-Scripting ähnelt sehr dem Shell-Scripting, indem Sie sie Zeile für Zeile erstellen, indem Sie Variablen und Funktionen (oder in diesem Fall Methoden) verwenden, um das gewünschte Ergebnis zu erzielen. In meinem Fall möchte ich in der Lage sein, etwas Text hervorzuheben und für später in einer Textdatei zu speichern. Der erste Schritt besteht darin, ein neues Skript in AutoKey zu erstellen ... Sie können dies tun, indem Sie mit der rechten Maustaste auf einen der Ordner klicken und "Neues Skript" auswählen, wie unten gezeigt.
Geben Sie ihm einen Namen, dann gehört Ihnen der leere Textbereich auf der rechten Seite - hier geben Sie das Skript ein. In diesem Fall sehen wir uns Schritt für Schritt an, was wir tun wollen:
Abrufen des aktuell ausgewählten Texts
Beim Autokey dreht sich alles um Automatisierung. Es sollte also keinen Grund geben, diesen Text in die Zwischenablage oder auf andere Weise zu kopieren. Wir wollen den Hotkey drücken und gehen, weil wir wissen, dass der Text für später sicher versteckt ist. Glücklicherweise zeigt die API-Referenz, dass es nur eine Methode gibt: die QtClipboard-Methode. Die folgende Codezeile wird den aktuell ausgewählten Text für uns aufnehmen, als ob wir selbst "Bearbeiten & Kopieren" oder Ctrl-C ausgeführt hätten . Anstatt der Zwischenablage des Systems speichern wir diese in der Variablen "notecontent":
notecontent = Zwischenablage.get_selection ()
Den vollständigen Pfad zur Datei angeben
Als nächstes wollen wir das irgendwo speichern. Wir müssen einen Platz dafür bestimmen. Lassen Sie uns eine Zeile hinzufügen, die den Ordner zeigt, den wir verwenden möchten, der der Variablen "notepad" zugewiesen ist:
notecontent = clipboard.get_selection () notepad = "/ home / aaron / clips /"
Für den Dateinamen möchte ich einen Datums- und Zeitstempel angeben, wann er erfasst wurde. Ein kleines Googeln zeigt, dass es eine Funktion in Pythons " Zeit " -Modul gibt, die mir das aktuelle Datum im Format YYYY-MM-DD-HH-mm-ss auf Befehl gibt, das wir mit dem Präfix "note" und dem Suffix ".txt" und der Variablen "notename" zuweisen. Wir müssen das Zeitmodul importieren, damit wir es verwenden können (wie sich herausstellt, brauchen wir das trotzdem, da Foren das Hinzufügen der zweiten Zeile empfehlen, um Konflikte zwischen den Skript und die Tastatur / Maus). Dadurch sieht das Skript so aus:
Zeit importieren time.sleep (0.25) notecontent = clipboard.get_selection () notepad = "/ home / aaron / clips /" notename = "note" + zeitraum ("% Y% m% d% H% M% S") + ".txt"
Erstellen der Datei
Dies ist relativ einfach zu folgen:
- Importieren Sie das Zeitmodul
- Holen Sie sich die aktuelle Auswahl, ordnen Sie sie "notecontent" zu
- Weisen Sie das Zielverzeichnis "notepad" zu
- Weisen Sie den Text "Notiz", dann das aktuelle Datum / Zeit, gefolgt von ". Txt" auf die Variable "Notename."
Jetzt müssen wir nur noch die Datei erstellen. Glücklicherweise bietet AutoKey auch dafür eine Methode im Modul System:
Zeit importieren time.sleep (0.25) notecontent = clipboard.get_selection () notepad = "/ home / aaron / clips /" notename = "note" + zeitraum ("% Y% m% d% H% M% S") + ".txt" system.create_file (notepad + notename, content = notecontent)
Das ist es! Weisen Sie einen Hotkey zu, kopieren Sie etwas Text und sehen Sie, was passiert. Mit den Schlüsselfunktionen, die Autokey Ihnen bietet, und einigen Google-Fähigkeiten, können Sie Autokey für erweitertes Desktop-Scripting verwenden.
1. Auswählen des Textes
2. Drücken Sie den Hotkey und eine neue Textdatei erscheint
3. Und es gibt unseren ausgewählten Text, der in der weniger Ausgabe der Textdatei angezeigt wird.
Für welche anderen Anwendungen verwenden Sie den Autokey?