OK, merci à tous les deux.
Donc j'ai d-feet et je trouve des indications concernant klipper, mais pas quanta. Peut-être que le passage de dcop vers dbus se fait progressivement et il va falloir jongler avec les deux ?
Bon alors, j'apprends, mais les débuts sont laborieux
Voilà mon script de test
#!/bin/sh
echo "test est en route"
test="tralala lalere"
echo "1 : ============================================"
dbus-send --session --type=method_call --print-reply --dest=org.kde.klipper /klipper org.freedesktop.DBus.Introspectable.Introspect
echo "2 : ============================================"
dbus-send --session --type=method_call --print-reply --dest=org.kde.klipper /klipper org.kde.klipper.klipper.getClipboardContents
echo "3 : ============================================"
dbus-send --session --type=method_call --print-reply --dest=org.kde.klipper /klipper org.kde.klipper.klipper.clearClipboardContents
echo "4 : ============================================"
dbus-send --session --type=method_call --print-reply --dest=org.kde.klipper /klipper org.kde.klipper.klipper.getClipboardContents
echo "5 : ============================================"
dbus-send --session --type=method_call --print-reply --dest=org.kde.klipper /klipper org.kde.klipper.klipper.setClipboardContents "$test"
echo "6 : ============================================"
dbus-send --session --type=method_call --print-reply --dest=org.kde.klipper /klipper org.kde.klipper.klipper.getClipboardContents
exit
et voilà ce que cela donne dans la console
[mer 11 juin (~) user] /mnt/Documents/home/bin/test
test est en route
1 : ============================================
method return sender=:1.18 -> dest=:1.84 reply_serial=2
string "<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="org.kde.klipper.klipper">
<method name="getClipboardContents">
<arg type="s" direction="out"/>
</method>
<method name="setClipboardContents">
<arg name="s" type="s" direction="in"/>
</method>
<method name="clearClipboardContents">
</method>
<method name="clearClipboardHistory">
</method>
<method name="getClipboardHistoryMenu">
<arg type="as" direction="out"/>
</method>
<method name="getClipboardHistoryItem">
<arg type="s" direction="out"/>
<arg name="i" type="i" direction="in"/>
</method>
</interface>
<interface name="org.freedesktop.DBus.Properties">
<method name="Get">
<arg name="interface_name" type="s" direction="in"/>
<arg name="property_name" type="s" direction="in"/>
<arg name="value" type="v" direction="out"/>
</method>
<method name="Set">
<arg name="interface_name" type="s" direction="in"/>
<arg name="property_name" type="s" direction="in"/>
<arg name="value" type="v" direction="in"/>
</method>
</interface>
<interface name="org.freedesktop.DBus.Introspectable">
<method name="Introspect">
<arg name="xml_data" type="s" direction="out"/>
</method>
</interface>
</node>
"
2 : ============================================
method return sender=:1.18 -> dest=:1.85 reply_serial=2
string "contenu initial du presse-papier"
3 : ============================================
method return sender=:1.18 -> dest=:1.86 reply_serial=2
4 : ============================================
method return sender=:1.18 -> dest=:1.87 reply_serial=2
string "contenu initial du presse-papier"
5 : ============================================
dbus-send: Data item "tralala lalere" is badly formed
6 : ============================================
method return sender=:1.18 -> dest=:1.89 reply_serial=2
string "contenu initial du presse-papier"
Bon alors, ce que je comprends
La première commande affiche les méthodes concernant klipper offertes par dbus
Ça marche.
La deuxième commande affiche le contenu du presse-papier
Ça marche aussi.
La troisième commande devrait effacer le contenu du presse-papier
Là, ça ne marche pas (est-ce que ça vient de moi ?)
C'est ce qu'indique la quatrième commande : le contenu du presse papier n'a pas changé.
La cinquième commande voudrait que la variable $test soit introduite dans le presse-papier
Là, ma commande doit être incorrecte puisqu'une erreur m'est signalée, mais je ne comprends pas ce qu'il faut faire.
C'est ce que démontre la sixième commande : le contenu du presse-papier n'a toujours pas changé.
Qu'est-ce que je fais mal ?
J'ai trouvé !
dbus-send --session --type=method_call --print-reply --dest=org.kde.klipper /klipper org.kde.klipper.klipper.setClipboardContents string:"$test"
Mais comment récupérer le résultat dans une variable ?