l-atelier-des-chercheurs / dodoc

Conçu pour favoriser les processus réflexifs lors d’activités d’apprentissage, do•doc est un outil ouvert et modulaire qui permet de capturer des médias (photos, vidéos, sons et stop-motion), de les éditer, de les mettre en page et de les publier
https://latelier-des-chercheurs.fr/outils/dodoc
GNU Affero General Public License v3.0
62 stars 11 forks source link

Bug : Affichage du nom Dodoc et du logo dans la barre d'applications sous Ubuntu #430

Open jubonhomme opened 4 years ago

jubonhomme commented 4 years ago

Sous Ubuntu 18.04, le nom Do•doc ainsi que le logo ne s'affichent pas correctement. Ce bug existe depuis la version 7.7 au moins, et est présent sur mes 2 ordinateurs sous Ubuntu 18.04

bug_icone_linux

jubonhomme commented 4 years ago

A voir peut-être du côté d'Etcher comment la création du lanceur est faite. https://doc.ubuntu-fr.org/appimage#integration_au_bureau

jubonhomme commented 4 years ago

Je suis maintenant sous ubuntu 20.04 pour une affaire de lib avec OBS... En voulant faire un peu de ménage j'ai enfin trouvé comment avoir un lanceur dodoc propre avec un icon dans les applications (j'ai fait le ménage dans le fichier appimagekit-dodoc.desktop dans /.local/share/applications).

Par contre je ne trouve toujours pas l'endroit où sont codés les do•doc qui sont mal affichés dans la barre du lanceur et la barre en haut sous ubuntu. (problème de caractère spécial)

Je n'arrive pas non plus à le garder en favoris dans la barre du lanceur à gauche. Idem sur un autre ordi encore sous Ubuntu 18.04

Si l'Appimage de Droidcam y arrive ça devrait fonctionner pour Dodoc ;)

Une idée ?

barre-haut lanceur

jubonhomme commented 4 years ago

Je me réponds sur un début de solution :

Lorsque l'on passe par un clic droit sur l'icone de l'app dans le lanceur et que l'on sélectionne "ajouter aux favoris" ça fonctionne ! Capture 2020-04-11 01-59-08

On a bien un icon et dodoc en clair dans la barre de lanceur à gauche Capture d’écran de 2020-04-11 01-59-18

Mais dès que l'on clique dessus pour lancer dodoc ça rajoute un autre icon temporaire en dessous avec le nom qui bug au lieu de l'inclure comme une fenêtre ouverte dans le premier icon. Capture d’écran de 2020-04-11 01-59-32

A suivre ...

louis-ev commented 4 years ago

Hmm l’idéal serait de trouver un autre projet open source qui utilise aussi electron et qui n’a pas ce soucis, pour que je puisse fouiller dans leurs confiés pour voir pourquoi.

Après, je n’ai pas pu mettre à jour électron depuis un moment car l’intégration du lecteur PDF n’est plus présente dans les dernières version... elle est censée revenir bientôt, si ça te dit je peux t’envoyer une version avec un électron récent et tu me dis si ça passe mieux (bien possible).

Il y a aussi moyen de faire un export en .snap et pas uniquement AppImage, tu connais la différence ? Peut être que le snap est plus fiable.

jubonhomme commented 4 years ago

ça à l'air de venir d'électron d'après ce que je trouve, mais je ne comprends pas tout, si ça peut t'aider... https://github.com/AppImage/appimaged/issues/36 https://github.com/asciidocfx/AsciidocFX/issues/403

De ce que je sais Snap est un nouveau format de package pour linux, j'en ai quelques uns. Mais d'après ce que j'ai vu pour l'installation d'ubuntu 20.04 c'est assez lourd. Certains n'ont pas l'air de beaucoup apprécier ce format https://www.youtube.com/watch?v=GM7UJPrYiV8

jubonhomme commented 4 years ago

Ah non ça vient plutôt d'Ubuntu (et de gnome), à priori il faut renseigner le champ StartupWMClass

https://askubuntu.com/questions/367396/what-does-the-startupwmclass-field-of-a-desktop-file-represent

https://elementaryos.stackexchange.com/questions/10614/duplicate-plank-icon-for-custom-launcher

jubonhomme commented 4 years ago

Yes ! Je viens de résoudre le problème pour un autre logiciel sous electron et pour lequel j'avais le même problème : BalenaEtcher

Voici le contenu du fichier "appimagekit-balenaEtcher.desktop" que j'ai modifié dans /home/jbonhomme/.local/share/applications J'ai ajouté un champ "StartupWMClass" et j'ai récupéré avec la commande xprop WM_CLASS la suite en cliquant sur une fenêtre ouverte d'Etcher. ça donne donc ça : [Desktop Entry] Name=balenaEtcher Exec="/home/jbonhomme/balenaEtcher-1.5.80-x64.AppImage" %U Comment=Flash OS images to SD cards and USB drives, safely and easily. Icon=BalenaEtcher.png Type=Application StartupWMClass=balena-etcher-electron

