Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Applets | Applets Album pour Clipboard
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] Album pour Clipboard
Page : 1 2
testeur Français 26 testeur [Read]
14 January 2008 à 15:24

testeur, Saturday 29 December 2007 à 08:41


Subscription date : 27 December 2007
Messages : 32
Dans le cadre du projet "activer le drag n drop" sous Cairo, j'ai pensé à installer une fonctionnalité qui serait un "album" contenant, dans les limites de la mémoire dispo, tout ce qui a été copié dans le presse -papier (clipboard).
L'idée (qui n'est pas nouvelle : Geoworks Ensemble 1991) serait que dans le cadre d'un travail, on chercherait les bouts de documents (textes, graphiques ...) dans toutes les applis utiles, puis au final, on piocherait dans l'album pour construire en une seule fois le document final.
si, de plus, l'album est sauvegardé, on pourrait d'une session à l'autre, gagner du temps dans notre travail.
Exemple : il est fastidieux de récupérer le texte et les images des PDF sous Adobe Acrobat Reader, mais ce dernier marche bien mieux que les applis libres. Une fois que tout est collé dans l'album, on finalise dans OOWriter ...

fabounet, Sunday 30 December 2007 à 02:30


Subscription date : 30 November 2007
Messages : 17118
et l'idée serait de glisser-déposer dans le dock tout un tas de trucs, puis de les classer et les utiliser à la fin ?
en tout cas, le drag'n'drop est déjà actif dans le dock, et les applets peuvent se faire notifier lorsqu'un tru cest déposé dans le dock (je l'ai fait que pour les fichiers, on peut aussi le faire pour des URL et sûrement aussi pour du texte).

testeur, Sunday 30 December 2007 à 10:21


Subscription date : 27 December 2007
Messages : 32
Ce n'est pas aussi ambitieux : il existe par ailleurs une appli sous KDE (qui doit s'appeler Basket, je crois) qui assure ce type de fonction, mais qui passe par Internet, etc ...
Sinon, Fab, dans quelle section des fichiers sources se trouvent la gestion des notifications liées au drag n drop (j'ai bien vu une partie notification, mais je m'y perds)

fabounet, Sunday 30 December 2007 à 15:12


Subscription date : 30 November 2007
Messages : 17118
l'applet reçoit une notification en cas de drag'n'drop (si elle s'est abonné à ça bien sûr)
le code qui gère ça est dans les callbacks, mais essaye si possible de passer par les notifs

testeur, Sunday 30 December 2007 à 15:58


Subscription date : 27 December 2007
Messages : 32
Je viens d'installer un programme Gnome qui s'appelle Glipper. Il ne parvient à garder trace que des Copies en mode texte pur. On a donc de la marge pour faire mieux.
Pour le moment, tout ce que je viens de réaliser ce sont les icones SVG de cette éventuelle future Applette
http://img296.imageshack.us/img296/6862/cdticonesdr0.jpg

Maintenant, il va falloir passer à la programmation

testeur, Sunday 30 December 2007 à 16:06


Subscription date : 27 December 2007
Messages : 32
"fabounet" :
l'applet reçoit une notification en cas de drag'n'drop (si elle s'est abonné à ça bien sûr)
le code qui gère ça est dans les callbacks, mais essaye si possible de passer par les notifs

Merci. Je viens de regarder le code de l'applette 'File Manager', je crois que j'ai compris le processus de notification. Mais, j'ai deux problèmes :
- comme j'ai toujours travaillé sur mes projets, je ne sais pas comment obtenir des makefiles adaptés à mon plug-in et compatibles avec le projet Cairo-Dock. Si tu pouvais me donner un canevas...
- je développe sous Anjuta/Glade. Cela me permet de gagner du temps pour l'IHM.
Ici encore, si tu as un canevas prêt, >> MP

Merci d'avance

fabounet, Monday 31 December 2007 à 02:29


Subscription date : 30 November 2007
Messages : 17118
alors pour développer une applet pour le dock, c'est très simple il y'a effectivement des canevas tout prêt.
j'ai pas encore rédigé de doc sur cette partie (ça va venir), la doc est pour l'instant sur http://glx-dock.org/html.
donc pour le canevas, le mieux est de reprendre l'applet logout, qui est vraiment ultra-basique.
tu prends le Makefile.am et le configure.ac que tu adaptes, et pour les sources tu peux partir de ce qu'il y'a dans [i]src[/i] et l'adapter aussi.
les fonctions utiles pour les applets sont pour l'instant dans [i]cairo-dock-applet-factory.h[/i]

