dodoc icon indicating copy to clipboard operation
dodoc copied to clipboard

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

Open jubonhomme opened this issue 5 years ago • 29 comments

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 avatar Jan 02 '20 18:01 jubonhomme

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 avatar Jan 02 '20 18:01 jubonhomme

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 avatar Apr 10 '20 23:04 jubonhomme

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 ...

jubonhomme avatar Apr 11 '20 00:04 jubonhomme

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.

louis-ev avatar Apr 11 '20 07:04 louis-ev

ç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 avatar Apr 11 '20 10:04 jubonhomme

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 avatar Apr 11 '20 10:04 jubonhomme

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 avatar Apr 11 '20 11:04 jubonhomme

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 avatar Apr 11 '20 14:04 jubonhomme

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

jubonhomme avatar Apr 11 '20 22:04 jubonhomme

Je crois que ça c’est bon :

image

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

louis-ev avatar Apr 15 '20 09:04 louis-ev

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

louis-ev avatar Apr 15 '20 09:04 louis-ev

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

louis-ev avatar Apr 17 '20 08:04 louis-ev

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 avatar Apr 17 '20 12:04 jubonhomme

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.

jubonhomme avatar Jun 15 '20 23:06 jubonhomme

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

louis-ev avatar Jun 16 '20 09:06 louis-ev

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

jubonhomme avatar Jun 16 '20 14:06 jubonhomme

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é :)

louis-ev avatar Jun 18 '20 08:06 louis-ev

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

jubonhomme avatar Jun 18 '20 13:06 jubonhomme

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 avatar Jun 19 '20 12:06 louis-ev

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

louis-ev avatar Mar 24 '21 16:03 louis-ev

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 avatar Mar 29 '21 16:03 louis-ev

Ç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… ?).

louis-ev avatar Mar 29 '21 16:03 louis-ev

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

jubonhomme avatar Mar 29 '21 17:03 jubonhomme

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.

louis-ev avatar Mar 30 '21 09:03 louis-ev

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

jubonhomme avatar Feb 27 '23 16:02 jubonhomme

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 !

louis-ev avatar Nov 08 '23 14:11 louis-ev

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

jubonhomme avatar Nov 08 '23 14:11 jubonhomme

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

louis-ev avatar Mar 12 '24 14:03 louis-ev

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.

jubonhomme avatar Mar 12 '24 19:03 jubonhomme