Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Technical discussions | Discussions techniques Status Notifier: quelle étiquette choisir?
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)
Technical discussions | Discussions techniques

Subjects Author Language Messages Last message
[Locked] Status Notifier: quelle étiquette choisir?
Page : 1 2 3
matttbe Français 43 lylambda [Read]
04 April 2012 à 00:47

SQP, Wednesday 14 March 2012 à 10:55


Subscription date : 03 July 2010
Messages : 1081
décalage du pixel, mode d'emploi pour bien le mettre en évidence :
-creer un clock en desklet de 64x64
-mettre en numérique et définir la fonte en monospace (quelle que soit la taille)
-attendre que l'unité de la seconde soit un 4 pour voir un décalage d'un pixel à gauche au changement 3 -> 4 et décalage à droite au changement 4 -> 5

matttbe, Wednesday 14 March 2012 à 12:41


Subscription date : 24 January 2009
Messages : 12573
Yep, je l'ai toujours mais avec le 1 mais verticalement: 0 -> 1 : décalage vers le haut ; 1 -> 2 : décalage vers le bas.
http://img844.imageshack.us/img844/961/screenshotfrom201203141.png -> http://img826.imageshack.us/img826/961/screenshotfrom201203141.png

Ca se voit surtout avec les secondes simplement car ça arrive plus souvent.

EDIT: en changeant la taille, ça varie aussi mais parfois verticalement, parfois horizontalement, parfois ce n'est qu'un caractère qui bouge, etc.
EDIT2: ce serait bien une option pour ajuster automatiquement la taille de l'applet

fabounet, Wednesday 14 March 2012 à 15:33


Subscription date : 30 November 2007
Messages : 17118
ok, pourtant je zoom le texte pour qu'il remplisse exactement la largeur, je comprends pas ce qui déconne

ce serait bien une option pour ajuster automatiquement la taille de l'applet

ptet bien

matttbe, Wednesday 14 March 2012 à 16:06


Subscription date : 24 January 2009
Messages : 12573
En regardant vite fait, on peut voir que le zoom calculé n'est pas toujours le même. Voici un rapide workaround mais ... ça reste une solution de contournement je pense...
=== modified file 'clock/src/applet-draw.c'
--- clock/src/applet-draw.c    2012-03-13 00:27:36 +0000
+++ clock/src/applet-draw.c    2012-03-14 14:34:05 +0000
@@ -173,+173,@@
     }
     else  
// affichage simple de l'heure sur 1 ligne.
     
{
+        static 
double s_fZoomX = -1.0;
+        static 
double s_fZoomY = -1.0;
+
         
double fZoomX = (double) (iWidth-1) / ink.width;  // let 1 additional pixel to avoid going out of the icon (which happens with some fonts).
         
double fZoomY = (double) iHeight ink.height;
         if (
myDock && fZoomY MAX_RATIO fZoomX)  // on ne garde pas le ratio car ca ferait un texte trop petit en hauteur, toutefois on limite un peu la deformation en hauteur.
@@ -183,11 +186,24 @@
             
fZoomX *= myConfig.fTextRatio;
             
fZoomY *= myConfig.fTextRatio;
         }
-        
+
+        if (
s_fZoomX == -1.0)
+        {
+            
s_fZoomX fZoomX;
+            
s_fZoomY fZoomY;
+        }
+        else
+        {
+            if (
s_fZoomX fZoomX)
+                
s_fZoomX fZoomX;
+            if (
s_fZoomY fZoomY)
+                
s_fZoomY fZoomY;
+        }
+
         
cairo_translate (myDrawContext,
-            (
iWidth fZoomX ink.width)/2.,
-            (
iHeight fZoomY ink.height)/2);  // le texte sera centre.
-        cairo_scale (myDrawContextfZoomXfZoomY);
+            
0,
+            (
iHeight s_fZoomY ink.height)/2);  // this text will be centred.
+        cairo_scale (myDrawContexts_fZoomXs_fZoomY);
         
cairo_translate (myDrawContext, -ink.x, -ink.y);
         
pango_cairo_show_layout (myDrawContextpLayout);
     }