Et ça fonctionne !

Sauf que pour Dodoc lorsque je lance "xprop WM_CLASS" dans un terminal et que je clique dans la fenêtre de dodoc j'ai : jbonhomme@jbonhomme-Precision-5510:~$ xprop WM_CLASS WM_CLASS(STRING) = "do\342\200\242doc", "do\342\200\242doc"

Et si j'ajoute une ligne comme ça dans le fichier .desktop : [Desktop Entry] Name=do•doc Comment=do•doc is a documentation tool for creativity. Exec="/home/jbonhomme/do.doc-9.0.2-dev.AppImage" %U Terminal=false Type=Application Icon=appimagekit-dodoc X-AppImage-Version=9.0.2 Categories=Education; X-AppImage-BuildId=1I23eSwrxdgfE5R64oEvLafdIFT X-Desktop-File-Install-Version=0.24 X-AppImage-Comment=Generated by /tmp/.mount_do.doclrINK3/AppRun TryExec=/home/jbonhomme/do.doc-9.0.2-dev.AppImage StartupWMClass=do\342\200\242doc

ça ne fonctionne pas.... j'ai cherché \342\200\242 et ça vient donc du Bullet • et de son codage en Octal Escape Sequence ... j'en apprends tout les jours ;)
https://graphemica.com/%E2%80%A2

jubonhomme commented 4 years ago

Il faudrait chercher dans le code de dodoc où se trouve le XSetClassHint() car au détour d'un lien je suis tombé là dessus : https://tronche.com/gui/x/xlib/ICC/client-to-window-manager/wm-class.html

To set a window's WM_CLASS property, use XSetClassHint().

donc si je comprends la logique du code, il faudrait voir où se trouve le XsetClassHint(do•doc) et le modifier pour que ça modifie la suite : WM_CLASS(STRING) = "do\342\200\242doc", "do\342\200\242doc"

jubonhomme commented 4 years ago

Une solution ici ? https://github.com/laurent22/joplin/issues/338 https://github.com/laurent22/joplin/issues/1255 https://www.electron.build/configuration/appimage

louis-ev commented 4 years ago

Je crois que ça c’est bon :

image

Je test avec icon: "./build/icon.png" et je te dis.

louis-ev commented 4 years ago

(merci pour les recherches, ça fait gagner du temps :) )

louis-ev commented 4 years ago

Je test des trucs, notamment en ajoutant le fichier .desktop : https://github.com/l-atelier-des-chercheurs/dodoc/blob/dodoc2-dev-linux/dodoc-linux-desktop-entry.desktop

jubonhomme commented 4 years ago

Le fichier .desktop règle le problème de l'affichage de l'icon dans la barre de la lancement sous ubuntu et de le lanceur d'application.

Perso j'ai ça dans mon fichier [Desktop Entry] Name=do•doc Comment=do•doc is a documentation tool for creativity. Exec="/home/jbonhomme/do.doc-9.0.2-dev.AppImage" %U Terminal=false Type=Application Icon=appimagekit-dodoc X-AppImage-Version=9.0.2 Categories=Education; X-AppImage-BuildId=1I23eSwrxdgfE5R64oEvLafdIFT X-Desktop-File-Install-Version=0.24 X-AppImage-Comment=Generated by /tmp/.mount_do.doclrINK3/AppRun TryExec=/home/jbonhomme/do.doc-9.0.2-dev.AppImage StartupWMClass= do\342\200\242doc

Capture d’écran de 2020-04-11 01-59-18 Capture d’écran de 2020-04-11 01-59-08

Par contre la dernière ligne StartupWMClass pose problème, Capture d’écran de 2020-04-11 01-59-32

jubonhomme commented 4 years ago

Il me semble que tu avais fini par régler le problème. Je testerai quand j'aurai une version linux avec les modifs... mais je pense que c'est en bonne voie pour fermer.

louis-ev commented 4 years ago

Dans es tests il me semble que le fichier dodoc-linux-desktop-entry.desktop avait pas résolu le soucis…

Son contenu :

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=do•doc
Comment=A documentation tool for creativity.
Exec=do•doc
Icon=./build/icon.png
Terminal=false
jubonhomme commented 4 years ago

Oui, comme dit plus haut j'ai trouvé la solution pour le fichier .desktop J'ai donc le bon raccourci avec l'icon + do•doc affiché correctement.

Mais quand je clic dessus j'ai toujours le double icon avec le nom bizarre. (cf message du 17 avril)

