Bruke Autokey-skript til å automatisere ditt Linux-skrivebord
Autokey, dekket tidligere på Make Tech Easier, er et flott sted å lagre vanlig brukt tekst. Men en av Autokeys mer avanserte funksjoner er muligheten til å skanne den til å gjøre andre ting. Vi tar en titt på to måter å trykke på Autokey for avansert skrivebordsskripting.
Merk : Mens det nedenstående skriptet virket på både 12.10 og 13.04 ved hjelp av "autokey-qt" -smaken, ser det ut til at det er noen problemer med "autokey-gtk" -versjonen i standardregisterene. Hvis du bruker vanlig (Unity-basert) Ubuntu, bør du vurdere å installere fra PPA, som inneholder en nyere versjon av Autokey.
Autokey Scripting Basics
Autokey-skripting er gjort i Python, et populært programmeringsspråk som brukes i alt fra Ubuntu's Ubiquity installer til Google Maps. Mens du kan gjøre noen nyttige ting med bare funksjonene som er spesifikke for Autokey, kan du også bruke Autokey-funksjoner i generelle Python-programmer til å gjøre omtrent alt du vil.
Autokey Wiki inneholder noen nyttige emner som Installasjon og FAQ. API-referansen, skjult som en kobling øverst på Sample Scripts-siden, er hvor de gode tingene er. Ser på siden:
1. Øverst på siden er alle metodene eller funksjonene til den nåværende modulen du ser på, som forklares mer detaljert nedenfor.
2. I venstre kolonne er retur type, eller hva du kommer tilbake hvis du bruker den metoden.
3. I den mer detaljerte oppføringen for hver metode, vil du få metodenavnet oppført igjen.
4. Ved siden av navnet, i parentes, er argumentene, eller de tingene du trenger for å gi metoden, slik at den kan gjøre jobben sin.
5. Til slutt er det et eksempel på bruk for metoden.
Ta deg tid til å se gjennom API-referansen - du kommer ikke langt uten det. Følgende er en gjennomgang av etableringen av et skript fra begynnelse til slutt.
Opprette et Autokey-skript
Autokey-skripting er veldig lik shell-skripting, ved at du bygger dem en linje av gangen, ved hjelp av variabler og funksjoner (eller i dette tilfellet metoder) for å få det ønskede resultatet. I mitt tilfelle vil jeg kunne markere litt tekst og stash den bort i en tekstfil for senere. Det første trinnet er å opprette et nytt skript i Autokey ... du kan gjøre dette ved å høyreklikke på en av mappene og velge "New Script, " som vist nedenfor.
Gi det et navn, så er det tomme tekstområdet til høyre alt ditt - dette er hvor du skal skrive inn skriptet. I så fall, la oss se på hva vi vil gjøre trinn for steg:
Få den aktuelt valgte teksten
Autokey handler om automatisering, så det bør ikke være grunn til oss å kopiere denne teksten, til utklippstavlen eller på annen måte. Vi ønsker å treffe hurtigtastet og gå, å vite at teksten er trygt tucked away for senere. Heldigvis viser API-referansen at det er en metode bare for dette: QtClipboard-metoden. Følgende kodelinje vil hente den nåværende valgte teksten for oss, som om vi hadde gjort en "Rediger og Kopier" eller Ctrl-C oss selv. I stedet for systemets utklippstavle lagrer vi dette i variabelen "notecontent":
notecontent = clipboard.get_selection ()
Angir hele banen til filen
Deretter ønsker vi å lagre dette et sted. Vi må utpeke et sted for det. La oss legge til en linje som viser mappen vi vil bruke, tilordnet variabelen "notepath":
notecontent = clipboard.get_selection () notepath = "/ home / aaron / clips /"
For filnavnet vil jeg gjerne inkludere et dato- og tidsstempel når det ble tatt. En liten Googling avslører at det er en funksjon i Pythons " tid " -modul som gir meg gjeldende dato, i formatet YYYY-MM-DD-HH-mm-ss på kommandoen, som vi vil kombinere med prefiksen "notatet" og suffiks ".txt" og tilordne variabelen "notename". Vi må importere tidsmodulen slik at vi kan bruke den (som det viser seg, trenger vi dette uansett, som forum anbefaler å legge til den andre linjen for å unngå konflikter mellom skript og tastaturet / musen). Dette gjør at skriptet ser slik ut:
import tid time.sleep (0.25) notecontent = clipboard.get_selection () notepath = "/ home / aaron / clips /" notename = "notat" + timestrftime ("% Y% m% d% H% M% S") + ".tekst"
Opprette filen
Dette er relativt enkelt å følge:
- Importer tidsmodulen
- Få gjeldende utvalg, tilordne til "notecontent"
- Tilordne målkatalogen til "notepath"
- Tilordne teksten "notat" og deretter dagens dato / klokkeslett, etterfulgt av ".txt" til variabelen "notename".
Alt vi trenger å gjøre nå, er faktisk å lage filen. Heldigvis gir Autokey en metode for det også i systemmodulen:
import tid time.sleep (0.25) notecontent = clipboard.get_selection () notepath = "/ home / aaron / clips /" notename = "notat" + timestrftime ("% Y% m% d% H% M% S") + ".txt" system.create_file (notepath + notename, content = notecontent)
Det er det! Tilordne en hurtigtast, kopier litt tekst, og se hva som skjer. Med de viktigste funksjonene Autokey gir deg, og noen Google-dyktighet, kan du bruke Autokey for avansert desktop scripting.
1. Velger teksten
2. Trykk hurtigtasten, og en ny tekstfil vises
3. Og det er vår valgte tekst, vist i den mindre utgaven av tekstfilen.
Hvilke andre bruksområder bruker du Autokey for?