Kapitel 3. DCOP-grænseflade

Indholdsfortegnelse

DCOP's adgang til opsætning
Tag skærmaftryk med DCOP
Udskriv skærmaftryk med DCOP
Kontrol af programmet med DCOP

KSnapshot kan styres via scripter med DCOP-grænsefladen. Dette kapitel forklarer de forskellige DCOP-kald som kan bruges, og giver nogle eksempel på hvordan de bruges.

Som med alle DCOP-kald, skal du angive programmet som du vil påvirke, og den specifikke grænseflade. For KSnapshot skal du angive det specifikke program, som er ksnapshot efterfulgt af procesnummeret.

For at starte KSnapshot og opnå de rigtige flag, bruges dcopstart ksnapshot, som returnerer flag (såsom ksnapshot-20594) på standardudskriften.

Du kan få en liste med tilgængelige DCOP-grænseflader, for at bruge de rigtige flag, som vist i dette eksempel:

$ dcop `dcopstart ksnapshot` interface
QCStringList interfaces()
QCStringList functions()
QString url()
void slotGrab()
void slotPrint()
void slotSave()
bool save(QString filename)
void slotSaveAs()
void slotCopy()
void setTime(int newTime)
int timeout()
void setURL(QString newURL)
void setGrabMode(int grab)
int grabMode()
void slotMovePointer(int x,int y)
void exit()

I følgende eksempel er processen altid ksnapshot-23151.

DCOP's adgang til opsætning

For hver af indstillingerne som du kan ændre via den grafiske grænsefladen kan du både hente indstillingens nuværende værdi, og ændre indstillingen, via DCOP.

Du kan hente nuværende indfangningstilstand med kaldet grabMode, som vises nedenfor:

$ dcop ksnapshot-23151 interface grabMode
Det returnerer 0 for fuldskærm, 1 for vindue og 2 for område.

Du kan indstille indfangningstilstand med setGrabMode, som kræver et argument som identificerer tilstanden som ønskes (som i kaldet grabMode). Du kan altså indstille vinduesindfangningstilstand (1) med:

$ dcop ksnapshot-23151 interface setGrabMode 1

Du kan hente nuværende forsinkelsesindstilling (det grafiske objekt Forsinkelse for skærmaftryk:) med kaldet timeout, som vises nedenfor:

$ dcop ksnapshot-23151 interface timeout
Det returnerer forsinkelsen i sekunder, eller nul hvis der ikke er nogen forsinkelse (klik for at indfange).

Du kan indstille forsinkelsen med setTime, som kræver et argument som identificerer forsinkelsens længde. Du kan altså indstille forsinkelsen 4 sekunder med:

$ dcop ksnapshot-23151 interface setTime 4

Du kan hente søgestien hvor skærmaftrykket gemmes med kaldet url, som vises nedenfor:

$dcop ksnapshot-23151 interface url
Det returnerer filnavnet som en URL (f.eks. som file:///home/bradh/test2.png).

Du kan indstille søgestien med kommandoen setURL, som kræver et strengargument som identificerer den nye søgesti. Du kan altså indstille søgestien til file:///home/bradh/skærmaftryk.jpg med:

$ dcop ksnapshot-23151 interface setURL file:///home/bradh/skærmaftryk.jpg