Donc on garde en mémoire la valeur précédente et on utilise toujours le zoom minimum. On pourrait également ne calculer le zoom que les 10 premières secondes mais c'est peut-être encore pire comme workaround
Aussi, j'ai mis à 0 le déplacement horizontal... sinon il peut continuer à centrer et donc ça bouge...
Aussi, à quoi sert encore l'option 'fTextRatio' (Appliquer un ratio au texte)? Ce ne serait pas intéressant de l'enlever?

(enfin, il ne faudrait pas utiliser des variables statics mais utiliser des variables dans myData qui seraient réinitialisées en cas de modifications de la configuration de clock.

lylambda, Thursday 15 March 2012 à 01:34


Subscription date : 06 September 2009
Messages : 1635
Pour info, contrairement à ce que je pensais, le bug existe toujours chez moi. Par contre, via Horloge>Edit, j'ai modifié manuellement la "Taille d'icône souhaitée pour cette applet". Cela peut-il favoriser le bug ?

matttbe, Thursday 15 March 2012 à 02:23


Subscription date : 24 January 2009
Messages : 12573
Moi aussi j'ai dû modifier ce paramètre sinon ce qui est écrit est tout petit
Mais sinon oui, ça favorise le bug parce que l'icône est plus grande mais ça reste l'utilisation la plus fréquente...

matttbe, Thursday 15 March 2012 à 18:40


Subscription date : 24 January 2009
Messages : 12573
@fabounet: je confirme, avec Pango, il faut utiliser log pour le rectangle dit logique.
Je push la modif dès que possible.
Mais du coup, pas besoin de recréer une surface Cairo + Pango à chaque minute/seconde, non?

fabounet, Friday 16 March 2012 à 12:52


Subscription date : 30 November 2007
Messages : 17118
merci !
tu utilises "|" pour avoir un zoom constant finalement ?

Mais du coup, pas besoin de recréer une surface Cairo + Pango à chaque minute/seconde, non?

je ne pense pas que ça ne change pas (en plus est-ce qu'on ne dessine pas directement sur l'icône ?)

matttbe, Friday 16 March 2012 à 15:38


Subscription date : 24 January 2009
Messages : 12573
Non, j'ai utilisé logical_rect au lieu de ink_rect de cette fonction:
pango_layout_get_pixel_extents (PangoLayout *layoutPangoRectangle *ink_rectPangoRectangle *logical_rect)
(voir rev 2327)
De ce que j'ai compris (car la doc n'aide pas trop à ce sujet ), c'est que cette fonction calcule l'espace maximal que peut prendre le dessin fait par Pango.

