Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Git Version | Version Git desklet en carrousel
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)
Git Version | Version Git

Subjects Author Language Messages Last message
[Locked] desklet en carrousel
Page : 1 2
fabounet Français 31 fabounet [Read]
24 March 2009 à 11:10

fabounet, Friday 13 March 2009 à 15:02


Subscription date : 30 November 2007
Messages : 17118
j'ai regardé hier et la vue carrousel desklet est magnifique (avec la météo c'est une vraie claque visuelle)
par contre elle a quelques défauts d'affichage :
- les icônes du fond sont tellement transparente qu'elles en deviennent invisibles
- le texte est affiché sur le reflet
- pourquoi avoir affiché le reflet en dessinant 2 fois l'icône, plutôt que laisser faire render_one_icon ? c'est à cause de la vue en perspective ?
- le clic ne marche pas sur les sous-icônes, mais ça tu le sais déjà
- le cercle est assez pixelisé, il faudrait activer l'anti-aliasing lors du dessin je pense.
- le mouvement de rotation par la souris est super, mais il s'arrête quand on arrête la souris.

Tofe, Friday 13 March 2009 à 16:05


Subscription date : 09 February 2008
Messages : 921
Alors, prenons cela point par point (en gros je suis d'accord) :
- elles sont effectivement transparentes à partir d'une certaine profondeur... Je pensais que ça serait sympa, vu qu'on n'a pas le brouillard... Par contre j'ai oublié l'alpha du texte. Tu trouves que c'est trop violent de les faire disparaître complètement ?
- euh je euh oui effectivement... ça peut se négocier
- render_one_icon sait faire un reflet sur le plan du caroussel ? Really ? oarf, j'ai raté un truc Mais j'avais regardé comment faire l'effet de reflet, et je vois mal comment tu aurais pu faire un effet de reflet "générique"... Me trompe-je ? D'ailleurs mon reflet est un faux: je dois retravailler ça.
- ouaip, le clic effectivement.
- ok, je vais tenter l'anti-aliasing
- yep, c'est un "bug connu" Il faut que je trouve un moyen pas trop moche pour vérifier régulièrement si la souris est encore dans la zone de rotation... Le problème étant que lorsque la souris ne bouge pas, aucun évènement n'est envoyé. Donc je dois passer par un timer.

Sinon j'avais demandé l'opinion de Mav:
- couleur bleue: il a pas trop aimé, c'est un peu trop flashy
- reflets: l'effet actuel donne une vision un peu surchargée à son goût

Bref, il faudrait des options:
- couleur ou texture du caroussel
- reflets ou non
- texte dans les reflets
- vitesse de rotation au survol

Où mettre toutes ces options ? Comment l'utilisateur pourra-t-il les changer ?

nochka85, Friday 13 March 2009 à 18:42


Subscription date : 29 November 2007
Messages : 7408
... en tout cas, c'est vrai que çà en jette pas mal !! ... par contre, pourquoi on ne peut pas choisir le caroussel pour Mail ? (enfin on en a un semblant, mais çà n'a RIEN à voir )

Tofe, Friday 13 March 2009 à 19:34


Subscription date : 09 February 2008
Messages : 921
Euh ben parce que j'ai pas mis l'option Techniquement il n'y a pas vraiment de difficulté. C'est aussi pour ça que je me demandais: pourrait-on avoir un élément de sous-menu pour le desklet afin de régler des options d'une vue ? Ou un autre moyen ?

fabounet, Monday 16 March 2009 à 10:19


Subscription date : 30 November 2007
Messages : 17118
le reflet générique est juste un reflet en bas de l'icône.
à priori, le reflet est indépendant de la position de l'icône, ou de la forme du plan (le reflet gère le Stencil buffer pour les rendus des docks, mais j'ai ptet pas rajouté cette option pour les rendus de desklet)
par contre il dépend de l'orientation, mais il me semble (?) que c'est pris en compte, enfin là je m'avance un peu, mais s'il le faut je peux corriger. le reflet générique gère aussi le rebond.
donc il me semblait que tu pouvais juste laisser le dock faire. sinon comme les icônes de desklet sont pas animées, tu peux aussi le gérer toi-même, ça n'est pas trop dur je pense, mais alors la 2ème fois il faut pas dessiner le texte

