Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Tips and Tricks | Trucs et Astuces Lancer CD avec une commande DBus ou Python
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Tips and Tricks | Trucs et Astuces

Subjects Author Language Messages Last message
[Locked] Lancer CD avec une commande DBus ou Python
Page : 1 2
FrankKubuntu Français 26 matttbe [Read]
19 January 2014 à 10:10

FrankKubuntu, Monday 13 January 2014 à 00:44


Subscription date : 21 October 2009
Messages : 1575
Allo!

Non je n'ai pas la réponse. Je la cherche! lolll

Est-ce possible de lancer le dock avec une commande DBus ou avec une commande Python?

Le Wiki ne donne pas d'indication là-dessus et une recheche sur google je n'ai pas trouvé comment lancer un programme avec Python. AVec DBus il semble que c'est "dbus-launch cairo-dock"?

Merci!

matttbe, Monday 13 January 2014 à 13:23


Subscription date : 24 January 2009
Messages : 12573
Mais allô quoi?

Euh, je ne comprends pas trop l'intérêt. Si tu veux lancer le dock avec une commande, il y a celle-ci, un peu magique oui je sais
cairo-dock


Pour Python, il y a plusieurs manières (au-moins avec os.Popen, subprocess.Popen, os.system, subprocess.call, etc.)
from subprocess import call
call
("cairo-dock")

import os
os
.system("cairo-dock")

FrankKubuntu, Monday 13 January 2014 à 13:31


Subscription date : 21 October 2009
Messages : 1575
Pcq la commande
cairo-dock
ne fonctionne pas bien lors d'un resume, elle ne démarre pas systray et bloque ma poubelle (3 petits points au lieu du poids sur la poubelle). Que je lance un script user par un hook sleep.d du style "su -c - username /script.sh" ou carrément la commande dans le hook "su -c -username 'cairo-dock'", ça fait la même chose.

Plus bizarre encore, si je décide, après le resume, de lancer un script à partir de CD qui va faire un pkill de CD et un cairo-dock pour le lancer, ça ne corrige pas le problème. Les commandes Dbus ne fonctionnent pas du tout non plus. Alors je dois faire un QUIT manuel par le right-click dans CD et lancer CD par klauncher ou d'une session shell. J'ai même été plus loin, dans mon hook sleep.d j'ai mis 4 commandes de pkill CD, sleep 3 et cairo-dock et à chaque démarrage de CD le systray n'y était pas et la poubelle était brisée.

Du style
pkill -TERM (le -HUP ne kill pas CD) cairo-dock
sleep 3
nohup cairo-dock > /dev/null 2>&1 &
sleep 3
pkill -TERM cairo-dock
sleep 3
nohup cairo...etc.


Certe pe que ça se corrige, mais je tentais de voir s'il y avait un autre moyen de lancer CD que la commande normale "cairo-dock", au cas où cet autre moyen ne cause pas le soucis ci-haut mentionné.

Je vais voir si avec Python ça fait la même chose, merci!

FrankKubuntu, Monday 13 January 2014 à 14:03


Subscription date : 21 October 2009
Messages : 1575
Ok les commandes python ci-haut fonctionnent bien.

Bon truc!

Dans mon cas, restera à voir si au resume ça va régler mon petit soucis, mais j'ai espoir.

N.B.: La réponse est non, mon soucis est tjrs là, mais rien à voir avec la commande python.

matttbe, Monday 13 January 2014 à 15:32


Subscription date : 24 January 2009
Messages : 12573
Et cette procédure ne t'aide pas? http://glx-dock.org/ww_page.php?p=Recurrents%20problems&lang=en#29-Icons%20are%20corrupted%20after%20waking%20up%20from%20sleep%20mode

FrankKubuntu, Monday 13 January 2014 à 15:49


Subscription date : 21 October 2009
Messages : 1575
Matttbe, j'ai effectué plusieurs corrections sur la page http://www.glx-dock.org/ww_page.php?p=First%20Steps&lang=en#3-Running%20cairo-dock%20at%20startup
CAIRO-dock était écrit CARIO-dock à plusieurs endroits. J'ai également modifié la procédure KDE car avec KDE4 c'est différent de ce qu'y était écrit.

Cette procédure indique de lancer le python script au "startup", le resume n'est pas le même status, donc lancer CD par cette procédure ne fonctionne pas.
Par contre peut-être que lancer le script XML au resume par un hook script fonctionnerait. Mais là je viens de m'en créer un tout simple de 3-4 lignes avec les commandes que tu m'as fournies, si ça fonctionne je vais garder ça.

matttbe, Monday 13 January 2014 à 16:30


Subscription date : 24 January 2009
Messages : 12573
Merci pour les modif

Cette procédure indique de lancer le python script au "startup", le resume n'est pas le même status, donc lancer CD par cette procédure ne fonctionne pas.
Le script écoute les signaux de "resume": lorsque l'on revient d'une mise en veille, le script est averti et réagit et relance le dock (via DBus avec reboot).

FrankKubuntu, Monday 13 January 2014 à 16:40


Subscription date : 21 October 2009
Messages : 1575
Ah ok je comprends.

Via Dbus avec reboot? Bon cette commande fonctionne que très rarement chez moi, c'est pe un autre issue ça.

Je vais tester le script XML et les commandes python que tu m'as remises.
Mais comme j'ai un prob avec le dbus, je ne suis pas sûr que le XML va fonctionner, en fait il fonctionnera probablement, mais mon dbus va lui pèter dedans alors CD ne redémarrera pas si ça arrive.

