Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Cairo-Dock cafe | Café Cairo-Dock Le post dédié à l' apprentissage du C
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)
Cairo-Dock cafe | Café Cairo-Dock

Subjects Author Language Messages Last message
[Locked] Le post dédié à l' apprentissage du C
Page : 1 2 3 ...17 18 19 20
nochka85 Français 388 nochka85 [Read]
24 January 2010 à 19:27

nochka85, Monday 18 January 2010 à 13:03


Subscription date : 29 November 2007
Messages : 7408
Arff ... effectivement, çà a pas l'air compliqué -> C'était trop simple pour que je comprenne !

... J'essaie de regarder çà ce soir

Au fait, une petite question sur le machin_truc_get_extend (pour avoir la taille d'un texte pango) -> les log.x et log.y représentent la position dans le desklet et les log.height et log.width représentent la taille (l'encombrement) ? C'est çà ? Et la position est prise où par rapport à l'encombrement ? <- Coin inférieur gauche ou coin supérieur gauche ?

Petit up sur çà :

Tiens, au fait, tant que j'y suis, j'ai aussi un soucis avec 2 résultats de system-monitor : Alors que je n'ai aucun soucis pour récupérer TOUT ce qui vient du code de ce dernier, je n'arrive pas à récupérer les 2 textes de la carte graphiques et de la version du driver et la RAM vidéo -> çà me renvoit un (null) et 0 .... mais la température est bien renvoyée

fabounet, Monday 18 January 2010 à 14:12


Subscription date : 30 November 2007
Messages : 17118
pour pango je me souviens jamais
faut regarder dans la doc, mais de toute facon x et y sont petits (qques pixels), et si tu te trompes de signe tu le verras surement et tu le changeras

c'est pas un script qui renvoit ça ? pas d'idée, ça marche dans SysMonitor il me semble.

nochka85, Monday 18 January 2010 à 19:18


Subscription date : 29 November 2007
Messages : 7408
c'est pas un script qui renvoit ça ? pas d'idée, ça marche dans SysMonitor il me semble.


Oups ! -> J'avais bien mis le script (et vu que la temp passait bien, je pensais que c'était bon), mais j'avais pas fait gaffe à la manière dont on lançait ce dernier dans notification.c -> Problème résolu !

nochka85, Monday 18 January 2010 à 22:14


Subscription date : 29 November 2007
Messages : 7408
quand tu parcours ta liste, tu as it qui est l'élément courant de ta liste. il suffit de garder it lorsque tu commences une nouvelle liste
it1 = it
puis tu continues à itérer avec it, et lorsque tu arrives à une nouvelle liste, tu fais it2=it, tu sais que de it1 à it2 tu es sur une même ligne.
comme ça tu peux repartir de it1 à tout moment.


pffff .... j'y arrive pas -> çà plante tout le temps quoique je fasse .... Tu pourrais pas m'aider juste pour çà ??

Voici le code sans la boucle de calcul :

        for (it = myData.pTextZoneList; it != NULL; it = it->next)
        {
            pTextZone = it->data;
            
            PangoFontDescription *fd = pango_font_description_from_string (pTextZone->cFont);
            pango_layout_set_font_description (pLayout, fd);
            pango_font_description_free (fd);
            
            cairo_set_source_rgba (myDrawContext, pTextZone->fTextColor[0], pTextZone->fTextColor[1], pTextZone->fTextColor[2], pTextZone->fTextColor[3]);                
            
            myData.cCurrentText = g_strdup_printf ("%s",pTextZone->cText);
            
            pango_layout_set_text (pLayout, myData.cCurrentText, -1);
            pango_layout_get_pixel_extents (pLayout, &ink, &log);
            
            cairo_move_to (myDrawContext,
                myData.fCurrentX,
                myData.fCurrentY);
            
            pango_cairo_show_layout (myDrawContext, pLayout); // On dessine la ligne sur notre desklet
            
            if (pTextZone->bEndOfLine) // On passe à la ligne du dessous
            {
                if (pTextZone->bNextNewLine) // Sinon, on reste sur la même ligne -> Utile pour avoir 1 zone alignée à gauche et 1 zone alignée à droite par exemple ;-)
                    myData.fCurrentY += log.height + myConfig.iSpaceBetweenLines;
                myData.fCurrentX = iMargin + myConfig.iTextMargin;
                myData.bNewLine = TRUE;
            }
            else // On laisse le curseur à la position actuelle
            {
                double w;
                pango_layout_get_pixel_extents (pLayout, &ink, &log);
                w = log.width + log.x;
                myData.fCurrentX += w;
                myData.bNewLine = FALSE;
            }
        }


