Technical discussions | Discussions techniques
Subscription date : 02 September 2009
Messages : 539
|
Bon, j ai un ti programme sous xchat qui me permet d aller verifier les flux rss de forums/site ( actuellement envirson 80/90 ) ( c est actuellement codé en perl, mais je doit pouvoir le refaire en tcl si le besoin s en fait sentir )
je me dis que je pourrais peut etre le coupler a cairo-dock via le dbus showdialog ( en le sortant d xchat, et en le crontab pour qu il le fasse auto toutes les X minutes ) ( ou une autre methode , je suis open, pour ca en tout cas )
mais est ce qu il est possible de faire ceci
d afficher plusieurs lignes ?? ( j ai essayé \n ( regexp pour aller a la ligne ) et <br>|<br /> , ca marche po )
de rajouter un bouton, genre "ouvrir un nouvel onglet ou une fenetre si pas actif"
et
a quoi corresponde les 3 string:none de :
dbus-send --session --dest=org.cairodock.CairoDock /org/cairodock/CairoDock org.cairodock.CairoDock.ShowDialog string:"Cairo-Dock is great \!" int32:5 string:none string:none string:none
have a nice day
ours_en_pluche |
|
nochka85, Wednesday 16 September 2009 à 19:58
|
|
Subscription date : 02 September 2009
Messages : 539
|
oui je vois, je vais zieuter plus precisement ca nochka85
merci
have a nice day
ours_en_pluche |
|
fabounet, Thursday 17 September 2009 à 12:17
|
|
Subscription date : 30 November 2007
Messages : 17118
|
regarde surtout la documentation sur le wiki
les 3 strings sont pour identifier une icône.
des "\n" feront des retours à la ligne. |
Subscription date : 02 September 2009
Messages : 539
|
oui fabounet, mais par contre bizarrement :
dbus-send --session --dest=org.cairodock.CairoDock /org/cairodock/CairoDock org.cairodock.CairoDock.ShowDialog string:"Cairo-Dock\nCairo-Dock is great \!" int32:5 string:none string:none string:none
ne m affichera pas deux lignes, il faut mettre le texte dans une variable pour que ce soit effectif
( merci matttbe pour cette info )
have a nice day
ours_en_pluche |
|
fabounet, Thursday 17 September 2009 à 12:57
|
|
Subscription date : 30 November 2007
Messages : 17118
|
peut etre avec \\n au lieu de \n |
|
nochka85, Thursday 17 September 2009 à 13:50
|
|
Subscription date : 29 November 2007
Messages : 7408
|
ne m affichera pas deux lignes, il faut mettre le texte dans une variable pour que ce soit effectif
( merci matttbe pour cette info )
Tout à fait, j'avais remarqué çà aussi
peut etre avec \\n au lieu de \n
C'est pareil |
Subscription date : 02 September 2009
Messages : 539
|
re
bon, bin ce sera en variable alors
par contre, un truc qui pourrait etre sympa a implementer, c est de permettre que l on puisse envoyer des balises dans le showdialog pour le rendre un peu plus sympathique, je pense entre autre au balise BBCODE comme on a sur le forum
par exemple, couleur, gras, souligné, code, lien, image.
@fabounet est ce qu il y a moyen d afficher une icone d un prog externe qui n est pas un applet ???
par exemple, j ai refait un showdialog pour les highlight sur irc, et j aimerai bien mettre une icone
have a nice day
ours_en_pluche |
|
fabounet, Thursday 17 September 2009 à 17:24
|
|
Subscription date : 30 November 2007
Messages : 17118
|
oui, cf les 3 strings (et la doc)  |
|
matttbe, Thursday 17 September 2009 à 18:31
|
|
Subscription date : 24 January 2009
Messages : 12573
|
sauf qu'il n'est pas mis à quoi correspond quoi dans la doc  |
Subscription date : 02 September 2009
Messages : 539
|
re
ni dans le wiki
have a nice day
ours_en_pluche |
|
fabounet, Friday 18 September 2009 à 12:03
|
|
Subscription date : 30 November 2007
Messages : 17118
|
? dans le wiki j'en suis pratiquement sûr, avec 2 exemples même. |
|
matttbe, Friday 18 September 2009 à 12:24
|
|
Subscription date : 24 January 2009
Messages : 12573
|
C'est le moment de parier avec Fab !!!  |
|
fabounet, Friday 18 September 2009 à 14:54
|
|
Subscription date : 30 November 2007
Messages : 17118
|
ok
<mode Ken le survivant>
Tu ne le sais pas encore mais tu as déjà perdu.
</mode Ken le survivant>
|
|
matttbe, Friday 18 September 2009 à 15:28
|
|
Subscription date : 24 January 2009
Messages : 12573
|
wiki : Pops up a dialog bubble with a message on a given icon and for a given duration (in seconds). If the icon is not found, it displays the message as a general message. The dialog can be closed by clicking on it.
The following command will pop up a dialog saying "Cairo-Dock is great !" for 5 seconds, which is perfectly true
dbus-send --session --dest=org.cairodock.CairoDock /org/cairodock/CairoDock org.cairodock.CairoDock.ShowDialog string:"Cairo-Dock is great \!" int32:5 string:none string:none string:none
----- (...) -----
ShowDialog
Pops up a dialog bubble on our icon, with a given message and for a given duration (in seconds). The dialog can be closed by clicking on it.
dbus-send --session --dest=org.cairodock.CairoDock /org/cairodock/CairoDock/demo org.cairodock.CairoDock.applet.ShowDialog string:"Cairo-Dock is great \!" int32:5 Il n'est pas mis à quoi correspond quoi  |
Subscription date : 02 September 2009
Messages : 539
|
re
and the winner is ... ( roulement de tambour ) ...
pas plutot mode kenny fabounet ??
ours_en_pluche
yeahhh
/me se cache
have a nice day
ours_en_pluche |
|
fabounet, Friday 18 September 2009 à 16:23
|
|
|
fabounet, Friday 18 September 2009 à 18:22
|
|
Subscription date : 30 November 2007
Messages : 17118
|
allez voila de quoi vous occuper un moment
http://www.xchat.org/docs/plugin20.html
et un petit exemple (l'API est très similaire à celle de CD, tu enregistres ton plug-in, puis tu récupères l'interface correspondante sur le bus)
#! /usr/bin/python
import dbus
bus = dbus.SessionBus()
proxy = bus.get_object('org.xchat.service', '/org/xchat/Remote')
remote = dbus.Interface(proxy, 'org.xchat.connection')
path = remote.Connect ("example.py",
"Python example",
"Example of a D-Bus client written in python",
"1.0")
proxy = bus.get_object('org.xchat.service', path)
xchat = dbus.Interface(proxy, 'org.xchat.plugin')
channels = xchat.ListGet ("channels")
while xchat.ListNext (channels):
name = xchat.ListStr (channels, "channel")
print "------- " + name + " -------"
xchat.SetContext (xchat.ListInt (channels, "context"))
xchat.EmitPrint ("Channel Message", ["John", "Hi there", "@"])
users = xchat.ListGet ("users")
while xchat.ListNext (users):
print "Nick: " + xchat.ListStr (users, "nick")
xchat.ListFree (users)
xchat.ListFree (channels)
print xchat.Strip ("\00312Blue\003 \002Bold!\002", -1, 1|2) |
Subscription date : 02 September 2009
Messages : 539
|
re ben ecrire un code qui affiche via dbus, pas de soucis fabounet
ca t affiche tes stats d aMule
#!/usr/bin/perl
use strict;
use warnings;
my %ourson;
$ourson{'exec'} = "amuled -e -f";
$ourson{'amule_version'} = ":: <pseudo> :: Version ( <version> ) ::";
$ourson{'amule_serveur'} = ":: <pseudo> :: Serveur : <etat> :: Serveur : <serveur> ( <ip> : <port> ) ::";
$ourson{'amule_kad'} = ":: <pseudo> :: Kad : <etat> ::";
$ourson{'amule_dl'} = ":: <pseudo> :: Download ( <tmp> / <max> Ko/s ) :: Total ( <tmp2> / <max2> Mo )::";
$ourson{'amule_ul'} = ":: <pseudo> :: Upload ( <tmp> / <max> Ko/s ) :: Total ( <tmp2> / <max2> Mo )::";
$ourson{'amule_systeme'} = ":: <pseudo> :: Cpu : <cpu>% :: Ram : <ram>% :: Pid : <pid> ::";
$ourson{'amule_partage'} = ":: <pseudo> :: Fichier : <fichier> :: Client : <client> ::";
open(FIC,$ENV{HOME}."/.aMule/amule.conf");
my @tmp = <FIC>;
close(FIC);
my ($max_dl,$max_ul);
foreach my $a (@tmp) {
if ( $a =~ /^MaxDownload=(.*)$/ ) {
$max_dl = $1;
} elsif ( $a =~ /^MaxUpload=(.*)$/ ) {
$max_ul = $1;
}
}
open(FIC,$ENV{HOME}."/.aMule/amulesig.dat");
my @tmp2 = <FIC>;
close(FIC);
my ($serv_state,$serv_name,$serv_ip,$serv_port,$serv_ID,$kad_state,$dl_stat,$ul_stat,$client_stat,$file_share,$nick,$total_dl,$total_ul,$version,$ses_total_dl,$ses_total_ul,$start_stat) = (@tmp2);
$serv_state =~ s/\n//g;$serv_name =~ s/\n//g; $serv_ip =~ s/\n//g; $serv_port =~ s/\n//g; $serv_ID =~ s/\n//g;
if ( $serv_ID =~ /^0$/ ) { $serv_ID = "Deconnecté"; } elsif ( $serv_ID =~ /^H$/ ) { $serv_ID = "HighID"; } elsif ( $serv_ID =~ /^L$/ ) { $serv_ID = "LowID"; }
$kad_state =~ s/\n//g;
if ( $kad_state =~ /^0$/ ) { $kad_state = "Deconnecté";} elsif ( $kad_state =~ /^2$/ ) { $kad_state = "HighID"; } elsif ( $kad_state =~ /^1$/ ) { $kad_state = "LowID"; }
$dl_stat =~ s/\n//g; $ul_stat =~ s/\n//g; $client_stat =~ s/\n//g; $file_share =~ s/\n//g; $nick =~ s/\n//g; $total_dl =~ s/\n//g; $total_ul =~ s/\n//g; $version =~ s/\n//g;
$ses_total_dl =~ s/\n//g; $ses_total_ul =~ s/\n//g;
$ses_total_dl = int($ses_total_dl/1024000); $ses_total_ul = int($ses_total_ul/1024000);
$total_dl = int($total_dl/1024000); $total_ul = int($total_ul/1024000);
$start_stat =~ s/\n//g;$max_ul =~ s/\n//g; $max_dl =~ s/\n//g;
my $tmp3 = `ps aux | grep "$ourson{'exec'}"`;
my ($amule_pid,$amule_cpu,$amule_mem);
foreach my $tmp4 (split(/\n/,$tmp3)) {
if ( $tmp4 !~ /.*grep.*/ ) {
my @tmp5 = split(/\s+/,$tmp4);
($amule_pid,$amule_cpu,$amule_mem) = ($tmp5[1],$tmp5[2],$tmp5[3]);
}
}
my $tmp6 = $ourson{'amule_version'};
$tmp6 =~ s/<pseudo>/$nick/g; $tmp6 =~ s/<version>/$version/g;
my $tmp7 = $ourson{'amule_serveur'};
$tmp7 =~ s/<pseudo>/$nick/g; $tmp7 =~ s/<etat>/$serv_ID/g; $tmp7 =~ s/<serveur>/$serv_name/g; $tmp7 =~ s/<ip>/$serv_ip/g; $tmp7 =~ s/<port>/$serv_port/g;
my $tmp8 = $ourson{'amule_kad'};
$tmp8 =~ s/<pseudo>/$nick/g; $tmp8 =~ s/<etat>/$kad_state/g;
my $tmp9 = $ourson{'amule_dl'};
$tmp9 =~ s/<pseudo>/$nick/g; $tmp9 =~ s/<tmp>/$dl_stat/g; $tmp9 =~ s/<max>/$max_dl/g; $tmp9 =~ s/<tmp2>/$ses_total_dl/g; $tmp9 =~ s/<max2>/$total_dl/g;
my $tmp10 = $ourson{'amule_ul'};
$tmp10 =~ s/<pseudo>/$nick/g; $tmp10 =~ s/<tmp>/$ul_stat/g; $tmp10 =~ s/<max>/$max_ul/g; $tmp10 =~ s/<tmp2>/$ses_total_ul/g; $tmp10 =~ s/<max2>/$total_ul/g;
my $tmp11 = $ourson{'amule_systeme'};
$tmp11 =~ s/<pseudo>/$nick/g;$tmp11 =~ s/<cpu>/$amule_cpu/g;$tmp11 =~ s/<ram>/$amule_mem/g;$tmp11 =~ s/<pid>/$amule_pid/g;
my $tmp12 = $ourson{'amule_partage'};
$tmp12 =~ s/<pseudo>/$nick/g;$tmp12 =~ s/<fichier>/$file_share/g;$tmp12 =~ s/<client>/$client_stat/g;
my $msg = "[_aMule_]\n".$tmp6."\n".$tmp7."\n".$tmp8."\n".$tmp9."\n".$tmp10."\n".$tmp11."\n".$tmp12."\n";
`dbus-send --session --dest=org.cairodock.CairoDock /org/cairodock/CairoDock org.cairodock.CairoDock.ShowDialog string:"$msg" int32:15 string:none string:none string:none`;
1;
mais ca te donne un truc qui ressemble a ca :
et je voulais savoir si y avait moyen d obtenir ca :
ce qui est quand meme un chouillat plus beau a mon avis
Edit : modification et rajout du choix de l executable pour une prise en charge d amule et d amuled
have a nice day
ours_en_pluche |
Subscription date : 26 October 2008
Messages : 1904
|
PIRATE va ....
en plus ton cpu n'aime pas trop ca 34%
As tu essaye deluge ou transmission? |
Technical discussions | Discussions techniques
|