Subscription date : 29 November 2007
Messages : 414
|
oui fab les autres fonctionnent bien |
Subscription date : 30 November 2007
Messages : 17118
|
effectivement il y'avait une erreur
merci de l'avoir relevée |
Subscription date : 29 November 2007
Messages : 414
|
pas de probleme |
Subscription date : 27 April 2008
Messages : 41
|
Je viens de tester netspeed hier soir sur KDE 3.5.9.
Et bien l'aiguille ne m'affiche rien. Comme si elle n'arrivait pas à dialoguer avec mon PC.
Est-ce une applet uniquement gnome ? est-elle basée sur un protocole non dispo sur KDE ?
Merci. |
Subscription date : 30 November 2007
Messages : 17118
|
non elle marche dés que tu as un noyau Linux
et elle gère les multi-coeurs, par contre je l'ai jamais testé avec une connexion wifi, tu es en ethernet ou wifi ? |
Subscription date : 14 January 2008
Messages : 1122
|
netspeed ? les multi-coeurs ? J'ai du raté une évol technologique moi
sinon à l'époque où je l'ai codé c'était basé sur /proc/net/dev fait en un cat pour voir... |
Mav, Monday 23 June 2008 à 17:46
|
|
Subscription date : 29 November 2007
Messages : 3146
|
Mais oui les multi-coeurs de réseaux (les fameux core networks)
Fab faut dormir la nuit |
Subscription date : 14 January 2008
Messages : 1122
|
Non surtout pas après il développerai moins cairo-dock |
Subscription date : 14 January 2008
Messages : 1122
|
ca c'est louche !
Essaye de gratter dans la conf voir (genre tu changes des options) desfois ca marche... |
Subscription date : 27 April 2008
Messages : 41
|
je gratte mais ca marche pô
euh faut que j'arrete de gratter ??? aie l'ecran |
Subscription date : 29 November 2007
Messages : 7408
|
euh faut que j'arrete de gratter ??? aie l'ecran
Tant que tu n'as pas les ongles en sang , il faut continuer !! ..... *Trop dur le boulot de Beta-testeur* |
Subscription date : 30 November 2007
Messages : 17118
|
je jèterai un oeil demain (y'a aussi le bug des demi-reflets) |
Guest, Sunday 13 July 2008 à 18:15
|
|
|
as of July 13 08; netspeed applet has been reporting no speed using interface eth0. eth0 has been confirmed as the correct interface. currently using Cairo-Dock 1.6.0.2 on Ubuntu 7.10. |
Subscription date : 30 November 2007
Messages : 17118
|
exact, it's corrected on the SVN from now, I'll upload a 1.6.1.1 to correct the bug
thanks for the report |
Subscription date : 26 October 2008
Messages : 1904
|
Up UP Up Up il en faut pour deterrer cette applet.. qui doit une petite remontee..
Ayez 3g achete donc j'ai 15Go a surveiller avec toutes les updates de cairo-dock et ubuntu faudra verifier le bousin pour pas payer d'extra. Heavy user inside
Donc pour cette applet il faudrait qu'il additionne Upload et download et qu'il se reset chaque mois ou alors qu'il m'indique le % restant dans une belle jauge..
J'ai essaye de voir dans netspeed parce que ca doit pas etre sorcier de pouvoir faire ca.. mais vraiment c trop pour moi..
J'ai installe anjunta j'ai les sources directions applet netspeed et apres c quoi qu'il faudrait modifier??
Bon je crois que j'ai trouve quelqu'un me dit qu'est ce qu'il faut faire maintenant.. Il faut juste additionner
#include <stdio.h>
#include <string.h>
#include <glib/gi18n.h>
#include <glib.h>
#include <glib/gprintf.h>
#include "applet-struct.h"
#include "applet-notifications.h"
#include "applet-netspeed.h"
#include "cairo-dock.h"
#define NETSPEED_DATA_PIPE "/proc/net/dev"
// Prend un debit en octet par seconde et le transforme en une chaine de la forme : xxx yB/s
static void cd_netspeed_formatRate (CairoDockModuleInstance *myApplet, unsigned long long rate, gchar* debit) {
int smallRate;
if (rate <= 0)
{
if (myDesklet)
g_sprintf(debit, "0 %s/s", D_("B"));
else
g_sprintf(debit, "0");
}
else if (rate < 1024)
{
smallRate = rate;
if (myDesklet)
g_sprintf(debit, "%i %s/s", smallRate, D_("B"));
else
g_sprintf(debit, "%iB", smallRate);
}
else if (rate < (1<<20))
{
smallRate = rate >> 10;
if (myDesklet)
g_sprintf(debit, "%i %s/s", smallRate, D_("KB"));
else
g_sprintf(debit, "%iK", smallRate);
}
else if (rate < (1<<30))
{
smallRate = rate >> 20;
if (myDesklet)
g_sprintf(debit, "%i %s/s", smallRate, D_("MB"));
else
g_sprintf(debit, "%iM", smallRate);
}
else if (rate < ((unsigned long long)1<<40))
{
smallRate = rate >> 30;
if (myDesklet)
g_sprintf(debit, "%i %s/s", smallRate, D_("GB"));
else
g_sprintf(debit, "%iG", smallRate);
}
else // c'est vraiment pour dire qu'on est exhaustif :-)
{
smallRate = rate >> 40;
if (myDesklet)
g_sprintf(debit, "%i %s/s", smallRate, D_("TB"));
else
g_sprintf(debit, "%iT", smallRate);
}
}
void cd_netspeed_get_data (CairoDockModuleInstance *myApplet)
{
g_timer_stop (myData.pClock);
double fTimeElapsed = g_timer_elapsed (myData.pClock, NULL);
g_timer_start (myData.pClock);
g_return_if_fail (fTimeElapsed > 0.1);
gchar *cContent = NULL;
gsize length=0;
GError *erreur = NULL;
g_file_get_contents (NETSPEED_DATA_PIPE, &cContent, &length, &erreur);
if (erreur != NULL)
{
cd_warning("NetSpeed : %s", erreur->message);
g_error_free(erreur);
erreur = NULL;
myData.bAcquisitionOK = FALSE;
}
else
{
int iNumLine = 1;
gchar *tmp = cContent;
long long int iReceivedBytes, iTransmittedBytes;
while (TRUE)
{
if (iNumLine > 3) // les 2 premieres lignes sont les noms des champs, la 3eme est la loopback.
{
while (*tmp == ' ') // on saute les espaces.
tmp ++;
if (strncmp (tmp, myConfig.cInterface, myConfig.iStringLen) == 0 && *(tmp+myConfig.iStringLen) == ':') // c'est l'interface qu'on veut.
{
tmp += myConfig.iStringLen+1; // on saute le ':' avec.
iReceivedBytes = atoll (tmp);
int i = 0;
for (i = 0; i < 8; i ++) // on saute les 8 valeurs suivantes.
{
while (*tmp != ' ') // saute le chiffre courant.
tmp ++;
while (*tmp == ' ') // saute les espaces.
tmp ++;
}
iTransmittedBytes = atoll (tmp);
if (myData.bInitialized) // la 1ere iteration on ne peut pas calculer le debit.
{
myData.iDownloadSpeed = (iReceivedBytes - myData.iReceivedBytes) / fTimeElapsed;
myData.iUploadSpeed = (iTransmittedBytes - myData.iTransmittedBytes) / fTimeElapsed;
}
myData.iReceivedBytes = iReceivedBytes;
myData.iTransmittedBytes = iTransmittedBytes;
break ;
}
}
tmp = strchr (tmp+1, '\n');
if (tmp == NULL)
break;
tmp ++;
iNumLine ++;
}
myData.bAcquisitionOK = (tmp != NULL);
g_free (cContent);
if (! myData.bInitialized)
myData.bInitialized = TRUE;
}
}
gboolean cd_netspeed_update_from_data (CairoDockModuleInstance *myApplet)
{
static double s_fValues[CD_NETSPEED_NB_MAX_VALUES];
if ( ! myData.bAcquisitionOK)
{
if (myConfig.iInfoDisplay == CAIRO_DOCK_INFO_ON_LABEL)
CD_APPLET_SET_NAME_FOR_MY_ICON (myConfig.defaultTitle);
else if (myConfig.iInfoDisplay == CAIRO_DOCK_INFO_ON_ICON)
CD_APPLET_SET_QUICK_INFO_ON_MY_ICON ("N/A");
memset (s_fValues, 0, sizeof (s_fValues));
CD_APPLET_RENDER_NEW_DATA_ON_MY_ICON (s_fValues);
cairo_dock_downgrade_task_frequency (myData.pPeriodicTask);
}
else
{
cairo_dock_set_normal_task_frequency (myData.pPeriodicTask);
if (! myData.bInitialized)
{
if (myConfig.iInfoDisplay == CAIRO_DOCK_INFO_ON_ICON)
CD_APPLET_SET_QUICK_INFO_ON_MY_ICON (myDock ? "..." : D_("Loading"));
memset (s_fValues, 0, sizeof (s_fValues));
CD_APPLET_RENDER_NEW_DATA_ON_MY_ICON (s_fValues);
}
else
{
if (myConfig.iInfoDisplay != CAIRO_DOCK_INFO_NONE)
{
gchar upRateFormatted[11];
gchar downRateFormatted[11];
cd_netspeed_formatRate (myApplet, myData.iUploadSpeed, upRateFormatted);
cd_netspeed_formatRate (myApplet, myData.iDownloadSpeed, downRateFormatted);
if (myConfig.iInfoDisplay == CAIRO_DOCK_INFO_ON_ICON)
{
CD_APPLET_SET_QUICK_INFO_ON_MY_ICON_PRINTF ("?%s\n?%s", downRateFormatted, upRateFormatted);
}
else
{
CD_APPLET_SET_NAME_FOR_MY_ICON_PRINTF ("?%s\n?%s", downRateFormatted, upRateFormatted);
}
}
if(myData.iUploadSpeed > myData.iMaxUpRate) {
myData.iMaxUpRate = myData.iUploadSpeed;
}
if(myData.iDownloadSpeed > myData.iMaxDownRate) {
myData.iMaxDownRate = myData.iDownloadSpeed;
}
double fUpValue, fDownValue;
if (myData.iMaxUpRate != 0)
fUpValue = (double) myData.iUploadSpeed / myData.iMaxUpRate;
else
fUpValue = 0.;
if (myData.iMaxDownRate != 0)
fDownValue = (double) myData.iDownloadSpeed / myData.iMaxDownRate;
else
fDownValue = 0.;
int i = 0;
s_fValues[i++] = fUpValue;
s_fValues[i] = fDownValue;
CD_APPLET_RENDER_NEW_DATA_ON_MY_ICON (s_fValues);
}
}
return TRUE;
} |
Subscription date : 29 November 2007
Messages : 7408
|
La vache -> 364 jours de déterrage !!!!! .... Alors là, tu fais très très fort !
... et en plus, c'est justifié !
Moi je vote pour le Gloden Shovel ! |
Subscription date : 26 October 2008
Messages : 1904
|
Merci merci |
Subscription date : 30 November 2007
Messages : 17118
|
je vote pour aussi
en attendant, au clic gauche tu devrais déjà avoir un dialogue qui te dit où tu en es depuis le démarrage de l'ordi (je crois).
donc en gros il faudrait stocker ça qque part, et remettre à jour à chaque démarrage de l'applet, puis surveiller la limite.
après je sais pas si ça vaut le coup de le dessiner sur l'icône (on dessine déjà les débits) ? |
|