docs.kde.org
Interface DCOP
Précédent
Suivant

Chapitre 3. Interface DCOP

Table des matières

Accès à la configuration DCOP
Prendre des captures d'écran avec DCOP
Imprimer des captures d'écran avec DCOP
Contrôler l'application avec DCOP

KSnapshot peut être contrôlé par un script en utilisant son interface DCOP. Ce chapitre explique le fonctionnement des divers appels DCOP que vous pouvez utiliser, et donne quelques exemples de leur utilisation.

Comme avec tous les appels DCOP, vous devez préciser l'application avec laquelle vous voulez communiquer, ainsi que l'interface correspondante. Pour KSnapshot, l'instance du programme se présente sous la forme suivante : ksnapshot- suivi du numéro du processus.

Pour démarrer KSnapshot et obtenir l'argument correspondant, utilisez dcopstart ksnapshot, qui affiche l'argument (par exemple ksnapshot-20594) sur la sortie standard.

Vous pouvez obtenir une liste de toutes les interfaces DCOP disponibles. Utilisez l'argument correspondant, comme indiqué dans cet exemple :

$ 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()

Dans les exemples suivants, le processus reste toujours ksnapshot-23151.

Accès à la configuration DCOP

Pour chaque option accessible depuis l'interface graphique, vous pouvez à la fois obtenir l'état courant de cette option et modifier son état en utilisant DCOP.

Vous pouvez obtenir le mode de capture courant en utilisant grabMode, comme indiqué ci-dessous :

$ dcop ksnapshot-23151 interface grabMode

En retour, vous obtenez 0 pour le mode plein écran, 1 pour le mode fenêtre seule, et 2 pour le mode capture d'une zone.

Vous pouvez définir le mode de capture en utilisant setGrabMode, suivi de l'argument correspondant au mode désiré (identique à grabMode). Ainsi, vous pouvez passer en mode fenêtre seule (1) en utilisant :

$ dcop ksnapshot-23151 interface setGrabMode 1

Vous pouvez obtenir le délai courant (le Délai de capture de l'interface graphique) en utilisant timeout comme indiqué ci-dessous :

$ dcop ksnapshot-23151 interface timeout

En retour vous obtiendrez le délai en secondes, ou zéro s'il n'y a pas de délai (capture après le clic).

Vous pouvez fixer le délai en utilisant setTime suivi de l'argument correspondant à la durée de ce délai. Ainsi, vous pouvez fixer un délai de 4 secondes en utilisant :

$ dcop ksnapshot-23151 interface setTime 4

Vous pouvez obtenir l'emplacement du dossier de destination des captures en utilisant url comme indiqué ci-dessous :

$dcop ksnapshot-23151 interface url

En retour, vous obtiendrez l'emplacement du fichier sous forme d'URL (par exemple file:///home/bradh/test2.png).

Vous pouvez définir l'emplacement en utilisant setURL suivi d'un argument de type chaîne de caractères correspondant au nouvel emplacement. Ainsi, vous pouvez indiquer l'emplacement file:///home/bradh/snapshot.jpg en utilisant :

$ dcop ksnapshot-23151 interface setURL file:///home/bradh/snapshot.jpg

Précédent
Suivant
Sommaire


docs.kde.org