pour le timer, je te propose s'utiliser l'infrastructure existante, donc de t'abonner aux notifications MOUSE_MOVED et UPDATE_DESKLET.
si le rendu du desklet est le caroussel, alors tu prends la notif, sinon tu la laisses passer.
je pense faire pareil pour le rendu des docks, et ainsi supprimer le scroll à la molette, pour le réserver aux applets.

Tofe, Monday 16 March 2009 à 13:56


Subscription date : 09 February 2008
Messages : 921
ok, bon je vais regarder tout ça. Pour les options du carrousel je vais rajouter ça dans le panel d'options des vues. Ce sera générique pour tous les desklets, mais faute de mieux pour l'instant, ce sera un début
Pour la notif UPDATE_DESKLET, c'est bien, mais il va aussi falloir que je sache quand la souris est à l'intérieur du desklet Ou bien la notif n'est envoyée que lorsque la souris est sur l'un des desklets ?

fabounet, Monday 16 March 2009 à 14:49


Subscription date : 30 November 2007
Messages : 17118
quelles options tu voudrais définir ?
si elles sont propres à un rendu, alors c'est dans desklet-rendering que tu dois les rajouter. pour l'instant il n'a pas de fichier de conf, car aucune vue de desklet n'a d'option.

pour info j'ai viré le scroll sur le caroussel des docks une très bonne chose de faite, désormais le scroll se fait comme pour le desklet, à la position de la souris (j'ai conservé shift+scroll au cas où).
je me suis servi de UPDATE_DOCK (pas MOUSE_MOVED car en fait la fonction calculate_icons est déjà appelé à chaque déplacement)
voilou, j'ai rien touché sur le rendu du desklet par contre, histoire de pas avoir de conflit

benoit2600, Monday 16 March 2009 à 19:44


Subscription date : 03 December 2007
Messages : 526
bonjour,

pour les desklet en carrousel, lors du déplacement des icônes, ne serait-t-il pas plus logique d'inverser les directions de défilement ?
prenons un exemple :
mon applet météo m'affiche un dimanche nuageux, or j'aimerais voir cette icône de plus près. cette icône se trouve a droite de l'icône principale. Par logique, je déplace ma souris vers la droite pour aller voir cette icône, or, elle se met a faire le tour du desklet alors que je l'a voulais sous mon curseur
c'est pourquoi je voudrais inverser le sens du défilement.
c'est aussi le comportement qu'opte l'exemple que j'avais montrer ( a droite en dessous de catégories) :

http://www.dreaky.fr/

pour les puriste, c'est du flash, dsl

donc reprenons, je ne sais pas pour vous, mais moi, je ne trouve pas logique de devoir allez a droite pour trouver une icone qui se trouve a gauche

qu'en pensez-vous ?

ChAnGFu, Monday 16 March 2009 à 21:14


Subscription date : 17 January 2008
Messages : 1526
Je suis d'accord avec l'inversion.

Fab il faudrait faire un flowchart des fonctions du dock ainsi qu'une nomenclature générale des niveaux du dock (code de la lib du dock, code interne, callback, sous module, notifications, signaux externe, etc...)

fabounet, Tuesday 17 March 2009 à 09:51


Subscription date : 30 November 2007
Messages : 17118
un flow-quoi ?
ok pour l'inversion, sûrement une coquille.

ChAnGFu, Tuesday 17 March 2009 à 10:42


Subscription date : 17 January 2008
Messages : 1526
Un diagramme hiérarchique (je retrouvais pas le mot ce matin)

ChAnGFu, Tuesday 17 March 2009 à 10:44


Subscription date : 17 January 2008
Messages : 1526
3g qui vaut rien...

fabounet, Tuesday 17 March 2009 à 12:30


Subscription date : 30 November 2007
Messages : 17118
bah ça ne me parle pas beaucoup plus
espèce de sale informaticien

