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 Use more tools from Unity/Gnome-Shell/...
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] Use more tools from Unity/Gnome-Shell/...
matttbe English 14 fabounet [Read]
17 February 2013 à 13:18

matttbe, Monday 11 February 2013 à 09:25


Subscription date : 24 January 2009
Messages : 12573
Hello,

Here is just some ideas but I need some technical advises before trying to code them

I think it can be interesting to integrate some tools from Unity/Gnome-Shell/... but which one? Maybe Unity WebApps?
About Unity WebApps, it should not be too hard to support it because we already have Indicator-Sound (Sound-Menu), Indicator-Messages (Messaging-Menu) and the Launcher API. But I don't know what we have to do more... (connecting to a daemon? some hacks?)

I plan to port Sound-Menu (only the part about the Indicator applet) to Indicator3 (like Messaging-Menu, etc.) but should I drop the support of GTK2? It's just because this applet needs a recent version of GTK2 and Indicator (and then I guess that if this distribution contains that, GTK3 should be available). But I guess it shouldn't be hard to support both versions (e.g. Messaging Menu supports both versions).

Also, about Indicator, is there an easy way to create more than one icon for one applet (and not use a kind of hack like the one in Status-Notifier): Instead of creating a new applet for each indicator (all files in /usr/lib/indicators3/*/)
ls /usr/lib/indicators3/7/*.so
/usr/lib/indicators3/7/libapplication.so
/usr/lib/indicators3/7/libappmenu.so
/usr/lib/indicators3/7/libbluetooth.so
/usr/lib/indicators3/7/libdatetime.so
/usr/lib/indicators3/7/libmessaging.so
/usr/lib/indicators3/7/libpower.so
/usr/lib/indicators3/7/libprintersmenu.so
/usr/lib/indicators3/7/libsession.so
/usr/lib/indicators3/7/libsoundmenu.so
/usr/lib/indicators3/7/libsyncindicator.so
I want to create a generic applet to load all indicator applets (except some of them like messaging, soundmenu, application, etc.) and easily create a new icon for each applet. I can also create a generic applet that can be duplicated and load only one file (that can be modified in the config panel) but it's not user-friendly...

fabounet, Monday 11 February 2013 à 12:12


Subscription date : 30 November 2007
Messages : 17118
pour les web apps, je ne sais pas comment ça marche (en fait j'en ai jamais vu une seule, même en utilisant Unity, j'ai eu des popup dans firefox mais apparemment ça ne marche pas)
pour Sound-Menu, ça serait bien d'utiliser le menu fournit par le .so dans le cas où on l'utilise
pour les autres indicateurs, utiliser le menu dans tous les cas, mais il me semble que c'est déjà le cas, donc je ne vois pas trop ce qu'il manque. c'est déjà très facile de supporter un nouvel indicateur non ?
pour une applet générique (multi-instance où tu choisis dans la config quel indicateur tu veux je suppose ?) pourquoi pas, peut-etre en permettant de changer d'indicateur via le menu du clic droit pour ne pas devoir aller dans la config ?

je pense que supporter gtk2/gtk3 devrait etre fait dans Indicator-applet*, l'applet ne devrait pas avoir à se soucier de ça si possible.

Edit: dans le genre bonnes idées, supporter les nouveaux menus serait bien (Gnome, KDE). c'est déjà fait pour Ubuntu, j'avais prévu de le faire pour Gnome mais pas encore eu le temps.
aussi voir si Mutter peut nous aider (Exposé des fenetres/bureau)

matttbe, Monday 11 February 2013 à 14:48


Subscription date : 24 January 2009
Messages : 12573
pour les web apps, je ne sais pas comment ça marche (en fait j'en ai jamais vu une seule, même en utilisant Unity, j'ai eu des popup dans firefox mais apparemment ça ne marche pas)
Je ne l'ai jamais utilisé non plus mais j'ai vu des démo avec GMail/Google: il faut accepter la notif dans Firefox puis une icône GMail est créée (ça je ne trouve pas ça important) mais surtout une entrée est rajoutée dans Messaging Menu, prévenant l'arrivée de nouveau mail. Pour Grooveshark, Sound-Menu était utilisé.

Je vois que ces fichiers sont installé sur mon pc:
/usr/bin/ubuntu-webapps-update-index
/usr/bin/unity-webapps-desktop-file
/usr/bin/unity-webapps-runner
/usr/lib/libunity-webapps-repository.so
/usr/lib/libunity-webapps.so
/usr/lib/libunity-webapps/unity-webapps-context-daemon
/usr/lib/libunity-webapps/unity-webapps-service
Les 2 derniers ont l'air intéressants, je suppose qu'il y a un service comme avec les autres. Comment le lancer? Comment s'y connecter?

pour Sound-Menu, ça serait bien d'utiliser le menu fournit par le .so dans le cas où on l'utilise
Je vais regarder à ça!

pour les autres indicateurs, utiliser le menu dans tous les cas, mais il me semble que c'est déjà le cas, donc je ne vois pas trop ce qu'il manque. c'est déjà très facile de supporter un nouvel indicateur non ?
Oui mais il y en a plusieurs indicateurs, s'il faut créer une applet pour chaque alors qu'il n'y a qu'une ligne ou 2 qui changent (voir la différence en Printer-Menu et Sync-Menu) et surtout, que l'on est pas certain que le .so en question est installé ou non.

pour une applet générique (multi-instance où tu choisis dans la config quel indicateur tu veux je suppose ?) pourquoi pas, peut-etre en permettant de changer d'indicateur via le menu du clic droit pour ne pas devoir aller dans la config ?
Pour moi, dans l'idéal, ce serait d'avoir une applet qui se duplique automatiquement en fonction des "indicateurs" disponibles. Dans la config, on pourrait y trouver une "blacklist" pour ne pas démarrer certains indicateurs.
À l'init, le dossier /usr/lib/indicators3/7/ serait parcouru et une icône serait créée pour chaque indicateur (en se connectant à tous les signaux pour afficher les bons menus, etc.).
Du coup, ma question est de savoir si tu vois une méthode assez simple pour réaliser ça ou est-ce qu'il faut créer plusieurs images dans l'icône réservée à l'applet et réagir en fonction d'où on a cliqué sur cette grande icône (comme avec Status-Notifier).
Le gros problème est donc qu'il y aurait qu'une seule icône donc pas génial pour les effets (comme avec Status-Notifier, il faudrait les enlever) et pas moyen de "disperser" les icônes, ça ne formerait qu'un bloc. Mais c'est parfaitement faisable.

je pense que supporter gtk2/gtk3 devrait etre fait dans Indicator-applet*, l'applet ne devrait pas avoir à se soucier de ça si possible.
Oui, c'est juste que je ne me souviens plus si c'était possible d'utiliser la même technique avec les anciennes versions de indicators et que Sound-Menu demande une version récente de libido, dbus-menu, etc. (du coup ça compilera avec GTK2 que si on possède des versions récentes des autres et donc on possédera certainement GTK3). Mais je vais regarder si c'est simple d'avoir un truc comme avec Messaging-Menu (supporter indicator-applet et indicator-applet3)

Edit: dans le genre bonnes idées, supporter les nouveaux menus serait bien (Gnome, KDE). c'est déjà fait pour Ubuntu, j'avais prévu de le faire pour Gnome mais pas encore eu le temps.
aussi voir si Mutter peut nous aider (Exposé des fenetres/bureau)
Ah oui, bonnes idées

fabounet, Monday 11 February 2013 à 16:10


Subscription date : 30 November 2007
Messages : 17118
on est pas certain que le .so en question est installé ou non

ça l'applet peut le tester au lancement, et retourner FALSE pour ne pas être chargée (et donc ne pas apparaitre dans la config)

pour l'applet générique on peut faire comme Status-notifier, mais je verrais plutôt une icône par menu (ça permettrait de garder les effets, et de les placer où on veut) enfin c'est à voir.

alors qu'il n'y a qu'une ligne ou 2 qui changent

peut-etre alors qu'il faudrait développer un peu plus indicator-applet, pour pouvoir créer une applet indicateur en 5mn.

matttbe, Monday 11 February 2013 à 17:58


Subscription date : 24 January 2009
Messages : 12573
ça l'applet peut le tester au lancement, et retourner FALSE pour ne pas être chargée (et donc ne pas apparaitre dans la config)
Bonne idée mais ça oblige de couvrir tous les "indicators" (si on ne se contente que ceux des dépôts officiels, ça peut aller mais si on doit regarder aux ppa )

pour l'applet générique on peut faire comme Status-notifier, mais je verrais plutôt une icône par menu (ça permettrait de garder les effets, et de les placer où on veut) enfin c'est à voir.
Oui, je suis d'accord mais comment faire cela automatiquement, sans créer une applet par indicator ni en dupliquer une et changer la config?

peut-etre alors qu'il faudrait développer un peu plus indicator-applet, pour pouvoir créer une applet indicateur en 5mn.
C'est déjà le cas
Copier/Coller, changer le nom du fichier, le nom de l'applet, la description et choisir une icône. Mais il faut recompiler, du coup ce n'est pas pratique pour en ajouter de nouvelles.

fabounet, Thursday 14 February 2013 à 23:23


Subscription date : 30 November 2007
Messages : 17118
pour ceux qui veulent la suite, il fallait être sur IRC

lylambda, Friday 15 February 2013 à 00:18


Subscription date : 06 September 2009
Messages : 1635
pour ceux qui veulent la suite, il fallait être sur IRC
Tsss, y en a que pour les abonnés… On aura droit à un résumé quand même ?

matttbe, Friday 15 February 2013 à 14:57


Subscription date : 24 January 2009
Messages : 12573
Petit résumé:
  • Le Sound-Menu est maintenant importé du fichier .so si libindicator3 est dispo (mais uniquement le menu, le reste est contrôlé depuis le backend alsa)
  • Je vais regarder si c'est possible d'avoir une applet générique pour les "indicators" (en chargeant automatiquement tous les indicateurs installé (comme sur Unity/Gnome-Panel) à l'exception de certains d'entre eux). L'applet s'auto-instancierait en créant donc une nouvelle icône pour chaque indicator.
  • Par contre, on n'a pas discuté des webapps (et je pense que ça pourrait être intéressant d'y regarder d'un petit peu plus prêt car c'est bien possible que ce soit très simple à mettre en place )

fabounet, Friday 15 February 2013 à 17:28


Subscription date : 30 November 2007
Messages : 17118
bien sûr, en gros on a décidé de recoder le dock en Javascript pour suivre le chemin tracé par Gnome.

PS: un troll se cache dans ce message, sauras-tu le débusquer ?

matttbe, Saturday 16 February 2013 à 01:25


Subscription date : 24 January 2009
Messages : 12573
un troll se cache dans ce message, sauras-tu le débusquer
Tu ne parlais pas de Java plutôt?

lylambda, Saturday 16 February 2013 à 13:45


Subscription date : 06 September 2009
Messages : 1635
Merci pour ces infos
Par contre, CD continu de s'axer beaucoup sur Unity/Gnome. Ça ne risque pas de créer de gros écarts avec KDE ou XFCE, par exemple ? (vrais question )

fabounet, Saturday 16 February 2013 à 18:48


Subscription date : 30 November 2007
Messages : 17118
on support déjà KWin, et surtout on respecte les standards, donc si les autres le font aussi ça devrait bien se passer
c'est juste que Unity et Gnome proposent des nouveautés intéressantes (et c'est récent, il y'a peu ils étaient très instables ce qui a retardé leur support), comparé à XFCE qui n'avance pas vite ou KDE qui est déjà stable.

lylambda, Sunday 17 February 2013 à 00:21


Subscription date : 06 September 2009
Messages : 1635
D'où lr non support du nouveau systray par xfce ?
En tout cas c'est très clair, merci

matttbe, Sunday 17 February 2013 à 03:08


Subscription date : 24 January 2009
Messages : 12573
Fab vient d'ajouter le support de Gnome-Shell pour gérer le mode "Exposé" et show all desktops! Merci

fabounet, Sunday 17 February 2013 à 13:18


Subscription date : 30 November 2007
Messages : 17118
D'où lr non support du nouveau systray par xfce ?

ça c'est à eux de s'y mettre, KDE et Unity le supporte et ça marche très bien. c'est vraiment dommage qu'il y'ait tellement d'inertie
surtout que c'est inévitable (wayland) et que ça a des avantages

Technical discussions | Discussions techniques

Subjects Author Language Messages Last message
[Locked] Use more tools from Unity/Gnome-Shell/...
matttbe English 14 fabounet [Read]
17 February 2013 à 13:18


Glx-Dock / Cairo-Dock List of forums Technical discussions | Discussions techniques Use more tools from Unity/Gnome-Shell/... 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.