Bref, concrètement, qu'est-ce que je dois rajouter pour faire une première passe pour chaque ligne PUIS le dessin dans la 2ème passe ?? <- Pas la peine de mettre quoique ce soit dans la 1ère passe, c'est juste pour voir comment tu boucle 2 fois chaque ligne (j'ai bien tenter de faire un it1=it PUIS it=it1 en fin de ligne, mais cela plante sur la ligne "pango_layout_set_font_description (pLayout, fd);" )

fabounet, Tuesday 19 January 2010 à 00:23


Subscription date : 30 November 2007
Messages : 17118
euh, qqch comme ça peut-être

GList *it1=myData.pTextZoneList, *it2;
gboolean bFirstPass=TRUE;
for (
it myData.pTextZoneListit != NULLit it->next
{
    
pTextZone it->data;
    if (
bFirstPass)  // 1ere passe, on calcule la largeur de la ligne.
    
{
        if (
pTextZone->bNewLine)  // retour chariot => fin de ligne.
        
{
            
it2 it;  // fin de la ligne
            
it it1// on revient au debut de la ligne.
            
bFirstPass=FALSE;
        }
        else
        {
            
linewidth += pango_width;
        }
    }
    else  
// 2eme passe, on dessine la ligne.
    
{
        
// dessin
        
if (it == it2)  // on arrive au bout de la ligne, fin de la passe de dessin pour cette ligne
        
{
            
bFirstPass TRUE;
        }
    }
}

nochka85, Tuesday 19 January 2010 à 12:56


Subscription date : 29 November 2007
Messages : 7408
Merci ! Je teste çà dès ce soir

nochka85, Tuesday 19 January 2010 à 19:40


Subscription date : 29 November 2007
Messages : 7408
Bon, cela semble marcher ! ... enfin à 1 détail près -> Il ne m'affiche pas le tout premier texte (pas la ligne .... juste la première zone de texte de mon .xml ) ... Bref, il faut que je lui mette une zone "bidon" au début de mon fichier pour pouvoir tout voir

nochka85, Tuesday 19 January 2010 à 21:31


Subscription date : 29 November 2007
Messages : 7408
Bon, bah en fait, je n'y comprends RIEN DU TOUT ... Voilà mon code pour l'instant (j'ai mis plein de debug pour essayer de comprendre le chemin emprunté) :

    if (myData.pTextZoneList != NULL)
    {
        
GList *it myData.pTextZoneList;
        
TextZone *pTextZone;
        
        
GList *it1 it, *it2;
        
gboolean bFirstPass=TRUE;

        
double fCurrentLineWidth 0// Dimension de la ligne complète (= avec plusieurs zones de textes)
        
double fCurrentLineHeight 0;
        

        for (
it myData.pTextZoneListit != NULLit it->next
        {
            
pTextZone it->data;
            
            
PangoFontDescription *fd pango_font_description_from_string (pTextZone->cFont);
            
pango_layout_set_font_description (pLayoutfd);
            
pango_font_description_free (fd);
            
            
cairo_set_source_rgba (myDrawContext,  pTextZone->fTextColor[0], pTextZone->fTextColor[1], pTextZone->fTextColor[2], pTextZone->fTextColor[3]);                
            
            
myData.cCurrentText g_strdup_printf ("%s",pTextZone->cText);
            
cd_debug ("WriteThis-debug-lines : ----------------------> myData.cCurrentText 0 = %s"myData.cCurrentText);
            
pango_layout_set_text (pLayoutmyData.cCurrentText, -1);
            
pango_layout_get_pixel_extents (pLayout, &ink, &log);
                                    
            if (
bFirstPass)  // 1ere passe, on calcule la largeur de la ligne.
            
{
                
                
fCurrentLineWidth += log.width// On additionne les différentes zones de textes
                
                
if (fCurrentLineHeight || (log.height log.y) > fCurrentLineHeight// On définit la hauteur de la ligne
                    
fCurrentLineHeight log.height log.y;
                
                
cd_debug ("WriteThis-debug-lines : ----------------------> myData.cCurrentText 1 = %s"myData.cCurrentText);
                if (
pTextZone->bEndOfLine)
                    
cd_debug ("WriteThis-debug-lines : ----------------------> Fin de la ligne 1");
                
                
                if (
pTextZone->bEndOfLine)  // retour chariot => fin de ligne.                
                
{
                    
it2 it;  // fin de la ligne
                    
it it1// on revient au debut de la ligne.
                    
bFirstPass=FALSE;
                    
cd_debug ("WriteThis-debug-lines : ----------------------> myData.cCurrentText 2 = %s"myData.cCurrentText);
                    
cd_debug ("WriteThis-debug-lines : ----------------------> FIN DE LA LIGNE - Taille total 2 = %d"fCurrentLineWidth);
                }
                else
                {
                    
cd_debug ("WriteThis-debug-lines : ----------------------> myData.cCurrentText 3 = %s"myData.cCurrentText);
                    
cd_debug ("WriteThis-debug-lines : ----------------------> fCurrentLineWidth 3 = %d"fCurrentLineWidth);
                }
            }
            else  
// 2eme passe, on dessine la ligne.
            
{
                
// dessin
                
                
PangoFontDescription *fd pango_font_description_from_string (pTextZone->cFont);
                
pango_layout_set_font_description (pLayoutfd);
                
pango_font_description_free (fd);
                
                
cairo_set_source_rgba (myDrawContext,  pTextZone->fTextColor[0], pTextZone->fTextColor[1], pTextZone->fTextColor[2], pTextZone->fTextColor[3]);                
                
                
myData.cCurrentText g_strdup_printf ("%s",pTextZone->cText);
                
                
pango_layout_set_text (pLayoutmyData.cCurrentText, -1);
                
pango_layout_get_pixel_extents (pLayout, &ink, &log);
                
                
cairo_move_to (myDrawContext,
                    
myData.fCurrentX,
                    
myData.fCurrentY);
                
                
pango_cairo_show_layout (myDrawContextpLayout); // On dessine la ligne sur notre desklet
                
                
                
if (pTextZone->bEndOfLine// On passe à la ligne du dessous
                
{
                    if (
pTextZone->bNextNewLine)  // Sinon, on reste sur la même ligne -> Utile pour avoir 1 zone alignée à gauche et 1 zone alignée à droite par exemple ;-)
                        
myData.fCurrentY += log.height myConfig.iSpaceBetweenLines;
                    
myData.fCurrentX iMargin myConfig.iTextMargin;                    

                }
                else 
// On laisse le curseur à la position actuelle
                
{
                    
double w;
                    
pango_layout_get_pixel_extents (pLayout, &ink, &log);
                    
log.width log.x;
                    
myData.fCurrentX += w;
                }
                
                
                
//~ if (it == it2)  // NE MARCHE PAS :/  ????
                
if (pTextZone->bEndOfLine)  // on arrive au bout de la ligne, fin de la passe de dessin pour cette ligne
                
{
                    
bFirstPass TRUE;
                    
cd_debug ("WriteThis-debug-lines : ----------------------> LIGNE DESSINEE");
                }
            }
        }        
    }


... et voilà le .xml utilisé :

<code>
    <zone>
        <font>Sans 5</font>
        <br/>
    </zone>

    <!-- Version du Noyau -->
    <zone>
        <align>left</align>
        <font>Terminal Bitstream Vera Sans Mono 8</font>
        <red>0,6</red>
        <green>0,4</green>
        <blue>0,9</blue>
        <alpha>1,0</alpha>
        <txt>Version du Noyau : </txt>
    </zone>
    <zone>
        <font>Terminal Bitstream Vera Sans Mono Bold 8</font>
        <red>0,6</red>
        <green>0,4</green>
        <blue>0,9</blue>
        <alpha>1,0</alpha>
        <cmd>uname -r</cmd>        
        <br/>
    </zone>
</code>


... et voilà ce que me renvoit le debug :

WriteThis-debug-lines : ----------------------> myData.cCurrentText 0 = (null)
WriteThis-debug-lines : ----------------------> myData.cCurrentText 1 = (null)
WriteThis-debug-lines : ----------------------> Fin de la ligne 1
WriteThis-debug-lines : ----------------------> myData.cCurrentText 2 = (null)
WriteThis-debug-lines : ----------------------> FIN DE LA LIGNE - Taille total 2 = 0
WriteThis-debug-lines : ----------------------> myData.cCurrentText 0 = Version du Noyau :
WriteThis-debug-lines : ----------------------> myData.cCurrentText 0 = 2.6.31-18-generic
WriteThis-debug-lines : ----------------------> LIGNE DESSINEE


Bref, y'a rien qui marche

A L'AIIIDDDDEEE !!!! JE VAIS CRAAAAQQQUUUEEERRRR !!!

matttbe, Tuesday 19 January 2010 à 22:07


Subscription date : 24 January 2009
Messages : 12573
Un bon site pour te remettre d'aplomb : http://perdu.com/
Ou si tu cherches une excuse:
netcat bofh.jeffballard.us 666
Ou l'amusement Geek:
sudo apt-get install sl && sl

nochka85, Wednesday 20 January 2010 à 12:43


Subscription date : 29 November 2007
Messages : 7408
@fab: un petit up sur mon soucis ?

lylambda, Wednesday 20 January 2010 à 13:12


Subscription date : 06 September 2009
Messages : 1635
sudo apt-get install sl && sl
Tchou tchou ! Je connaissais pas tiens.
Par contre, je n'ai pas compris le premier .

matttbe, Wednesday 20 January 2010 à 14:03


Subscription date : 24 January 2009
Messages : 12573
lylambda :
Par contre, je n'ai pas compris le premier
Tu as une série d'excuses (données au hasard), par exemple :
$ netcat bofh.jeffballard.us 666
=== The BOFH-style Excuse Server --- Feel The Power!
=== By Jeff Ballard <ballard@cs.wisc.edu>
=== See http://www.cs.wisc.edu/~ballard/bofh/ for more info.
Your excuse is: Webmasters kidnapped by evil cult.


Mais n'oublions pas :
@fab: un petit up sur mon soucis ?

fabounet, Wednesday 20 January 2010 à 14:34


Subscription date : 30 November 2007
Messages : 17118
en fait je me demande s'il ne faudrait pas définir une balise <line> ?
les propriétés d'alignement seraient alors définies pour une ligne (donc plus de conflit possible entre 2 zones ayant des alignements incompatibles)
du coup plus besoin de <br> aussi.

Edit : le probleme est là :
it = it1; // on revient au debut de la ligne.

car après tu as le it=it->next, donc en fait il faudrait dire it = it1->prev;, sauf que si tu es en début de liste il n'y a pas de prev ...
bref, ma méthode n'est pas top, je dirais qu'il serait peut-être plus simple de faire clairement 2 sous-boucles à l'intérieur de la boucle principale.
for (it=list;it!=NULL;it=it->next)
{
it1=it;
boucle sur it de it1 jusqu'à retour chariot => line_width
boucle sur it de it1 jusqu'à retour chariot => dessin
// a ce niveau, it pointe sur la zone qui contient un retour chariot. le "for" va nous faire passer a la suite.
}

nochka85, Wednesday 20 January 2010 à 21:41


Subscription date : 29 November 2007
Messages : 7408
en fait je me demande s'il ne faudrait pas définir une balise <line> ?
les propriétés d'alignement seraient alors définies pour une ligne (donc plus de conflit possible entre 2 zones ayant des alignements incompatibles)


En fait, je ne comptais lire le contenu de la balise align QUE SI le booléen bNewLine était à TRUE ... autrement dit, cela n'aurait d'influence QUE SI on spécifie l'alignement dans la première zone de texte d'une ligne !

.... mais bon, pourquoi pas ... en plus, cela permettrait de clarifier un peu le code du .xml ! ... parce que là, c'est un peu "bordélique" !

... bref, cela me plairait même plus, mais par contre, comment je fais pour mettre (et lire) plusieurs fois la même balise dans la même zone ????
Exemple :
<code>
    <line>
        <zone>
            ...
        </zone>

        <zone>
            ...
        </zone>

        <zone>
            ...
        </zone>
    </line>

    <line>
        <zone>
            ...
        </zone>

        <zone>
            ...
        </zone>

        <zone>
            ...
        </zone>
    </line>
</code>


... ou je dois lire x fois "zone" entre la balise line ???

PS : Pour info, à l'heure actuelle, j'ai ce code :

    g_return_val_if_fail (myConfig.cXmlFilePath != NULLFALSE);
    
xmlInitParser ();
    
xmlDocPtr pXmlFile;
    
xmlNodePtr pXmlMainNode;
    
    
pXmlFile cairo_dock_open_xml_file (myConfig.cXmlFilePath"code", &pXmlMainNodeNULL);
    
    
g_return_val_if_fail (pXmlFile != NULL && pXmlMainNode != NULLFALSE);
        
    
xmlAttrPtr ap;
    
xmlChar *cAttribute, *cNodeContent, *cTextNodeContent;
    
TextZone *pTextZone NULL;
        
    
xmlNodePtr pXmlNode;
    
    
int i;
    for (
pXmlNode pXmlMainNode->children0pXmlNode != NULLpXmlNode pXmlNode->next++)
    {
        
        if (
xmlStrcmp (pXmlNode->name, (const xmlChar *) "zone") == 0)
        {
            
pTextZone g_new0 (TextZone1);
            
myData.pTextZoneList g_list_append (myData.pTextZoneListpTextZone); 
            
            ...            
            
            
xmlNodePtr pXmlSubNode;            
            for (
pXmlSubNode pXmlNode->childrenpXmlSubNode != NULLpXmlSubNode pXmlSubNode->next)
            {                
                
cNodeContent xmlNodeGetContent (pXmlSubNode);
                
                ...
                
            
xmlFree (cNodeContent);                
            }            
        }
    }    
    
cairo_dock_close_xml_file (pXmlFile);


... pour lire ce xml :

<code>
    <zone>
        ...
    </zone>

    <zone>
        ...
    </zone>
    <zone>
        ...
    </zone>
</code>


du coup plus besoin de <br> aussi.


Tant que j'ai toujours mon <nbr> (si vous avez un autre nom à me proposer) qui me permet d'écrire plusieurs lignes au même endroit ! <- Pour par exemple avoir une zone alignée à gauche + une autre centrée + une autre alignée à droite ... et le tout sur la même ligne

fabounet, Thursday 21 January 2010 à 10:37


Subscription date : 30 November 2007
Messages : 17118
avoir une zone alignée à gauche + une autre centrée + une autre alignée à droite

pour ça y'a pas le choix je pense, il faut pouvoir spécifier l'alignement dans la zone de texte.

le coup de la ligne c'est pas forcément nécessaire, pour rendre ton code actuel plus lisible je pense que tu devrais sortir le br de la zone de texte.
après le pseudo-code que je t'ai donné plus haut devrait faire l'affaire.

nochka85, Friday 22 January 2010 à 21:08


Subscription date : 29 November 2007
Messages : 7408
Bon, y'a vraiment rien à faire -> çà fait 2 soirs de suite que je bloque complètement (soit çà n'affiche rien, soit çà plante )

... Voilà où j'en suis (= avec un beau desklet tout vide ) ... Pourtant j'ai (je crois) fait ce que tu disais, mais rien à faire :

    for (it = myData.pTextZoneList; it != NULL; it = it->next)
    {
        it1=it;
            
        // boucle sur it de it1 jusqu'à retour chariot => line_width
        for (it = it1 ; pTextZone->bEndOfLine ; it = it->next)
        {
                
            pTextZone = it->data;
                
            PangoFontDescription *fd = pango_font_description_from_string (pTextZone->cFont);
            pango_layout_set_font_description (pLayout, fd);
            pango_font_description_free (fd);
                
            cairo_set_source_rgba (myDrawContext, pTextZone->fTextColor[0], pTextZone->fTextColor[1], pTextZone->fTextColor[2], pTextZone->fTextColor[3]);                
                
            myData.cCurrentText = g_strdup_printf ("%s",pTextZone->cText);
            pango_layout_set_text (pLayout, myData.cCurrentText, -1);
            pango_layout_get_pixel_extents (pLayout, &ink, &log);
                
            if (pTextZone->bEndOfLine) // retour chariot => fin de ligne.
            {
                myData.fCurrentLineWidth += log.width;
                cd_debug ("WriteThis-debug-lines ----------------> Fin de calcul de la ligne -> Taille de la ligne = %d", myData.fCurrentLineWidth);
            }
            else
                myData.fCurrentLineWidth += log.width;                
        }
            
            
            
            
        // boucle sur it de it1 jusqu'à retour chariot => dessin
        for (it = it1 ; pTextZone->bEndOfLine ; it = it->next)
        //~ for (it = myData.pTextZoneList; it != NULL; it = it->next) // SI JE DESACTIVE TOUT CE QU'IL Y A AU DESSUS ET QUE J'ACTIVE CETTE LIGNE, MON TEXTE S'AFFICHE
        {
            pTextZone = it->data;

            PangoFontDescription *fd = pango_font_description_from_string (pTextZone->cFont);
            pango_layout_set_font_description (pLayout, fd);
            pango_font_description_free (fd);
    
            cairo_set_source_rgba (myDrawContext, pTextZone->fTextColor[0], pTextZone->fTextColor[1], pTextZone->fTextColor[2], pTextZone->fTextColor[3]);
    
            myData.cCurrentText = g_strdup_printf ("%s",pTextZone->cText);
    
            pango_layout_set_text (pLayout, myData.cCurrentText, -1);
            pango_layout_get_pixel_extents (pLayout, &ink, &log);
    
            cairo_move_to (myDrawContext,
                myData.fCurrentX,
                myData.fCurrentY);
    
            pango_cairo_show_layout (myDrawContext, pLayout); // On dessine la ligne sur notre desklet
    
            if (pTextZone->bEndOfLine) // On passe à la ligne du dessous
            {
                if (pTextZone->bNextNewLine) // Sinon, on reste sur la même ligne -> Utile pour avoir 1 zone alignée à gauche et 1 zone alignée à droite par exemple ;-)
                    myData.fCurrentY += log.height + myConfig.iSpaceBetweenLines;
                myData.fCurrentX = iMargin + myConfig.iTextMargin;
            }
            else // On laisse le curseur à la position actuelle
            {
                double w;
                pango_layout_get_pixel_extents (pLayout, &ink, &log);
                w = log.width + log.x;
                myData.fCurrentX += w;
            }
        }


... Pour l'instant, je n'essaies même pas de faire quelque chose dans la zone de calcul -> J'essaies juste de revenir à mon dessin correctement

Je suis sûr que c'est un truc évident, mais franchement, je n'y vois plus rien

matttbe, Friday 22 January 2010 à 21:11


Subscription date : 24 January 2009
Messages : 12573
Viens sur IRC nochka, il y a du monde (qui pourront p-ê t'aider de surcroit )

fabounet, Friday 22 January 2010 à 22:16


Subscription date : 30 November 2007
Messages : 17118
if (myData.pTextZoneList == NULL)
return;

it = myData.pTextZoneList;
do
{
it1=it;
do // boucle sur it de it1 jusqu'à retour chariot => line_width
{
pTextZone = it->data;

PangoFontDescription *fd = pango_font_description_from_string (pTextZone->cFont);
pango_layout_set_font_description (pLayout, fd);
pango_font_description_free (fd);
pango_layout_set_text (pLayout, pTextZone->cText, -1);
pango_layout_get_pixel_extents (pLayout, &ink, &log);
myData.fCurrentLineWidth += log.width;

it = it->next;
} while (it != NULL && ! pTextZone->bEndOfLine);

// boucle sur it de it1 jusqu'à retour chariot => dessin
it = it1;
do // boucle sur it de it1 jusqu'à retour chariot => line_width
{
pTextZone = it->data;

/// dessin...

it = it->next;
} while (it != NULL && ! pTextZone->bEndOfLine);

}
while (it != NULL);

nochka85, Friday 22 January 2010 à 22:46


Subscription date : 29 November 2007
Messages : 7408
@Fab : Voici l'applet en l'état ->

http://dl.free.fr/tNaoyxM7U

... et voici un .xml assez complet qui me cause les 50% de CPU bouffé : http://dl.free.fr/tMqa6bbcl

... Il faut (pour l'instant) que tu fasses pointé le .xml dans la config de l'applet

nochka85, Saturday 23 January 2010 à 13:13


Subscription date : 29 November 2007
Messages : 7408
Oups, je t'ai pas filé le bon .xml -> http://dl.free.fr/twiblImaB (il est assez complet avec l'heure + uptime + divers mesures, etc...)

EDIT : Au fait, j'ai aussi un soucis pour récupérer la taille de la ligne dans la 1ère partie du code :

si je mets çà :

myData.fCurrentLineWidth += log.width;
cd_debug ("WriteThis-debug-lines ----------------> ligne en cours -> Taille = %d", myData.fCurrentLineWidth);


, cela me renvoit tout le temps 0

EDIT 2: Bon, j'ai rien dit ... avec :
cd_debug ("WriteThis-debug-lines ----------------> ligne en cours -> Taille = %f", myData.fCurrentLineWidth);


, cela marche beaucoup mieux

EDIT 3: Bon, contrairement à ce que je disais hier, la double boucle n'a pas d'influence sur le CPU (aujourd'hui, je reste à 25% ... et pas 50% comme hier). Bref, y'a surement un truc autre qui tournait hier soir !

Donc, je veux bien que tu jettes un coup d'oeil pour voir pourquoi çà consomme autant (je pense que c'est le thread) ... mais je vais pouvoir essayer d'avancer en parrallèle pour me faire une fonction de mise en page

Par contre, je sais plus comment je fais pour connaître la largeur actuelle du desklet ?

Cairo-Dock cafe | Café Cairo-Dock

Subjects Author Language Messages Last message
[Locked] Le post dédié à l' apprentissage du C
Page : 1 2 3 ...17 18 19 20
nochka85 Français 388 nochka85 [Read]
24 January 2010 à 19:27


Glx-Dock / Cairo-Dock List of forums Cairo-Dock cafe | Café Cairo-Dock Le post dédié à l' apprentissage du C 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.