ChAnGFu, Tuesday 17 March 2009 à 12:34


Subscription date : 17 January 2008
Messages : 1526
Tu vois les arbres de probabilités? La même chose avec le degré d'importance des fonctions

fabounet, Tuesday 17 March 2009 à 12:40


Subscription date : 30 November 2007
Messages : 17118
il y'a bien la doc au format html générée par Doxygen
mais elle est pas à jour
et pas forcément super pratique.
donc oui ça serait bien, peut-être avec gtk-doc ?
la doc de glib ou gtk est assez claire je trouve, même si ça n'est pas vraiment un diagramme

Tofe, Tuesday 17 March 2009 à 13:24


Subscription date : 09 February 2008
Messages : 921
J'ai fait l'inversion, et la rotation au survol marche maintenant; j'ai pas réussi encore à faire marcher le scroll, et je travaille sur le reflet (désolé fab mais je ne peux pas m'appuyer sur ta fonction, car le buffer STENCIL ne correspond pas et de plus je dois dessiner tout ça dans un ordre précis à cause de la transparence).
Je fignolerai ça ce soir

fabounet, Tuesday 17 March 2009 à 16:59


Subscription date : 30 November 2007
Messages : 17118
le buffer STENCIL ne correspond pas

tu utilise pas le stencil pour dessiner les reflets à l'intérieur du plan ?
tu ne dessines pas le reflet en même temps que l'icône ?
bon ça a l'air compliqué tout ça, je te laisse faire, j'ai une nouvelle applet sur le feu

Tofe, Tuesday 17 March 2009 à 17:47


Subscription date : 09 February 2008
Messages : 921
Hmmmm comment dire... Lorsque j'ai fait cette première version des reflets, je ne savais pas faire un reflet. Et ça avait l'air compliqué. Donc j'ai fait un énorme hack: à gros coups de rotation, je plaque les icones à l'intérieur du carrousel, et comme c'est forcément à l'intérieur du carrousel, ben, pas besoin de stencil

Pour revenir à la fonction qui dessine une icone, si elle ne fait qu'utiliser un buffer stencil déjà prêt, alors ok, ça améliore les choses. Mais pas tout à fait: étant donné que les icones deviennent transparentes, je dois me charger de les afficher dans le bon ordre. Ce qui veut dire, dans l'ordre, faire:
- dessiner le disque dans le stencil
- dessiner les reflets avec le stencil qui filtre, dans l'ordre de profondeur
- dessiner le disque
- dessiner l'icone principale (sans gestion de transparence)
- dessiner les autres icones, dans l'ordre de profondeur

Mais t'inquiète, j'm'en occupe, j'y suis presque

fabounet, Tuesday 17 March 2009 à 18:33


Subscription date : 30 November 2007
Messages : 17118
oui le buffer est déjà prêt, tu peux regarder dans Curve pour un exemple.
pour le alpha, si tu mets pIcon->fAlpha à la valeur que tu veux, il devrait prendre en compte cette valeur.
mais bon si ton hack marche osef hein je pensais juste que c'était plus simple.

Tofe, Wednesday 18 March 2009 à 13:50


Subscription date : 09 February 2008
Messages : 921
Oui, pour le alpha c'est ce que j'utilise, mais il est important d'afficher d'abord tous les reflets, puis le disque, pour toutes les icones, car lorsque deux icones semi-transparentes se superposent on ne peut pas s'appuyer sur le "depth buffer" (sinon l'icone derriere ne sera pas visible).
Mais mon hack est un peu plus propre maintenant, vu que je vais utiliser le stencil buffer comme il faut.

En résumé, je ne peux pas utiliser ta méthode car il se peut que l'icone A soit devant le reflet de l'icone B.

D'ailleurs, pour le dock, le reflet est au-dessus du dock ? Pas derrière ?

Git Version | Version Git

Subjects Author Language Messages Last message
[Locked] desklet en carrousel
Page : 1 2
fabounet Français 31 fabounet [Read]
24 March 2009 à 11:10


Glx-Dock / Cairo-Dock List of forums Git Version | Version Git desklet en carrousel 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.