Donc, si le nombre de caractères ne change pas (et il ne devrait jamais changer car l'heure est au format HH:MM ou HH:MM:SS et la date DDD JJ MMM) les calculs pour obtenir les différentes tailles deviennent inutiles puisqu'ils afficheront toujours le même résultat.
Du coup, est-ce que c'est également nécessaire de créer, à chaque seconde ou minute, une nouvelle la texture avec Cairo et Pango?

SQP, Saturday 17 March 2012 à 11:54


Subscription date : 03 July 2010
Messages : 1081
sacré changement. J'en ai un peu chié pour retrouver des réglages corrects pour mon affichage en 30px de large, mais en Ubuntu Condensed (+bold), ca le fait pas mal.

http://uppix.net/f/d/f/1efe23e11e7c40632c14d9dba2ef4.png

PS : c'est moi, ou je peux plus changer la largeur (dans mon sens) du dock sans aller toucher au paramètre "taille de toutes les icones" ?

(changer la taille de mon applet ne la fait plus agrandir la taille du dock)

matttbe, Saturday 17 March 2012 à 18:33


Subscription date : 24 January 2009
Messages : 12573
Je n'ai pas ce problème avec clock dans un dock secondaire au-dessus. Si j'agrandis en largeur, ou en hauteur, ça fonctionne bien (le dock s'agrandit si c'est nécessaire).

lylambda, Thursday 22 March 2012 à 22:42


Subscription date : 06 September 2009
Messages : 1635
Pour info, le bug semble toujours présent, malgré la rev :

http://uppix.net/a/c/5/bd70284eeb712e9903ac38da31c9a.png

matttbe, Friday 23 March 2012 à 09:39


Subscription date : 24 January 2009
Messages : 12573
Merci pour le retour
Quels paramètres utilises-tu? (taille de l'icône, police, ratio, secondes?)
Backend Cairo je suppose... (enfin, même avec, je ne l'ai pas ce bug)

lylambda, Friday 23 March 2012 à 12:01


Subscription date : 06 September 2009
Messages : 1635
Toujours le backend cairo, dans un dock panel vertical, taille de 21×27 px, pas de secondes.
Cela ne le fait que lorsque l'horloge est en mode "Toujours apparaitre" et qu'il y un changement dans la dizaine de l'heure (passage de 23h à 00h par exemple).
Si ce changement est réalisé tandis que le dock est apparent, ce bug n'apparait pas.
De même, faire apparaitre le dock après ce bug, rafraîchis l'horloge et efface la déformation graphique.
Cela me fait penser que ce pourrait être un autre bug, plus ou moins lié au votre .

fabounet, Wednesday 28 March 2012 à 16:30


Subscription date : 30 November 2007
Messages : 17118

(changer la taille de mon applet ne la fait plus agrandir la taille du dock)

il me semble que la taille est bornée par la taille des icônes
justement pour pas avoir un dock mal dimensionné


Cela ne le fait que lorsque l'horloge est en mode "Toujours apparaitre" et qu'il y un changement dans la dizaine de l'heure (passage de 23h à 00h par exemple).

ah il me semble que ça se rapporte à un autre bug alors, ce n'est pas la faute de l'horloge
la zone rafraichie doit être trop courte sur les côtés
il est bien à l'horizontal ce dock ?

matttbe, Wednesday 28 March 2012 à 17:03


Subscription date : 24 January 2009
Messages : 12573
ce bug? Si le dock est demarre avec le backend cairo, est a l'horizontal et que l'on affiche une etiquette en dessous de clock, cette etiquette est coupee lorsque le dessin de clock est mis a jour.

lylambda, Thursday 29 March 2012 à 20:17


Subscription date : 06 September 2009
Messages : 1635
il est bien à l'horizontal ce dock ?
Non, comme je l'ai dit, c'est un dock panel vertical mais avec l'horloge horizontal (je sais ma config est surprenante ^^).

Dock-panel apparent :
http://uppix.net/1/6/c/b98d7d53749f956efa049e6476f63.png

Dock panel rétracté :
http://uppix.net/4/8/d/768f781e70888c3f455ecf313835b.png

matttbe, Sunday 01 April 2012 à 15:19


Subscription date : 24 January 2009
Messages : 12573
J'ai un peu de mal à reproduire ton problème...
Est-ce que tu compiles le dock par toi même? Si oui, pourrais-tu tester en ajoutant
pango_cairo_update_layout (myDrawContext, pLayout);
juste avant
pango_cairo_show_layout (myDrawContext, pLayout);
avant la ligne 178 de clock/src/applet-draw.c

lylambda, Tuesday 03 April 2012 à 22:26


Subscription date : 06 September 2009
Messages : 1635
Est-ce que tu compiles le dock par toi même?
Oui. La compilation est en cour. Il n'y aura plus qu'à attendre Minuit (l'heure du crime ! ) pour voir si le bug se reproduit

matttbe, Tuesday 03 April 2012 à 22:50


Subscription date : 24 January 2009
Messages : 12573
Il y a peu, j'ai rajouté un peu de largeur à l'arrière plan dans le mode "Iceberg". Ça va peut-être contourner le problème sans pour autant le solutionner vraiment. Enfin à voir

Technical discussions | Discussions techniques

Subjects Author Language Messages Last message
[Locked] Status Notifier: quelle étiquette choisir?
Page : 1 2 3
matttbe Français 43 lylambda [Read]
04 April 2012 à 00:47


Glx-Dock / Cairo-Dock List of forums Technical discussions | Discussions techniques Status Notifier: quelle étiquette choisir? 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.