Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Applets | Applets Applet Doncky
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)
Applets | Applets

Subjects Author Language Messages Last message
[Locked] Applet Doncky [Bug #7]
Page : 1 2 3 ...10 11 12 13 14 ...16 17 18
nochka85 Français 356 matttbe [Read]
03 November 2012 à 01:32

taiebot65, Wednesday 30 June 2010 à 20:14


Subscription date : 26 October 2008
Messages : 1904
Si c'est du bash tu peut faire des conditions et lancer une commande dbus..genre notification ..

FrankKubuntu, Wednesday 30 June 2010 à 20:46


Subscription date : 21 October 2009
Messages : 1575
Mais est-ce la commande pourrait changer les couleurs des chiffres, ou ajouter un cercle à l'intérieur des chiffres et faire flasher? Ça prend qque chose de pas trop intrusif, donc ça doit être inclus dans l'applet plutôt qu'une notification à l'externe.

En fait c'est exactement ce que fait gkrellm. En matière de system monitor, y a rien qui bât les fonctions de gkrellm! C'est pour ça que je l'utilise encore, même si graphiquement il jure à tout casser avec KDE4. Aucun autre monitor ne lui va à la cheville, pour l'instant (ça fait déjà des années).

matttbe, Wednesday 30 June 2010 à 21:39


Subscription date : 24 January 2009
Messages : 12573
N'hésite pas à donner des idées plus précises, voir des mockups, c'est tjs utile !

FrankKubuntu, Friday 02 July 2010 à 00:40


Subscription date : 21 October 2009
Messages : 1575
Ah oui? Cool. Alors c'est simple, tout ce que je veux est ici :

http://uppix.net/e/e/9/3a69a56f884658a88df3c216d9873.jpg

En ordre de haut en bas :

- Core % load (user + system + total)
- Core temps + Core number
- Top (3 minimum)
- GPU C (nvidia)
- CPU temp
- Case temp
- Disk temps
- Bridge temp
- CPU Fan
- Case Fan 1
- Case Fan 2
- Case Fan 3
- Core voltage
- Disk I/O Read + Write in Kb/sec (Mb/s lorsque 1000k+)
- Network usage Transmit + Receive of the day in Kb/sec et Mb/sec quand 1000k+
- Network usage Transmit + Receive cumulative from date x to date x of next month (resets at the date you want, every week, month or year) in Kb/sec et Mb/sec quand 1000k+
- RAM usage (free, system, user, used, etc.)
- SWAP (même chose)
- Each partition usage in % or Kb-Mb-Gb (free, used, total)
- Up time in days, hours, mins
- Network IP

Puis des alarmes sur presque tout, haute et basse, warning et critical (donc 4 alarmes par fonction).

Comme ça :

http://uppix.net/e/8/a/21a8555f3c4648ae5fda36943c773.jpg

Et ça, c'est pas bcp, car gkrellm peut faire tellement plus, tu peux déplacer les chiffres ou tu veux, faire des retour de chariot, agrandir ou réduire la taille de chaque senseur, etc...

Avec ça, tu vas remporter des prix c'est certain! Mais j'en convient que c'est pas évident!! Et très long! Mais peut-être peut on commencer qque part si on pense pouvoir tout faire un jour...

J'ai aussi bâti un script que j'ai testé pour un programme remplaçant et il a presque tout, sauf qu'il ne peut pas avoir d'alarmes (moi c'est important).

Ça vient de yasp script KDE http://kde-look.org/content/show.php/Yasp-Scripted?content=109367

###################################################################################################
########################## Yasp Script ###############################
################ openSUSE 11.2 QUAD Cores - Fans, Temps, HDD, VCore #################################
###################################################################################################

default title:color="white" title:font="Dejavu Sans, 13" title:shadow="Sunken" title:alignment="Center"
default value:color="white" value:font="Dejavu Sans, 8" value:alignment="Left"

title text="System"
default interval="single"
sensor name="Hostname" type="program" cmd="hostname"
sensor name="Date" type="program" cmd="date | cut -c1-10"
sensor name="KernelVersion" type="program" cmd="uname -r"
default interval="30000"
sensor name="UptimeSecs" type="engine" cmd="systemmonitor:system/uptime:value"
sensor name="UptimeDays" type="math" use="UptimeSecs" math="int $1 86400 /"
sensor name="UptimeHours" type="math" use="UptimeSecs" use="UptimeDays" math="int $1 86400 $2 * - 3600 /"
sensor name="UptimeMinutes" type="math" use="UptimeSecs" use="UptimeDays" use="UptimeHours" math="int $1 86400 $2 * - 3600 $3 * - 60 /"
#use sed for LoadAverage
default interval="60000"
#sensor name="LoadAverage1mn" type="program" cmd="uptime | cut -c46-49"
#sensor name="LoadAverage5mn" type="program" cmd="uptime | cut -c52-55"
#sensor name="LoadAverage15mn" type="program" cmd="uptime | cut -c58-62"
sensor name="LoadAverage" type="program" cmd=%uptime | cut -d":" -f4%
value key=" " use="Hostname" use="Date" use="KernelVersion" format="$1, $2 - Kernel $3"
#value key="Kernel" use="KernelVersion"
value key="Uptime: " use="UptimeDays" use="UptimeHours" use="UptimeMinutes" format="$1 day(s) $2 h $3 m"
#value key="Load Average: " use="LoadAverage1mn" use="LoadAverage5mn" use="LoadAverage15mn" format="$1 1min, $2 5mins, $3 15mins"
value key="Load Average:" use="LoadAverage"


title text="Temperatures"
default interval="single"
sensor name="NVDriver" type="program" cmd="nvidia-settings -q NvidiaDriverVersion | grep 0.0 | sed -e 's/^.*: \(.*\)$/\1/'"
default interval="3000"
sensor name="CpuFreq" type="engine" cmd="systemmonitor:cpu/cpu0/clock:value" math="int $0"
sensor name="GPU" type="program" cmd="nvidia-settings -q GPUCoreTemp | grep 0.0 | sed -e 's/^.*: \(.*\)\./\1/'"
value icon="/usr/share/doc/NVIDIA_GLX-1.0/nvidia-settings.png" key=" " use="NVDriver" use="GPU" format="Driver: $1\nGPU Temp: $2?\n"
sensor name="CPUTemp" type="program" cmd=%sensors | grep -A1 "temp1" | xargs | sed "s/.*: +\([0-9].....\).* \(+[0-9].*\)/\1/"%
sensor name="Cpu0Load" type="engine" cmd="systemmonitor:cpu/cpu0/TotalLoad:value" math="int $0"
sensor name="Cpu1Load" type="engine" cmd="systemmonitor:cpu/cpu1/TotalLoad:value" math="int $0"
sensor name="Cpu2Load" type="engine" cmd="systemmonitor:cpu/cpu2/TotalLoad:value" math="int $0"
sensor name="Cpu3Load" type="engine" cmd="systemmonitor:cpu/cpu3/TotalLoad:value" math="int $0"
sensor name="Core0Temp" type="program" cmd=%sensors | grep -A1 "Core 0" | xargs | sed "s/.*: +\([0-9].....\).* \(+[0-9].*\)/\1/"%
sensor name="Core1Temp" type="program" cmd=%sensors | grep -A1 "Core 1" | xargs | sed "s/.*: +\([0-9].....\).* \(+[0-9].*\)/\1/"%
sensor name="Core2Temp" type="program" cmd=%sensors | grep -A1 "Core 2" | xargs | sed "s/.*: +\([0-9].....\).* \(+[0-9].*\)/\1/"%
sensor name="Core3Temp" type="program" cmd=%sensors | grep -A1 "Core 3" | xargs | sed "s/.*: +\([0-9].....\).* \(+[0-9].*\)/\1/"%
sensor name="SysTemp" type="program" cmd="sensors | grep temp1 | sed -e 's/^.*: *+\([1-9].....\) .*/\1/'"
sensor name="sda" type="program" cmd="sudo hddtemp /dev/sda | sed -e 's/^.*sd.: //'"
sensor name="sdb" type="program" cmd="sudo hddtemp /dev/sdb | sed -e 's/^.*sd.: //'"
sensor name="sdf" type="program" cmd="sudo hddtemp /dev/sdf | sed -e 's/^.*sd.: //'"
sensor name="Bridge" type="program" cmd="sensors | grep temp3 | cut -c14-20"
#sensor name="Bridge" type="program" cmd="sensors | grep temp3 | sed -e 's/^.*: *+\([1-9].....\) .*/\1/'"
sensor name="Vcore" type="program" cmd=%sensors | grep "Vcore Voltage" | xargs | sed "s/.*: +\([0-9].....\).* \(+[0-9].*\)/\1/"%
value key="CPU Frequency" use="CpuFreq" format="$1 MHz"
value key="CPU Temp" use="CPUTemp"
value key="Core0 Temp" use="Core0Temp"
value key="Core1 Temp" use="Core1Temp"
value key="Core2 Temp" use="Core2Temp"
value key="Core3 Temp" use="Core3Temp"
value key="/dev/sda" use="sda"
value key="/dev/sdb" use="sdb"
value key="/dev/sdf" use="sdf"
value key="Bridge Temp" use="Bridge"
value key="Vcore" use="Vcore"
valeu key="Case Temp" use="SysTemp"
plotter use="Cpu0Load" use="Cpu1Load" use="Cpu2Load" use="Cpu3Load" plot="$1" color="red" plot="$2" color="white" plot="$3" color="green" plot="$4" color="blue" min="0" max="100" height="50"

title text="Fan Speeds"
default interval="3000"
sensor name="CPU Fan" type="program" cmd="sensors | grep fan2 | sed -e 's/^.* \([1-9].* RPM\) .*/\1/'"
sensor name="Case Fan 1" type="program" cmd="sensors | grep fan3 | sed -e 's/^.* \([1-9].* RPM\) .*/\1/'"
sensor name="Case Fan 2" type="program" cmd="sensors | grep fan5 | cut -c13-16"
#sensor name="Case Fan 2" type="program" cmd="sensors | grep fan5 | sed -e 's/^.* \([1-9].* RPM\) .*/\1/'"
sensor name="Case Fan 3" type="program" cmd="sensors | grep fan1 | sed -e 's/^.* \([1-9].* RPM\) .*/\1/'"
value key=" " use="CPU Fan" use="Case Fan 1" use="Case Fan 2" use="Case Fan 3" format="CPU Fan: $1\nCase Fan 1: $2\nCase Fan 2: $3\nCase Fan 3: $4"

title text="Network"
default interval="single"
sensor name="Eth0Ip" type="program" cmd=%/sbin/ifconfig eth0 | grep "inet addr" | cut -d":" -f2 | cut -d" " -f1%
default interval="1000"
sensor name="Eth0Down" type="engine" cmd="systemmonitor:network/interfaces/eth0/receiver/data:value"
sensor name="Eth0Up" type="engine" cmd="systemmonitor:network/interfaces/eth0/transmitter/data:value"
value icon="oxygen/22x22/places/network-workgroup.png" iconsize="22" key=" " use="Eth0Ip" use="Eth0Up" format="IP eth0: $1" alignment="Center" format="Up: $2 kB/s" alignment="Right"
plotter use="Eth0Down" use="Eth0Up" min="0" max="1500" plot="$1" color="green" plot="$2" color="red" height="50"
value key=" " use="Eth0Down" format="Down: $1 kB/s" alignment="Right"

title text="Partitions and Memory"
default interval="3000"
sensor name="RamApplicationMb" type="engine" cmd="systemmonitor:mem/physical/application:value" math="int $0 1024 /"
sensor name="RamTotalMb" type="program" cmd=$cat /proc/meminfo | grep MemTotal | sed -e "s/MemTotal: *\([0-9]*\).*/\1/"$ math="int $0 1024 /" interval="single"
sensor name="SwapMbUsed" type="engine" cmd="systemmonitor:mem/swap/used:value" math="int $0 1024 /"
sensor name="SwapMbFree" type="engine" cmd="systemmonitor:mem/swap/free:value" math="int $0 1024 /"
sensor name="SwapMbTotal" use="SwapMbUsed" type="engine" cmd="systemmonitor:mem/swap/free:value" math="int $0 1024 / $1 +"
sensor name="RootUsed" type="engine" cmd="systemmonitor:partitions/root/usedspace:value" math="int $0 256 /"
sensor name="RootFree" type="engine" cmd="systemmonitor:partitions/root/freespace:value" math="int $0 1024 /"
sensor name="RootTotal" use="RootUsed" type="engine" cmd="systemmonitor:partitions/root/freespace:value" math="int $0 256 / $1 +"
sensor name="HomeUsed" type="engine" cmd="systemmonitor:partitions/home/usedspace:value" math="int $0 256 /"
sensor name="HomeFree" type="engine" cmd="systemmonitor:partitions/home/freespace:value" math="int $0 1024 /"
sensor name="HomeTotal" use="HomeUsed" type="engine" cmd="systemmonitor:partitions/home/freespace:value" math="int $0 256 / $1 +"
sensor name="tmpUsed" type="engine" cmd="systemmonitor:partitions/tmp/usedspace:value" math="int $0 256 /"
sensor name="tmpFree" type="engine" cmd="systemmonitor:partitions/tmp/freespace:value" math="int $0 1024 /"
sensor name="tmpTotal" use="tmpUsed" type="engine" cmd="systemmonitor:partitions/tmp/freespace:value" math="int $0 256 / $1 +"
sensor name="imgUsed" type="engine" cmd="systemmonitor:partitions/img/usedspace:value" math="int $0 256 /"
sensor name="imgFree" type="engine" cmd="systemmonitor:partitions/img/freespace:value" math="int $0 1024 /"
sensor name="imgTotal" use="imgUsed" type="engine" cmd="systemmonitor:partitions/img/freespace:value" math="int $0 256 / $1 +"
sensor name="VMUsed" type="engine" cmd="systemmonitor:partitions/VM/usedspace:value" math="int $0 256 /"
sensor name="VMFree" type="engine" cmd="systemmonitor:partitions/VM/freespace:value" math="int $0 1024 /"
sensor name="VMTotal" use="VMUsed" type="engine" cmd="systemmonitor:partitions/VM/freespace:value" math="int $0 256 / $1 +"
sensor name="moviesUsed" type="engine" cmd="systemmonitor:partitions/movies/usedspace:value" math="int $0 256 /"
sensor name="moviesFree" type="engine" cmd="systemmonitor:partitions/movies/freespace:value" math="int $0 1024 /"
sensor name="moviesTotal" use="moviesUsed" type="engine" cmd="systemmonitor:partitions/movies/freespace:value" math="int $0 256 / $1 +"
meter use="RamApplicationMb" use="RamTotalMb" label:0="Ram" label:1="$1 used of $2 Mb" alignment:1="right" min="0" max="$2" value="$1"
meter use="SwapMbUsed" use="SwapMbFree" use="SwapMbTotal" label:0="Swap $3 Mb\$1 Mb used" label:1="$2 Mb free" alignment:1="right" min="0" max="$3" value="$1"
meter use="RootUsed" use="RootFree" use="RootTotal" label:0="root $3 Mb\$1 Mb used" label:1="$2 Mb free" alignment:1="right" min="0" max="$3" value="$1"
meter use="HomeUsed" use="HomeFree" use="HomeTotal" label:0="home $3 Mb\$1 Mb used" label:1="$2 Mb free" alignment:1="right" min="0" max="$3" value="$1"
meter use="tmpUsed" use="tmpFree" use="tmpTotal" label:0="tmp $3 Mb\$1 Mb used" label:1="$2 Mb free" alignment:1="right" min="0" max="$3" value="$1"
meter use="imgUsed" use="imgFree" use="imgTotal" label:0="img $3 Mb\$1 Mb used" label:1="$2 Mb free" alignment:1="right" min="0" max="$3" value="$1"
meter use="VMUsed" use="VMFree" use="VMTotal" label:0="VM $3 Mb\$1 Mb used" label:1="$2 Mb free" alignment:1="right" min="0" max="$3" value="$1"
meter use="moviesUsed" use="moviesFree" use="moviesTotal" label:0="movies $3 Mb\$1 Mb used" label:1="$2 Mb free" alignment:1="right" min="0" max="$3" value="$1"

default interval="1000"
title text="Top"
sensor name="Top" type="program" cmd="ps axo comm,user,pid,pcpu,pmem --sort -%cpu | head -5"
text use="Top" font="Monospace, 8"


Et voici ce que me retourne "sensors"

frank@oskde64:~> sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +39.0°C (high = +82.0°C, crit = +100.0°C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1: +40.0°C (high = +82.0°C, crit = +100.0°C)

coretemp-isa-0002
Adapter: ISA adapter
Core 2: +31.0°C (high = +82.0°C, crit = +100.0°C)

coretemp-isa-0003
Adapter: ISA adapter
Core 3: +36.0°C (high = +82.0°C, crit = +100.0°C)

w83627dhg-isa-0290
Adapter: ISA adapter
Vcore: +1.16 V (min = +0.00 V, max = +1.74 V)
in1: +1.71 V (min = +1.02 V, max = +1.02 V) ALARM
AVCC: +3.30 V (min = +1.02 V, max = +0.54 V) ALARM
VCC: +3.30 V (min = +2.06 V, max = +1.41 V) ALARM
in4: +1.38 V (min = +0.51 V, max = +0.05 V) ALARM
in5: +1.64 V (min = +0.01 V, max = +1.54 V) ALARM
in6: +1.40 V (min = +0.26 V, max = +0.00 V) ALARM
3VSB: +3.30 V (min = +0.00 V, max = +0.29 V) ALARM
Vbat: +3.26 V (min = +2.06 V, max = +2.08 V) ALARM
fan1: 680 RPM (min = 2636 RPM, div = 32) ALARM
fan2: 874 RPM (min = 1298 RPM, div = 8) ALARM
fan3: 691 RPM (min = 2343 RPM, div = 32) ALARM
fan5: 691 RPM (min = 329 RPM, div = 32)
temp1: +27.0°C (high = +9.0°C, hyst = +112.0°C) sensor = thermistor
temp2: +26.0°C (high = +80.0°C, hyst = +75.0°C) sensor = diode
temp3: +121.5°C (high = +80.0°C, hyst = +75.0°C) ALARM sensor = thermistor

matttbe, Friday 02 July 2010 à 13:13


Subscription date : 24 January 2009
Messages : 12573
Je pense que tu peux déjà avoir la majorité des info avec des commandes bash (avec l'utilisation des grep, tail, head, cut, etc.) mais en effet, ce serait plus simple d'avoir des commandes toutes prêtes

FrankKubuntu, Saturday 03 July 2010 à 01:33


Subscription date : 21 October 2009
Messages : 1575
Oui avec le bash, comme on voit dans mes scripts, on peut aller chercher presque tout, y a plusieurs calculs mathématiques à faire, mais sinon avec les sensors tout est là par bash ou presque.

Y a juste les alarmes là c'est autre chose.

matttbe, Saturday 03 July 2010 à 02:50


Subscription date : 24 January 2009
Messages : 12573
Tu sais faire des calculs en bash et utiliser des conditions (pour les alarmes)

Mais ce serait plus simple pour l'utilisateur si des outils étaient déjà prévus

FrankKubuntu, Saturday 03 July 2010 à 22:25


Subscription date : 21 October 2009
Messages : 1575
Moi? Oh non je ne sais pas faire des calculs en bash et conditions :), j'ai repris une base et je l'ai modifiée et adaptée à c'que je voulais, avec oui des calculs différents, mais j'ai fouillé longtemps pour le faire. Sinon ça s'arrête là.

gkrellm a tous les outils, car tout est dans le GUI, en effet. C'est pour ça qu'il n'est pas battable. Mais c long bâtir tous les outils! C ça le problème... et je ne sais pas si on veut faire ça avec Doncky...

taiebot65, Monday 12 July 2010 à 20:52


Subscription date : 26 October 2008
Messages : 1904
Oups j'avais oublie la demande de Nochka...

Voila mes donky dans la nouvelle version...
Le lien vers les polices.

Santos Dumont http://img.dafont.com/dl/?f=santos_dumont
A Bite http://img.dafont.com/dl/?f=a_bite

<doncky>

    <!-- Time -->

    <alignW>center</alignW>
    <font>Santos Dumont 90</font>
    <color>255;255;255;255</color>
    <cmd>
        <echo>`uptime | cut -d" " -f2`</echo>
        <refresh>1</refresh>
    </cmd>
    <br>2</br>
    <alignW>right</alignW>
    <font>A bite 24</font>
    <color>255;255;255;255</color>
    <txt>TIME </txt>
    
</doncky>


Affichage...
http://uppix.net/3/5/4/d887aa06dc82047a612c310518d30tt.jpg

taiebot65, Monday 12 July 2010 à 21:07


Subscription date : 26 October 2008
Messages : 1904
Et le deuxieme beaucoup plus complique ..
Ce qui est vraiment interessant pour moi c'est la conso 3G.. Grace a cette applet ca me permet de voir ma conso au mois ..

Police meme que dans le post precedent..

<!-- Sample code -->
<!-- Author : Yann Dulieu (nochka85) -->
<!--
This file is a part of the Cairo-Dock project

Copyright : (C) see the 'copyright' file.
E-mail : see the 'copyright' file.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/ >.-->
<doncky>

    <br>8</br>

    <alignW>center</alignW>
    <font>A bite 24</font>
    <color>255;255;255;255</color>
    <txt>System </txt>
    <br>8</br>

    <!-- Version GNU/Linux -->
    <alignW>left</alignW>
    <font>UnDotum Bold 10</font>
    <color>0;0;0;255</color>
    <cmd>
        <echo>`uname -o` version : </echo>
    </cmd>
    <font>UnDotum Bold 10</font>
    <alignW>left</alignW>
    <color>0;0;0;255</color>
    <cmd>
        <echo>`cat /etc/issue.net` $(lsb_release -sc)</echo>
    </cmd>
    <br>1</br>
    <alignW>left</alignW>
    <font>UnDotum Bold 10</font>
    <color>0;0;0;255</color>
    <txt>Version du Noyau : </txt>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <cmd>
        <bash>uname -r</bash>
    </cmd>        
    <br>1</br>
    <br>8</br>
    <alignW>center</alignW>
    <font>A bite 24</font>
    <color>255;255;255;255</color>
    <txt>Processus </txt>
    <br>1</br>
    <!-- CPU Usage -->
    <alignW>left</alignW>
    <font>UnDotum Bold 10</font>
    <color>0;0;0;255</color>
    <txt>CPU Usage : </txt>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <cmd>
        <internal>cpuperc</internal>
        <refresh>5</refresh>
    </cmd>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <txt>%</txt>
    <color>0;0;0;255</color>
    <cmd>
        <bar>cpuperc;10</bar>
        <refresh>5</refresh>
    </cmd>
    <br>5</br>
    <font>UnDotum Bold 10</font>
    <color>0;0;0;255</color>
    <txt>RAM : </txt>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <cmd>    
        <internal>mem</internal>
        <refresh>3</refresh>
    </cmd>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <txt>Mo/</txt>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <cmd>
        <internal>memmaxg</internal>
    </cmd>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <txt>Go - </txt>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <cmd>
        <internal>memperc</internal>
        <refresh>3</refresh>
    </cmd>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <txt>%</txt>
    <color>0;0;0;255</color>
    <cmd>
        <bar>memperc;10</bar>
        <refresh>3</refresh>
    </cmd>
    <br>1</br>
    <!-- Swap Perc -->
    <font>UnDotum Bold 10</font>
    <color>0;0;0;255</color>
    <txt>Swap : </txt>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <cmd>
        <internal>swap</internal>
        <refresh>3</refresh>
    </cmd>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <txt>Mo/</txt>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <cmd>    
        <internal>swapmaxg</internal>
    </cmd>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <txt>Go - </txt>
    
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <cmd>
        <internal>swapperc</internal>
        <refresh>3</refresh>
    </cmd>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <txt>%</txt>
    <color>0;0;0;255</color>
    <cmd>
        <bar>swapperc;10</bar>
        <refresh>3</refresh>
    </cmd>
    <br>8</br>
    <alignW>center</alignW>
    <font>A bite 24</font>
    <color>255;255;255;255</color>
    <txt>Friends </txt>
    <br>1</br>
    <alignW>left</alignW>
    <font>UnDotum Bold 10</font>
    <color>0;0;0;255</color>
    <cmd>
        <bash>/home/taiebot/Cairo-dock/conkypidgin-2.11/conkyPidgin.py -o -t /home/taiebot/Cairo-dock/conkypidgin-2.11/example/conkyPidgin.template</bash>
        <refresh>30</refresh>
    </cmd>
    <br>8</br>
    <alignW>center</alignW>
    <font>A bite 24</font>
    <color>255;255;255;255</color>
    <txt>Network </txt>
    <br>1</br>
    <alignW>left</alignW>
    <font>UnDotum Bold 10</font>
    <color>0;0;0;255</color>
    <txt>Ip adress :</txt>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <cmd>
        <bash>/home/taiebot/IP.sh</bash>
        <refresh>800</refresh>
    </cmd>
    <br>1</br>
    <alignW>left</alignW>
    <font>UnDotum Bold 10</font>
    <color>0;0;0;255</color>
    <txt>Today : </txt>
    <font>UnDotum Bold 9</font>
    <color>0;0;0;255</color>
    <cmd>
        <bash>/home/taiebot/ppp0.sh</bash>
        <refresh>300</refresh>
    </cmd>
    <br>1</br>
    <font>UnDotum Bold 10</font>
    <color>0;0;0;255</color>
    <txt>Last Seven days : </txt>
    <font>UnDotum Bold 9</font>
    <alignW>left</alignW>
    <color>0;0;0;255</color>
    <cmd>
        <bash>/home/taiebot/ppp0-1.sh</bash>
        <refresh>300</refresh>
    </cmd>
    <br>1</br>
    <font>UnDotum Bold 10</font>
    <color>0;0;0;255</color>
    <txt>Consommation du mois : </txt>
    <font>UnDotum Bold 9</font>
    <alignW>left</alignW>
    <color>0;0;0;255</color>
    <cmd>
        <bash>/home/taiebot/ppp0-2.sh</bash>
        <refresh>300</refresh>
    </cmd>
    <br>8</br>
    <alignW>center</alignW>
    <font>A bite 24</font>
    <color>255;255;255;255</color>
    <txt>Activities </txt>
    <br>-45</br>
    <font>UnDotum Bold 9</font>
    <alignW>left</alignW>
    <color>0;0;0;255</color>
    <cmd>
        <bash>/home/taiebot/lastactivities.py 6</bash>
        <refresh>300</refresh>
    </cmd>
    <br>1</br>

</doncky>


Si vous voulez je peux donner les scripts pour ceux que ca interesse il y a un script Zeitgest, 3 script pour la conso 3G, un script pour les contacts Pidgins et un script pour l'IP derriere un proxy..

http://uppix.net/8/2/3/dbc72ab9c86262f520e8256ee12a8tt.jpg

matttbe, Tuesday 13 July 2010 à 00:30


Subscription date : 24 January 2009
Messages : 12573
Si vous voulez je peux donner les scripts pour ceux que ca interesse il y a un script Zeitgest, 3 script pour la conso 3G, un script pour les contacts Pidgins et un script pour l'IP derriere un proxy..
Of course

taiebot65, Tuesday 13 July 2010 à 00:45


Subscription date : 26 October 2008
Messages : 1904
Ok alors le script zeitgest en python( Activities) ( il faut avoir zeitgest d'installe)
il faut lancer avec un chiffre x qui va definir les x dernieres activites...
#! /usr/bin/env python
# -.- coding: utf-8 -.-
import sys
import os
import locale
import time
import codecs
from datetime import datetime, date, time
from zeitgeist.client import ZeitgeistDBusInterface
from zeitgeist.datamodel import *

if not len(sys.argv) == 2 or not sys.argv[1].isdigit():
    print 'Usage: %s <number of events>' % sys.argv[0]
    sys.exit(1)

zeitgeist = ZeitgeistDBusInterface()

results = zeitgeist.FindEvents(TimeRange.always(),
    [],
    StorageState.Any,
    sys.argv[1],
    ResultType.MostRecentSubjects)
results = [Event(result) for result in results]

for event in results:
    subjects = event.get_subjects()
    timestamp = float(event.get_timestamp()) / 1000
    date_event = date.fromtimestamp(timestamp)
    date1 = date_event.strftime("%d %B")
    interpretation = event.get_interpretation().split('#')[-1]
    #manifestation = event.get_manifestation().split('#')[-1]
    uri = subjects[0].get_uri()
    if len(subjects) > 1:
        uri += ' (and others)'
    #u = unicode (uri, "utf-8")
    #backToBytes = u.encode( "utf-8" )
    #print '[%d] %s %s: %s' % (timestamp, manifestation, interpretation, uri)
    print '%s %s' %(date1, uri)


Pour la conso 3g (ppp0)=3g vous pouvez changer et regarder la conso autre que 3g mais moi les autres m'interessent pas..

Il faut avoir le paquet vnstat d'installe.

Et apres il y a 3 script

un pour la conso du jour.
#!/bin/sh
vnstat -i ppp0 | grep "today" | awk '{print $8 $9}'


Conso a hebdomadaire
#!/bin/sh
vnstat -w -i ppp0 | grep "last 7 days" | awk '{print $10 $11}'


Conso du mois

#!/bin/sh
export LC_ALL=en_EN.UTF-8

vnstat -m -i ppp0 | grep "`date +"%b '%y"`" | awk '{print $9 $10}'


Ok pour l'adresse IP

#!/bin/bash

# voir ip derriere routeur

wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1 > ip
cat ip


et en dernier le script pidgin la rien de moi tout vient du conky Pidgin..
#!/usr/bin/python
# -*- coding: utf-8 -*-
###############################################################################
# conkyPidgin.py is a simple python script to display
# details of pidgin buddies, for use in conky.
#
# Author: Kaivalagi
# Created: 03/11/2008
# Modifications:
# 03/11/2008 Added --onlineonly option to only show online buddies in the list
# 03/11/2008 Added --ignorelist to handle ignoring unwanted pidgin buddy output
# 03/11/2008 Added --includelist to handle including only wanted pidgin buddy output
# 03/11/2008 Updated to handle buddy group and status_messages
# 03/11/2008 Updated to display a status of "Chatting" when the buddy is messaging
# 04/11/2008 Status message Now html striped from the text
# 07/11/2008 Updated --ignorelist and --includelist options to be based on group names rather than buddy names, not case sensitive now either
# 07/11/2008 Added --onlinetext, --offlinetext and --chattingtext options to set custom text for status output
# 08/11/2008 Updated sorting to not be case sensitive and be ordered by status (chatting, online then offline), group then alias
# 10/11/2008 Added --errorlog and --infolog options to log data to a file
# 12/10/2008 Updated to now handle available, unavailable, invisible, away and mobile statuses. All have thier own text options for output.
# 12/10/2008 Added --availableonly option to only show available buddies
# 14/10/2008 Added code to cope with no match on statustype, will output available in this case...
# 15/11/2008 Now loading the template file in unicode mode to allow for the extended character set
# 18/11/2008 Changed option tags from <...> to [...], so <eta> now needs to be [eta] in the template to work
# 16/12/2008 Fixed buddy status handling
# 07/01/2009 Updated to sort based on activity in logs initially, falling back to groups then names after that in case no logging is switched on
# 07/01/2009 Added --limit option to restrict the number of buddies output, works in conjunction with new sort method
# 08/01/2009 Added --sortbylogactivity to change the sorting method to log file based, if not used default sorting by status, group then alias is done as before
# 17/01/2009 Added --offlineonly option, so only offline buddies are displayed in the list...
# 18/05/2009 Updated to expand ~ based template paths
# 27/06/2009 Updated to make safe the output, replacing "${exec" text with "$e!noexec!", to stop unwanted conky execution

from datetime import datetime
from htmlentitydefs import name2codepoint
from optparse import OptionParser
import re
import sys
import traceback
import codecs
import os
import stat
try:
import dbus
DBUS_AVAIL = True
except ImportError:
# Dummy D-Bus library
class _Connection:
get_object = lambda *a: object()
class _Interface:
__init__ = lambda *a: None
ListNames = lambda *a: []
class Dummy: pass
dbus = Dummy()
dbus.Interface = _Interface
dbus.service = Dummy()
dbus.service.method = lambda *a: lambda f: f
dbus.service.Object = object
dbus.SessionBus = _Connection
DBUS_AVAIL = False

class CommandLineParser:

parser = "none"

def __init__(self):

self.parser = OptionParser()
self.parser.add_option("-t", "--template", dest="template", type="string", metavar="FILE", help=u"Template file determining the format for each buddy's data. Use the following placeholders: [name], [alias], [group], [status], [status_message].")
self.parser.add_option("-o", "--onlineonly", dest="onlineonly", default=False, action="store_true", help=u"Only show online buddies")
self.parser.add_option("-a", "--availableonly", dest="availableonly", default=False, action="store_true", help=u"Only show available buddies")
self.parser.add_option("-f", "--offlineonly", dest="offlineonly", default=False, action="store_true", help=u"Only show offline buddies")
self.parser.add_option("-i", "--ignorelist", dest="ignorelist", type="string", metavar="LIST", help=u"A comma delimited list of groups to ignore. Partial text matches on group will be ignored if found")
self.parser.add_option("-I", "--includelist", dest="includelist", type="string", metavar="LIST", help=u"A comma delimited list of groups to include. Partial text matches on group will be included if found. The ignorelist, if used, takes precedence. if this list is omitted all groups will be included unless ignored.")
self.parser.add_option("-C", "--chattingtext", dest="chattingtext", type="string", default="Chatting", metavar="TEXT", help=u"[default: %default] Text to use for chatting status output")
self.parser.add_option("-A", "--availabletext", dest="availabletext", type="string", default="Available", metavar="TEXT", help=u"[default: %default] Text to use for available status output")
self.parser.add_option("-U", "--unavailabletext", dest="unavailabletext", type="string", default="Unavailable", metavar="TEXT", help=u"[default: %default] Text to use for unavailable status output")
self.parser.add_option("-N", "--invisibletext", dest="invisibletext", type="string", default="Invisible", metavar="TEXT", help=u"[default: %default] Text to use for invisible status output")
self.parser.add_option("-W", "--awaytext", dest="awaytext", type="string", default="Away", metavar="TEXT", help=u"[default: %default] Text to use for away status output")
self.parser.add_option("-M", "--mobiletext", dest="mobiletext", type="string", default="Mobile", metavar="TEXT", help=u"[default: %default] Text to use for mobile status output")
self.parser.add_option("-F", "--offlinetext", dest="offlinetext", type="string", default="Offline", metavar="TEXT", help=u"[default: %default] Text to use for offline status output")
self.parser.add_option("-l", "--limit", dest="limit", type="int", default=0, metavar="NUMBER", help=u"[default: %default] Set a limit to the number of buddies displayed, by default no limitation is made")
self.parser.add_option("-s", "--sortbylogactivity", dest="sortbylogactivity", default=False, action="store_true", help=u"If used the list is sorted by most recent activity first, this is useful when limiting the list size with the limit option")
self.parser.add_option("-v", "--verbose", dest="verbose", default=False, action="store_true", help=u"Request verbose output, not a good idea when running through conky!")
self.parser.add_option("-V", "--version", dest="version", default=False, action="store_true", help=u"Displays the version of the script.")
self.parser.add_option("--errorlogfile", dest="errorlogfile", type="string", metavar="FILE", help=u"If a filepath is set, the script appends errors to the filepath.")
self.parser.add_option("--infologfile", dest="infologfile", type="string", metavar="FILE", help=u"If a filepath is set, the script appends info to the filepath.")

def parse_args(self):
(options, args) = self.parser.parse_args()
return (options, args)

def print_help(self):
return self.parser.print_help()

class PidginData:

def __init__(self, name, alias, group, status, status_message, activitydatetime):
self.name = name
self.alias = alias
self.group = group
self.status = status
self.status_message = status_message
self.activitydatetime = activitydatetime

def __cmp__(self, other):
return cmp(str(self.status)+self.group.lower()+self.alias.lower(), str(other.status)+other.group.lower()+other.alias.lower())

def __str__(self):
return str(self.name+"("+self.alias+")")

class PidginInfo:

STATUS_OFFLINE = 1
STATUS_AVAILABLE = 2
STATUS_UNAVAILABLE = 3
STATUS_INVISIBLE = 4
STATUS_AWAY = 5
STATUS_EXTENDED_AWAY = 6
STATUS_MOBILE = 7
STATUS_TUNE = 8

TEXT_CHATTING = 1
TEXT_AVAILABLE = 2
TEXT_UNAVAILABLE = 3
TEXT_INVISIBLE = 4
TEXT_AWAY = 5
TEXT_MOBILE = 6
TEXT_OFFLINE = 7

PIDGIN_LOGS_PATH = "~/.purple/logs"

def __init__(self, options):
self.options = options

def testDBus(self, bus, interface):
obj = bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus')
dbus_iface = dbus.Interface(obj, 'org.freedesktop.DBus')
avail = dbus_iface.ListNames()
return interface in avail

def getStatusText(self, status):

if status == self.TEXT_CHATTING:
return self.options.chattingtext
elif status == self.TEXT_AVAILABLE:
return self.options.availabletext
elif status == self.TEXT_UNAVAILABLE:
return self.options.unavailabletext
elif status == self.TEXT_INVISIBLE:
return self.options.invisibletext
elif status == self.TEXT_AWAY:
return self.options.awaytext
elif status == self.TEXT_MOBILE:
return self.options.mobiletext
elif status == self.TEXT_OFFLINE:
return self.options.offlinetext
else:
return ""

def getOutputFromTemplate(self, template, name, alias, group, status, status_message):

try:

output = template

output = output.replace("[name]",name)
output = output.replace("[alias]",alias)
output = output.replace("[group]",group)
output = output.replace("[status]",self.getStatusText(status))
output = output.replace("[status_message]",status_message)

# get rid of any excess crlf's
output = output.rstrip(" \n")

return output

except Exception,e:
self.logError("getOutputFromTemplate:Unexpected error:" + e.__str__())
return ""

def getPidginData(self):

pidginDataList = []

try:

bus = dbus.SessionBus()

if self.testDBus(bus, 'im.pidgin.purple.PurpleService'):

self.logInfo("Setting up dbus interface")

remote_object = bus.get_object("im.pidgin.purple.PurpleService","/im/pidgin/purple/PurpleObject")
iface = dbus.Interface(remote_object, "im.pidgin.purple.PurpleService")

self.logInfo("Calling dbus interface for IM data")

# Iterate through every active account
for acctID in iface.PurpleAccountsGetAllActive():

# get all the buddies associated with that account
buddies = iface.PurpleFindBuddies(acctID,"")

for buddyid in buddies:

groupid = iface.PurpleBuddyGetGroup(buddyid)

# get initial data
alias = iface.PurpleBuddyGetAlias(buddyid)
name = iface.PurpleBuddyGetName(buddyid)
online = iface.PurpleBuddyIsOnline(buddyid)
group = iface.PurpleGroupGetName(groupid)

if self.ignoreGroup(group) == False:

if self.includeGroup(group) == True:

addBuddy = False

if self.options.onlineonly == True:
if online == 1:
addBuddy = True
elif self.options.offlineonly == True:
if online == 0:
addBuddy = True
else:
addBuddy = True

if addBuddy == True:

# determine whether to show this buddies details based on onlineonly option
#if online == 1 or self.options.onlineonly == False:

available = 0

# retrieve buddy status
presenceid = iface.PurpleBuddyGetPresence(buddyid)
status = iface.PurplePresenceGetActiveStatus(presenceid)

# get extended message if set
status_message = self.getCleanText(iface.PurpleStatusGetAttrString(status, "message")) # getCleanText needed for google encoded text

# get the status type, id and text
statustype = iface.PurpleStatusGetType(status)
statusid = iface.PurpleStatusTypeGetPrimitive(statustype)
statustypetext = iface.PurpleStatusTypeGetId(statustype)

if online == 1:
if self.isBuddyChatting(name,iface):
statustext = self.TEXT_CHATTING
available = 1
else:
if statusid == self.STATUS_AVAILABLE:
statustext = self.TEXT_AVAILABLE
available = 1

elif statusid == self.STATUS_UNAVAILABLE:
statustext = self.TEXT_UNAVAILABLE

elif statusid == self.STATUS_INVISIBLE:
statustext = self.TEXT_INVISIBLE

elif statusid == self.STATUS_AWAY or statusid == self.STATUS_EXTENDED_AWAY:
statustext = self.TEXT_AWAY

elif statusid == self.STATUS_MOBILE:
statustext = self.TEXT_MOBILE

elif statusid == self.STATUS_TUNE:
#TODO: need icon for STATUS_TUNE whatever that is...
statustext = self.TEXT_AVAILABLE

else: # catch all in case no match on statustype, guess available
statustext = self.TEXT_AVAILABLE
else:
statustext = self.TEXT_OFFLINE

# determine whether to show this buddies details based on availableonly option
if available == 1 or self.options.availableonly == False:

# get latest activity datetime
activitydatetime = self.getBuddyActivityDatetime(self.PIDGIN_LOGS_PATH, name)

self.logInfo("Adding IM data for buddy '%s', status type '%s' -> status text '%s'"%(alias, statustypetext, self.getStatusText(statustext)))

pidginData = PidginData(name, alias, group, statustext, status_message, activitydatetime)
pidginDataList.append(pidginData)

# tidy up
del iface
del remote_object
del bus

# sort the list
if self.options.sortbylogactivity == True:
pidginDataList.sort(key=lambda obj: obj.activitydatetime,reverse=True)
else:
pidginDataList.sort()

return pidginDataList

except Exception, e:
self.logError("Issue calling the dbus service:"+e.__str__())

def writeOutput(self):

if self.options.template == None:

# create default template
template = "[alias] ([group]) - [status]\n [status_message]"
else:
# load the template file contents
try:
fileinput = codecs.open(os.path.expanduser(self.options.template), encoding='utf-8')
template = fileinput.read()
fileinput.close()
except:
self.logError("Template file no found!")
sys.exit(2)

try:

pidginDataList = self.getPidginData()

self.logInfo("Outputting buddy information...")

buddyCount = 0

for pidginData in pidginDataList:

# keep a tally of buddies output, if past the limit then exit
if self.options.limit <> 0:
buddyCount = buddyCount+1
if buddyCount > self.options.limit:
break

# output pidgin buddy data using the template
output = self.getOutputFromTemplate(template, pidginData.name, pidginData.alias, pidginData.group, pidginData.status, pidginData.status_message)
output = self.getMadeSafeOutput(output)
print output.encode("utf-8")

except SystemExit:
self.logError("System Exit!")
return u""
except Exception, e:
traceback.print_exc()
self.logError("Unknown error when calling writeOutput:" + e.__str__())
return u""

def getBuddyActivityDatetime(self, basefolder, buddyname):

basefolder = os.path.expanduser(basefolder)
latestmodifieddatetime = datetime(2000, 1, 1, 0, 0)

# if the folder passed in is non existant return an empty list
if os.path.exists(basefolder):

# for each file or folder
for root, dirs, files in os.walk(basefolder):

for dir in dirs:
if dir == buddyname:

buddypath = os.path.join(root,dir)
moddatetime = self.getLatestLogFileModificationDatetime(buddypath, latestmodifieddatetime)
if moddatetime > latestmodifieddatetime:
latestmodifieddatetime = moddatetime

return latestmodifieddatetime

def getLatestLogFileModificationDatetime(self, folderpath, latestmodifieddatetime):

for file in os.listdir(folderpath):
filepath = os.path.join(folderpath,file)
if os.path.isfile(filepath):
modifieddate = datetime.fromtimestamp(os.stat(filepath)[stat.ST_MTIME])
if modifieddate > latestmodifieddatetime:
latestmodifieddatetime = modifieddate

return latestmodifieddatetime

def isBuddyChatting(self,name,iface):
imids = iface.PurpleGetIms()
for imid in imids:
convname = iface.PurpleConversationGetName(imid)
if convname == name:
return True

return False

def ignoreBuddy(self, name, alias):

if self.options.ignorelist != None:

# for each text in the ignore list, should we be ignoring the buddy
for ignore in self.options.ignorelist.split(","):
# has the buddy been found in the list item
if name.lower().find(ignore.lower()) != -1 or alias.lower().find(ignore.lower()) != -1:
return True

return False

else:
return False

def includeBuddy(self, name, alias):

if self.options.includelist != None:

# for each text in the ignore list, should we be ignoring the buddy
for include in self.options.includelist.split(","):
# has the buddy been found in the list item
if name.lower().find(include.lower()) != -1 or alias.lower().find(include.lower()) != -1:
return True

return False

else:
return True

def ignoreGroup(self, group):

if self.options.ignorelist != None:

# for each text in the ignore list, should we be ignoring the buddy in the group
for ignore in self.options.ignorelist.split(","):
# has the group been found in the list item
if group.lower().find(ignore.lower()) != -1:
return True

return False

else:
return False

def includeGroup(self, group):

if self.options.includelist != None:

# for each text in the ignore list, should we be ignoring the buddy in the group
for include in self.options.includelist.split(","):
# has the group been found in the list item
if group.lower().find(include.lower()) != -1:
return True

return False

else:
return True

def getCleanText(self,text):
text = text.replace("&apos;","'") # workaround for shitty xml codes not compliant with html
text = re.sub('<(.|\n)+?>','',text) # remove any html tags
return re.sub('&(%s);' % '|'.join(name2codepoint), lambda m: chr(name2codepoint[m.group(1)]), text)

def logInfo(self, text):
if self.options.verbose == True:
print >> sys.stdout, "INFO: " + text

if self.options.infologfile != None:
datetimestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
fileoutput = open(self.options.infologfile, "ab")
fileoutput.write(datetimestamp+" INFO: "+text+"\n")
fileoutput.close()

def logError(self, text):
print >> sys.stderr, "ERROR: " + text

if self.options.errorlogfile != None:
datetimestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
fileoutput = open(self.options.errorlogfile, "ab")
fileoutput.write(datetimestamp+" ERROR: "+text+"\n")
fileoutput.close()

def getMadeSafeOutput(self, text):
return text.replace("${exec","${!noexec!")

def main():

parser = CommandLineParser()
(options, args) = parser.parse_args()

if options.version == True:
print >> sys.stdout,"conkyPidgin v.2.11"
else:
if options.verbose == True:
print >> sys.stdout, "*** INITIAL OPTIONS:"
print >> sys.stdout, " template:", options.template
print >> sys.stdout, " onlineonly:", options.onlineonly
print >> sys.stdout, " availableonly:", options.availableonly
print >> sys.stdout, " ignorelist:", options.ignorelist
print >> sys.stdout, " includelist:", options.includelist
print >> sys.stdout, " chattingtext:", options.chattingtext
print >> sys.stdout, " availabletext:", options.availabletext
print >> sys.stdout, " unavailabletext:", options.unavailabletext
print >> sys.stdout, " invisibletext:", options.invisibletext
print >> sys.stdout, " awaytext:", options.awaytext
print >> sys.stdout, " mobiletext:", options.mobiletext
print >> sys.stdout, " offlinetext:", options.offlinetext
print >> sys.stdout, " verbose:", options.verbose
print >> sys.stdout, " errorlogfile:",options.errorlogfile
print >> sys.stdout, " infologfile:",options.infologfile

buddyinfo = PidginInfo(options)
buddyinfo.writeOutput()

if __name__ == '__main__':
main()
sys.exit()

ours_en_pluche, Sunday 18 July 2010 à 21:55


Subscription date : 02 September 2009
Messages : 539
bonjour

bon, mon propre Doncky :

http://uppix.net/1/7/c/dffd6d1e3d02db4e469f2e2800e10.png

en taille reelle ici : http://uppix.net/e/9/6/87df3a9dd739698c705aa3f1d1a92.png

avec le fond d ecran, cela donne : http://uppix.net/1/b/f/d8c4cd035aada5a3608b26258cb13.png

taille du desklet : 280x810

et enfin le plus important, l xml : http://dl.free.fr/px0tsW1vC

cordialement

Séb

-----------------------------

Aujourd'hui, résultats du bac.
Comme tous les "terminales", je vais voir les résultats devant le lycée.
Sur les tableaux, je ne trouve pas mon nom, ni aux admis, ni aux repêches, et pour cause : l'administration, aprÚs recherche, n'a pas connaissance de mon nom.
Je vais rester en terminale. VDM

ours_en_pluche, Monday 19 July 2010 à 11:53


Subscription date : 02 September 2009
Messages : 539
bonjour,

tiens, une petite question.

est ce qu il est possible d avoir une mise a la ligne automatique ?

je prend un exemple, je fais un script en perl pour le site de vdm.

ce site doit m afficher une vdm aléatoire, mais le soucis c est que je ne peux connaitre le nombre de lettre affichable avant que ca disparaisse hord du desklet.

j arrive bien a afficher le texte de la vdm, mais j ai ce soucis de depassement.

cordialement

ours_en_pluche

------------------------

Aujourd'hui, cela fait un mois que je travaille au rayon charcuterie d'un supermarché. J'utilise des découpeuses électriques, des trancheuses, des couteaux de 30 cm et... je me suis finalement coupé avec une feuille pour emballer le jambon. VDM

matttbe, Monday 19 July 2010 à 13:39


Subscription date : 24 January 2009
Messages : 12573
Au pire, tu peux également ajouter une fonction pour compter le nombre de caractères et ajouter le retour à la ligne. Mais je me souviens que ceci avait été implémenté dans RSSReader, donc si ça pouvait se faire également dans Doncky, ça ne serait pas plus mal

fabounet, Monday 19 July 2010 à 14:01


Subscription date : 30 November 2007
Messages : 17118
au fait on ne peut pas mettre d'images dans Doncky ?

matttbe, Monday 19 July 2010 à 14:28


Subscription date : 24 January 2009
Messages : 12573
Il me semble que l'on peut, pourquoi?

fabounet, Monday 19 July 2010 à 15:22


Subscription date : 30 November 2007
Messages : 17118
je n'en ai pas vu dans les captures, c'est pour ça que je me demandais.

ours_en_pluche, Monday 19 July 2010 à 18:52


Subscription date : 02 September 2009
Messages : 539
re,

pour l image, je confirme :

img        : Affiche une image - Utilisation : <img>chemin_complet_de_l_image</img>

imgsize        : Définit la taille de l'image en spécifiant la largeur souhaitée (en conservant le ratio)

imgsizeW    : Largeur de l'image (nécéssite de renseigner imgsizeH) pour forcer le ratio

imgsizeH    : Hauteur de l'image (nécéssite de renseigner imgsizeW) pour forcer le ratio


extrait de la documentation

nochka85, Monday 19 July 2010 à 20:01


Subscription date : 29 November 2007
Messages : 7408
La doc n'est pas à jour ... Mais oui, les images sont supportées (il n'y a qu'à retrouver le post avec l'image de mon doncky)

Applets | Applets

Subjects Author Language Messages Last message
[Locked] Applet Doncky [Bug #7]
Page : 1 2 3 ...10 11 12 13 14 ...16 17 18
nochka85 Français 356 matttbe [Read]
03 November 2012 à 01:32


Glx-Dock / Cairo-Dock List of forums Applets | Applets Applet Doncky Top

Online users :

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.