Edit : pour l'IHM, dans un soucis de fénéantise, elle est auto-générée à partir du fichier de conf ^_^ donc tu peux partir d'un fichier de conf existant et voir un peu comment ça fonctionne (en gros c'est le début du commentaires qui renseigne sur le type du paramètre, et le reste qui fait un label ou une info-bulle.)

testeur, Monday 31 December 2007 à 11:29


Subscription date : 27 December 2007
Messages : 32
Oui, mais pour ces deux fichiers. S'agit-il de ceux qui se trouvent dans le répertoire /plug-ins/logout/
ou de ceux que l'on trouve dans /plug-ins/logout/src ?
Autre question : les fichiers qui produisent les librairies (suffixe .la) doivent-ils être repris ?

J'ai trouvé : l'Album est maintenant référencé dans les menus de configuration de Cairo-Dock
Image (ce n'est pas un mock-up : comme tu le vois, on lit encore TON message d'aide)
http://img292.imageshack.us/img292/5851/albumintegreuq2.jpg

Terminé pour 2007, vive 2008

fabounet, Tuesday 01 January 2008 à 03:48


Subscription date : 30 November 2007
Messages : 17118
tiens c'est marrant que t'aies aussi peu d'applet.
les .la et autres, on s'en fout ils s'installent dans /usr/lib, mais en fait j'ai pas trouvé le moyen de désactiver ça, c'est d'ailleurs pour ça que j'ai préfixé outes les applets par cd-
tiens comme tu es en train de créer une applet pour le dock, tes retours sur le sujet m'intéressent

testeur, Tuesday 01 January 2008 à 19:40


Subscription date : 27 December 2007
Messages : 32
Facile : je n'ai compilé que les applets dont j'ai vraiment besoin.
Par contre, Fab, maintenant que j'ai fêté la nouvelle année, pourrais-tu m'indiquer à quel niveau du processus de production du fichier source, je dois intégrer les icônes au format SVG qui représenteront mon plug-in. Pour le moment, tout ce que j'obtiens, c'est ça :
http://img91.imageshack.us/img91/274/iconeerroneerr3.jpg

Pour le reste, j'ai commencé à travailler sur l'IHM, que je vais commencer à construire :
- menu 'Options' déterminant la taille du cache sur disque affecté à l'album, et le vidage automatique ou non de ce dernier.
- IHM de l'album lui-même, utilisant la métaphore du lecteur Audio/Video

ENcore un problème : OU se trouvent les définitions des macros permettant d'ajouter des menus des applets ? En effet, suivant l'Applet concernée, mes méthodes, macros, variables changent

fabounet, Wednesday 02 January 2008 à 02:27


Subscription date : 30 November 2007
Messages : 17118
pour le menu : CD_APPLET_ADD_SUB_MENU et CD_APPLET_ADD_IN_MENU.

les définitions des macros sont encore un peu mouvantes, mais ça commence à se stabiliser. d'ici la 1.5, ça devrait être rôdé.

pour les icônes, y'a 2 types d'applets : celles qui dessinent régulièrement sur leur surface (l'horloge, la poubelle, rhythmbox), et celles qui se contentent de définir une icône au début (terminal, logout). bien sur rien n'empêche de faire ce qu'on veut.
y'a des fonctions utiles pour ça : CD_APPLET_LOAD_SURFACE_FOR_MY_APPLET, CD_APPLET_SET_SURFACE_ON_MY_ICON, CD_APPLET_SET_IMAGE_ON_MY_ICON.
regarde dans rhythmbox pour un exemple.

Je documenterai tout ça dés que ça sera bien au point, ça devrait pas tardé.

testeur, Wednesday 02 January 2008 à 12:24


Subscription date : 27 December 2007
Messages : 32
"fabounet" :
pour le menu : CD_APPLET_ADD_SUB_MENU et CD_APPLET_ADD_IN_MENU.

les définitions des macros sont encore un peu mouvantes, mais ça commence à se stabiliser. d'ici la 1.5, ça devrait être rôdé.

Ca y est, j'ai compris la manière d'ajouter les menus ; voici le résultat :
http://img144.imageshack.us/img144/61/capturemenusil0.jpg

pour les icônes, y'a 2 types d'applets : celles qui dessinent régulièrement sur leur surface (l'horloge, la poubelle, rhythmbox), et celles qui se contentent de définir une icône au début (terminal, logout). bien sur rien n'empêche de faire ce qu'on veut.
y'a des fonctions utiles pour ça : CD_APPLET_LOAD_SURFACE_FOR_MY_APPLET, CD_APPLET_SET_SURFACE_ON_MY_ICON, CD_APPLET_SET_IMAGE_ON_MY_ICON.
regarde dans rhythmbox pour un exemple.

Je documenterai tout ça dés que ça sera bien au point, ça devrait pas tardé. :)


Là, je suis demandeur, car d'une applet à l'autre, l'appel aux icones est différent, et, surtout, j'ai bien du mal à trouver la déclaration de certaines variables utilisées.

fabounet, Thursday 03 January 2008 à 02:24


Subscription date : 30 November 2007
Messages : 17118
oki je le note ^_^
tu cherches à faire quoi exactement ? l'applet [i]logout[/i] ne t'a pas éclairé ?

testeur, Thursday 03 January 2008 à 08:50


Subscription date : 27 December 2007
Messages : 32
Pas vraiment, Fab. J'ai étudié le code de Logout, Dustbin, Terminal, Powermanager. A chaque fois, la méthode de chargement de l'icone du plugin est différente. Il manque vraiment ici un petit tuto, sous forme d'une [i]fonction C[/i] et non pas d'une macro, permettant d'être très vite utilisée. L'idée c'est d'avoir un [i]framework[/i] permettant le développement rapide de plugins, ce qui me semble le plus utile pour le projet Cairo-Dock.
D'autre part, où est stockée par défaut le fichier SVG correspondant à l'icône ? Faut-il régler de nouveau les fichiers makefile and co ?
Aujourd'hui, je vais essentiellement essayer de finir l'IHM et le code des options (presque terminée : construite et testée sous Glade/Anjuta). Ici encore, pardon pour mes questions simplettes : j'ai compris la méthode qui permet d'accéder aux fichiers de conf, mais faut-il régler quelque chose lors de la compilation, où bien est-ce Cairo-Dock qui tout seul gère ça (ce qui me surprendrait) ?
A+

necropotame, Thursday 03 January 2008 à 11:03


Subscription date : 29 November 2007
Messages : 1583
PowerManager n'est pas du tout à jour. Regarde plutôt le plug-in Rhythmbox, qui lui est à jour et "certifié conforme" par fabounet (enfin j'espère, depuis le temps :P)

testeur, Thursday 03 January 2008 à 11:23


Subscription date : 27 December 2007
Messages : 32
J'espère, mais c'est justement une applet que je n'ai pas encore testée, car je n'aime pas ce programme de Gnome (je ne parle pas de l'Applet, mais de Rythm'n Box lui même). Mais je vais m'y mettre.
Sinon, je viens de terminer l'IHM des options, elle tourne en tant que programme standalone, reste à l'intégrer à l'album, puis faire de même avec sa métaphore, en enfin à lire la doc (pas de jeu de mots) pour l'interception du clipboard.

fabounet, Thursday 03 January 2008 à 13:36


Subscription date : 30 November 2007
Messages : 17118
alors pour les Makefile, en gros le seul truc à faire c'est de remplacer "logout" par "album" et ça devrait le faire.
pour l'IHM si tu as suivi le modèle des autres fichiers de conf, tu devrais avoir une IHM sans avoir rien à faire.

pour le chargement de l'applet, ça se passe dans l'init, qui est encadré par CD_APPLET_INIT_BEGIN et CD_APPLET_INIT_END. dedans tu t'abonnes aux notifications que tu veux, et tu charges ce dont tu auras besoin (images, structures, etc)

La config elle est encadrée par CD_APPLET_CONFIG_BEGIN et CD_APPLET_CONFIG_END. c'est là que tu lis ton fichier de conf.
Pour accélérer, j'ai isolé 4 paramètres communs à toutes les applets : largeur, hauteur, étiquette, et icône, les 2 derniers étant optionnels.

Je pense que si tu te limites à bustin et logout tu devrais déjà avoir 95% des cas. Je suis en train de rédiger la doc des macros, il manquera un petit tuto éventuellement.

testeur, Thursday 03 January 2008 à 16:18


Subscription date : 27 December 2007
Messages : 32
"fabounet" :
alors pour les Makefile, en gros le seul truc à faire c'est de remplacer "logout" par "album" et ça devrait le faire.
pour l'IHM si tu as suivi le modèle des autres fichiers de conf, tu devrais avoir une IHM sans avoir rien à faire.

pour le chargement de l'applet, ça se passe dans l'init, qui est encadré par CD_APPLET_INIT_BEGIN et CD_APPLET_INIT_END. dedans tu t'abonnes aux notifications que tu veux, et tu charges ce dont tu auras besoin (images, structures, etc)

La config elle est encadrée par CD_APPLET_CONFIG_BEGIN et CD_APPLET_CONFIG_END. c'est là que tu lis ton fichier de conf.
Pour accélérer, j'ai isolé 4 paramètres communs à toutes les applets : largeur, hauteur, étiquette, et icône, les 2 derniers étant optionnels.

Je pense que si tu te limites à bustin et logout tu devrais déjà avoir 95% des cas. Je suis en train de rédiger la doc des macros, il manquera un petit tuto éventuellement.


Mais tout cela est fait depuis plusieurs jours. Je construis l'IHM en me servant de Glade. Ce que je voudrais, c'est un exemple en 3-4 lignes de chargement et d'affichage d'icone personnalisée. Le stade initial est passé, et le plug-in "tourne", mais ce n'est pas esthétique.
Voici sur quoi je bloque :[i]
1/ Comment faire en sorte, lors de la compilation, que les icones que j'ai conçues pour mon plugin se placent dans le bon dossier.
2/ Où se trouve justement ce dossier.
3/ Une fois ces deux points réglés, comment en quelques lignes de code, charger l'icône voulue (si possible, sans passer par des macros, afin de comprendre ce qui se passe) ?[/i]
PS : je viens de tomber sur la DOC des macros et fonctions, c'est en fait très bien conçu

fabounet, Friday 04 January 2008 à 02:01


Subscription date : 30 November 2007
Messages : 17118
oui j'ai mis en ligne la version 1.4.7 de la doc :
http://glx-dock.org/html
je ne sais pas si c'est très bien conçu, c'est à vous développeurs d'applets de juger avec le temps

le répertoire des données d'une applet est communément appelé [i]data[/i], cf l'horloge ou la poubelle par exemple.
Le makefile.am dans src contient des définitions de nom de fichier ou de répertoire (fichier de conf, prévisualisation, ...)

Normalement les macros masquent tout ça. Si tu es tombé sur un cas où tu sens que ça ne passe pas avec les macros, et que tu es obligé de mettre les mains dans le cambouis, dis-le moi et j'étofferai l'API

testeur, Friday 04 January 2008 à 10:16


Subscription date : 27 December 2007
Messages : 32
"fabounet" :

Normalement les macros masquent tout ça. Si tu es tombé sur un cas où tu sens que ça ne passe pas avec les macros, et que tu es obligé de mettre les mains dans le cambouis, dis-le moi et j'étofferai l'API :wink:

>> en fait, ce que j'aime, c'est mettre les mains dans le cambouis. J'ai vu maintenant le lien entre le fichier de CONF et les 'option du module', mais comme je ne trouve pas de liste des 'tags' utilisés dans ce fichier de CONF, je fais tout par le couple Glade/Anjuta.
En parlant du fichier de CONF, sache que si je recompile une applet, le fichier issu de la compile n'écrase PAS l'ancien, ce qui a mon avis est gênant lors du développement.
Je viens de vérifier : mes icônes sont bien installées dans
/usr/local/share/cairo-dock/plug-in/album
PS : la DOC sur Internet est très intéressante, mais il manque des exemples ...

Applets | Applets

Subjects Author Language Messages Last message
[Locked] Album pour Clipboard
Page : 1 2
testeur Français 26 testeur [Read]
14 January 2008 à 15:24


Glx-Dock / Cairo-Dock List of forums Applets | Applets Album pour Clipboard 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.