Brug Autokey Scripts til at automatisere dit Linux-skrivebord
Autokey, der tidligere blev dækket på Make Tech Easier, er et godt sted at gemme almindeligt anvendt tekst. Men en af Autokey's mere avancerede funktioner er evnen til at skrive det til at gøre andre ting. Vi tager et kig på to måder at trykke på Autokey for avanceret desktop scripting.
Bemærk : Mens nedenstående script arbejdede på både 12.10 og 13.04 ved hjælp af "autokey-qt" smagen, synes der at være nogle problemer med "autokey-gtk" -versionen i standardregistrene. Hvis du bruger regelmæssig (Unity-baseret) Ubuntu, bør du overveje at installere fra PPA, som indeholder en nyere version af Autokey.
Autokey Scripting Basics
Autokey scripting er lavet i Python, et populært programmeringssprog, der anvendes i alt fra Ubuntu's Ubiquity installer til Google Maps. Mens du kan gøre nogle nyttige ting med kun de funktioner, der er specifikke for Autokey, kan du også bruge Autokey-funktioner i almindelighed Python-programmer til at gøre næsten alt, hvad du vil.
Autokey Wiki indeholder nogle nyttige emner som Installation og FAQ. API-referencen, skjult som et link øverst på siden Sample Scripts, er, hvor de gode ting er. Kigger rundt på siden:
1. Øverst på siden er alle metoderne eller funktionerne i det aktuelle modul, du kigger på, som forklares mere detaljeret nedenfor.
2. I venstre kolonne er returtypen, eller hvad du kommer tilbage, hvis du bruger den metode.
3. I den mere detaljerede liste for hver metode, får du navnet på metoden igen.
4. Ved siden af navnet i parentes er argumenterne eller de ting, du har brug for at give metoden, for at den kan udføre sit arbejde.
5. Endelig er der et eksempel på brugen til metoden.
Tag dig tid til at se gennem API-referencen - du kommer ikke langt uden det. Det følgende er en gennemgang af oprettelsen af et script fra begyndelsen til slutningen.
Oprettelse af et Autokey-script
Autokey scripting er meget ligesom shell scripting, idet du bygger dem en linje ad gangen ved hjælp af variabler og funktioner (eller i dette tilfælde metoder) for at få det ønskede resultat. I mit tilfælde vil jeg være i stand til at fremhæve nogle tekst og stash det væk i en tekstfil til senere. Det første skridt er at oprette et nyt script i Autokey. Du kan gøre dette ved at højreklikke på en af mapperne og vælge "New Script", som vist nedenfor.
Giv det et navn, så er det tomme tekstområde til højre alle dine - det er her, du skal indtaste scriptet. I så fald lad os se på, hvad vi vil gøre trin for trin:
Få den aktuelt valgte tekst
Autokey handler om automatisering, så der burde ikke være grund til at kopiere denne tekst til klippebordet eller på anden måde. Vi ønsker at ramme genvejstasten og gå, idet teksten er sikkert gemt væk til senere. Heldigvis viser API-referencen, at der kun er en metode til dette: QtClipboard-metoden. Følgende kode kode vil få fat i den aktuelt valgte tekst for os, som om vi havde foretaget en "Rediger & Kopier" eller Ctrl-C os selv. I stedet for systemets udklipsholder gemmer vi dette i variablen "notecontent":
notecontent = clipboard.get_selection ()
Angivelse af den fulde sti til filen
Dernæst vil vi gemme dette et eller andet sted. Vi skal udpege et sted til det. Lad os tilføje en linje, der viser den mappe, vi vil bruge, tildelt til variablen "notepath":
notecontent = clipboard.get_selection () notepath = "/ home / aaron / clips /"
For filnavnet vil jeg gerne medtage et dato- og tidsstempel, når det blev taget. En lille Googling afslører, at der er en funktion i Pythons " tid " -modul, som giver mig den aktuelle dato, i ÅÅÅÅ-MM-DD-HH-mm-ss-format på kommando, som vi vil kombinere med præfikset "notat" og suffix ".txt" og tildele variablen "notename". Vi skal importere tidsmodulet, så vi kan bruge det (som det viser sig, har vi brug for det alligevel, som forums anbefaler at tilføje anden linje for at undgå konflikter mellem script og tastaturet / musen). Dette gør scriptet til at se sådan ut:
importtid time.sleep (0.25) notecontent = clipboard.get_selection () notepath = "/ home / aaron / clips /" notename = "note" + timestrftime ("% Y% m% d% H% M% S") + ".txt"
Oprettelse af filen
Dette er forholdsvis let at følge:
- Import tidsmodulet
- Få det aktuelle valg, tildel til "notecontent"
- Tildel målmappen til "notepath"
- Tildel teksten "note", så den aktuelle dato / tid, efterfulgt af ".txt" til variablen "notename".
Alt, hvad vi skal gøre nu, er faktisk at oprette filen. Heldigvis giver Autokey en metode til det også i systemmodulet:
importtid time.sleep (0.25) notecontent = clipboard.get_selection () notepath = "/ home / aaron / clips /" notename = "note" + timestrftime ("% Y% m% d% H% M% S") + ".txt" system.create_file (notepath + notename, content = notecontent)
Det er det! Tildel en genvejstast, kopier nogle tekst og se hvad der sker. Med de nøglefunktioner, Autokey giver dig, og en del Google-dygtighed, kan du bruge Autokey til avanceret desktop scripting.
1. Valg af teksten
2. Tryk på genvejstasten, og der vises en ny tekstfil
3. Og der er vores valgte tekst, der vises i den mindre udgave af tekstfilen.
Hvilke andre anvendelser bruger du Autokey til?