D'après ce que j'avais compris ça venait d'un problème d'Electron et de la gestion de : _To set a window's WM_CLASS property, use XSetClassHint()._

cf message du 11 et 12 avril :
Il faudrait chercher dans le code de dodoc où se trouve le XSetClassHint() car au détour d'un lien je suis tombé là dessus : https://tronche.com/gui/x/xlib/ICC/client-to-window-manager/wm-class.html To set a window's WM_CLASS property, use XSetClassHint(). donc si je comprends la logique du code, il faudrait voir où se trouve le XsetClassHint(do•doc) et le modifier pour que ça modifie la suite : WM_CLASS(STRING) = "do\342\200\242doc", "do\342\200\242doc"

La solution est ici je pense : https://tronche.com/gui/x/xlib/ICC/client-to-window-manager/wm-class.html

Mais je ne sais pas si ça t'aide vraiment

louis-ev commented 4 years ago

Hmm je crois que la conclusion est que tant qu’on utilise une vieille version d’Electron y a peu de chances qu’on trouve la solution.

Je pense que la v9 devra sortir sur la dernière version d’Electron, ça a pas trop de sens sinon. Surtout que visiblement le lecteur PDF a été rétabli, donc à priori pas de sacrifice de ce côté :)

jubonhomme commented 4 years ago

Ok, c'est effectivement plus rapide et cohérent que l'erreur soit corrigée directement au niveau d'Electron plutôt que de bidouiller des patchs dans dodoc... c'est aussi le cas de quelques logiciels sur Gnome qui ont le même soucis.

A fermer alors puisque le problème ne vient pas du code de dodoc

louis-ev commented 4 years ago

Je crois que je préfère garder ouvert tant qu’on est pas sûr que ce soit résolu après une maj. Je démarre le projet « maj » rapidement pour voir, ça résoudra aussi d’autres soucis et on gagnera en performance.

louis-ev commented 3 years ago

Je relance cette issue maintenant que les dépendances sont à jour. @jubonhomme dispo pour des tests ?

louis-ev commented 3 years ago

Apparement faut passer par là maintenant pour l’intégration propre des AppImage : https://github.com/TheAssassin/AppImageLauncher

Je creuse et je reviens

louis-ev commented 3 years ago

Ça a l’air d’être côté installation qu’on règle ça : https://github.com/probonopd/go-appimage/blob/master/src/appimaged/README.md C’est assez mystérieux pour moi pourquoi quelquechose d’aussi simple est aussi compliqué mais du coup je ne vois aucune solution à mon niveau (à part passer des AppImage aux Snap… ?).

jubonhomme commented 3 years ago

Si c'est mystérieux pour toi alors imagine pour moi ;)

Edit : Je n'ai pas compris pourquoi AppImage en GO c'est mieux... il me manque quelques compétences ;) Sinon sur le forum d'AppImage il y a peut-être une réponse ? https://discourse.appimage.org/ Par exemple https://discourse.appimage.org/t/how-to-correctly-specify-apps-icon-for-linuxdeploy/2276

louis-ev commented 3 years ago

J’ai regardé ton lien mais c’est hors de ma zone de confort… Si tu trouves un tuto clair je peux tenter mais pour l’instant j’ai pas de solution.

jubonhomme commented 1 year ago

Une bonne nouvelle peut-être de ce côté...

Depuis mon installation à partir de git le logo de dodoc s'affiche correctement dans la barre de lancement sur Ubuntu. image

Il faudra confirmer que ça passe correctement aussi après dans le paquet Appimage mais c'est un bon début.

Par contre pour le nom do•doc ça passe toujours pas ;) image

louis-ev commented 11 months ago

L'affichage en lançant depuis le terminal, ça a toujours été le cas je crois. Le soucis c'est vraiment à l'export, en AppImage. On retest bientôt !

jubonhomme commented 11 months ago

J'ai testé il y a quelques jours (avant les vacances) qd j'ai déposé le AppImage sur le forum et toujours le même problème pour le nom affiché avec un carré au milieu. Par contre le logo passe bien il me semble

louis-ev commented 7 months ago

Que fait-on ici pour la v10 ? @jubonhomme tu arrives à exporter en AppImage ou plus du tout ?

jubonhomme commented 7 months ago

Le nom de dodoc dans la barre sous Ubuntu n'est pas une priorité... ça ne concerne pas tant de monde que ça. Donc V10.1 sans problème pour ça.

Par contre la construction d'un paquet Appimage à diffuser va être utile et je dois refaire des tests mais la dernière fois que j'ai essayé il manquait des dépendances. Je vais ouvrir une issue spécifique sur ça et peut-être demander un coup de main pour les tests sur ce point dans le forum.