matttbe, Monday 13 January 2014 à 16:44


Subscription date : 24 January 2009
Messages : 12573
Via Dbus avec reboot? Bon cette commande fonctionne que très rarement chez moi, c'est pe un autre issue ça
Tu peux remplacer le méthode restart_dock() dans le script par ce que tu veux ex: juste remplacer
cd_dbus_iface.Reboot ()
par
cd_dbus_iface.Quit ()
et ajouter en dessous:
os.system("cairo-dock")
(voir ajouter un sleep dans le script)

FrankKubuntu, Monday 13 January 2014 à 16:59


Subscription date : 21 October 2009
Messages : 1575
Le dbus.Quit ne fonctionnera pas si mon Dbus ne veut pas rouler les commandes dbus comme c'est régulièrement le cas.
Je vais pkill cairo-dock au s2ram et remplacer ta commande par python, mais je dois voir si python démarre correctement le systray et la poubelle après un resume du s2ram. Donc plusieurs petites choses à vérifier de mon côté. Tout ça à cause de mon dbus qui est vrm bizarre... Non c pas la faute à KDE!!! J'espère...

matttbe, Monday 13 January 2014 à 19:07


Subscription date : 24 January 2009
Messages : 12573
Ou:
os.system("pkill cairo-dock")


Non c pas la faute à KDE!!! J'espère...

FrankKubuntu, Tuesday 14 January 2014 à 14:09


Subscription date : 21 October 2009
Messages : 1575
L'astuce avec python fonctionne bien. J'ai d'autres soucis dans d'autres threads mais pour l'astuce, python lance bien CD, merci.

FrankKubuntu, Wednesday 15 January 2014 à 22:50


Subscription date : 21 October 2009
Messages : 1575
matttbe :
Via Dbus avec reboot? Bon cette commande fonctionne que très rarement chez moi, c'est pe un autre issue ça
Tu peux remplacer le méthode restart_dock() dans le script par ce que tu veux ex: juste remplacer
cd_dbus_iface.Reboot ()
par
cd_dbus_iface.Quit ()
et ajouter en dessous:
os.system("cairo-dock")
(voir ajouter un sleep dans le script)


Hum, dans le script .py,
cd_dbus_iface.Reboot
n'existe pas. cd_dbus_iface oui, mais pas .Reboot. Comme s'il fallait le compléter nous-mêmes?

matttbe, Wednesday 15 January 2014 à 22:53


Subscription date : 24 January 2009
Messages : 12573
Ligne 51 => https://bazaar.launchpad.net/~cairo-dock-team/cairo-dock-core/scripts/view/head:/refresh_cd_on_resuming.py#L51

FrankKubuntu, Wednesday 15 January 2014 à 22:54


Subscription date : 21 October 2009
Messages : 1575
Ah j'ai trouvé quelque chose, mais c'est pas facile lire et éditer du XML direct dans le code quand on n'est pas habitué.

        <span class="pyg-n">cd_dbus_iface</span><span class="pyg-o">.</span><span class="pyg-n">Reboot</span> <span class="pyg-p">()</span>
    <span class="pyg-k">except</span><span class="pyg-p">:</span>
        <span class="pyg-k">pass</span>


Ici il y a un Reboot. Donc si je veux remplacer le Reboot par du python, j'inscrirais "system("cairo-dock")" car à la place de "cd_dbus_iface" j'inscrirais "os"?

FrankKubuntu, Wednesday 15 January 2014 à 22:55


Subscription date : 21 October 2009
Messages : 1575
Ligne 51?? On doit pas avoir le même fichier, moi j'ai
</ul>


lolll

FrankKubuntu, Wednesday 15 January 2014 à 22:56


Subscription date : 21 October 2009
Messages : 1575
T'as juste 90 lignes là-dedans? Moi j'en ai 286 une fois ouvert dans Kate.

matttbe, Wednesday 15 January 2014 à 22:57


Subscription date : 24 January 2009
Messages : 12573
Attends, aurais-tu fait un clic droit sur le lien / Enregistrer la cible du lien sous...?

Voilà ce qu'il arrive quand on ne lit pas correctement les instructions du wiki

FrankKubuntu, Wednesday 15 January 2014 à 23:05


Subscription date : 21 October 2009
Messages : 1575
Oui exactement. Cette page du wiki ne mentionne rien sur le "right-click" ou "right click". Ça devait être indiqué dans une autre page que je n'ai pas lue, effectivement.
http://glx-dock.org/ww_page.php?p=Recurrents%20problems&lang=en#0-Recurring%20Problems

Bon anyway j'ai copié-collé dans .py et je l'ai setté dans mon autostart, je vais voir demain soir le résultat.

FrankKubuntu, Saturday 18 January 2014 à 14:55


Subscription date : 21 October 2009
Messages : 1575
Alors le script ne fonctionne pas. Un simple
os.system("pkill cairo-dock")
à la ligne 51 ne kill pas CD.

Je vais donc essayer autres choses et ton autre méthode dans l'autre thread.

Tips and Tricks | Trucs et Astuces

Subjects Author Language Messages Last message
[Locked] Lancer CD avec une commande DBus ou Python
Page : 1 2
FrankKubuntu Français 26 matttbe [Read]
19 January 2014 à 10:10


Glx-Dock / Cairo-Dock List of forums Tips and Tricks | Trucs et Astuces Lancer CD avec une commande DBus ou Python Top

Online users : lucky62,

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.