You are here > Bugs > PlayOnLinux > Bug > Ticket #909 fr

Bug #909 on PlayOnLinux

Playonlinux Vault not displaying correctly

Added by RobyIndie on 2012-05-24 17:08:44 - Comment or update this ticket

Statut:
Fixed
Priority:
Low
Assigned to:
Last update:
2012-06-30 19:21:05
Description, steps to reproduce:
Just backed up all my softwares and when I was to restore them I saw this on my x64 mint 13. POL Vault
Then I realized the process was complete and everything was ok but... actually is pretty horrible to see :S
Forgive my english.
-RobyIndie (roberto-pol)

History

Update by Quentin PÂRIS on 2012-05-24 17:11:38

Please adress your POL vault's report to the author website:

http://en.congelli.eu/prog_info_polvault.html

Update by congelli501 on 2012-05-28 15:39:10

Hi,

For an unknown reason, after restoring an application, the POL_SetupWindow_message command doesn't work and only create an empty window.

This bug appeared with the latest version of Play On Linux and *is a playonlinux bug*.

There is no command to create an empty window in PlayOnLinux, so the fact that it happens means there is a bug somewhere.

PlayOnLinux has always be a very buggy software with very limited error handling. I can help to solve that bug, bug I'm tired of fixing other's problems.

Update by congelli501 on 2012-05-28 15:41:52

I forgot to say that the application is restored, so even if the window is empty, everything should work fine.

Update by RobyIndie on 2012-05-28 15:50:15

I know it's restored!
I restored several softwares with it!

Update by Quentin PÂRIS on 2012-05-30 21:21:38

Congelli, I had a look at your plugin, and that's not our code that's faulty and dirty, thats yours.

Je te la fait en français ça va être plus simple.

J'ai regardé un peu ton code, le fichier lib/desktop_shortcut c'est tout simplement innommable. Tu as copié une fonction bash de POLv3 qu'on avait volontairement enlevé de POLv4, je n'avais pas encore enlevé la partie python mais la le code a été renettoyé avec la 4.1, pas étonnant que ça foire.
Tu t'attendais sérieusement à ce qu'un code pompé dans POL3 et enlevé dans POL4 fonctionne éternellement ?

En gros t'es en train de faire un truc que seul PlayOnLinux est censé faire en interne (modifier les fichiers $POL_SetupWindow_ID). Python ne sait plus ce que "make_shortcut" veut dire puisque cette fonction a été retirée. Donc il ne fait rien et la fenêtre reste vide.

Si tu lis les guidelines sur les façon de scripter, ton code est totalement hors-norme, c'est du bricolage. Pas étonnant qu'il ne soit pas rétrocompatible d'une version de POL à l'autre. Les scripteurs qui suivent scrupuleusement notre documentation n'ont aucuns problèmes (Tu peux demander à Pango, à superplumus, à GNU_Raziel). D'ailleurs on a des robots qui tournent en boucle, qui vérifient la syntaxe et la propreté des scripts. 50% de nos scripts sont encore "incompatibles", ou "hors normes" avec POL4, pourtant ils marchent parfaitement. Certains même n'ont pas été modifié depuis deux ou trois ans!

De plus, le code bash de ton plugin n'est pas valide du tout, il ne fonctionne pas sur les systèmes BSD. Par conséquent, POL Vault ne fonctionne pas du tout sous PlayOnMac

Bref, je t'assigne ce bug si tu veux corriger ça. Sinon fais moi signe et j'enlèverai tout simplement POL Vault de POL.

Quand à l’argument "POL ne donne pas assez d'information de déboggage"... Non franchement regarde un peu avec la v4, tout le code est commenté et documenté, chaque fonction Bash est expliquée, et il y a des messages de déboggage partout quand tu les utilise. Je t'invite à lire la documentation pour intégrer l'API de déboggage a tes éventuels futurs scripts.

Update by Quentin PÂRIS on 2012-05-30 21:27:39

Et aussi, si tu as des questions sur le code, y'a toujours des membres du staff dispo pour répondre très vite.

Update by congelli501 on 2012-06-01 19:19:50

En français alors

Tout d'abord, je n'ai pas utilisé POL depuis pas mal de temps, et mes considérations dataient de la version 3.x. J'ai testé de façon plus approfondie la version 4, et il est vrai qu'elle est bien meilleure. Je te dois donc de plates excuses ainsi qu'au développeur de POL.
J'ajouterais quand même que le fait de sortir des correctifs quelques jours après la plupart des versions majeures et le fait de ne pas tester les plugins installés par défaut avant de sortir une nouvelle version fait un peu tâche. Enfin, je ne crois pas qu'afficher une fenêtre vide sans aucune information, même en console soit normal.

Pour ce qui est de la fonction bash de pour les shortcut, j'avais tout simplement oublié qu'elle était là. Je l'avais volontairement séparée du reste comme elle était susceptible de poser problème. Par contre, aucune fonction ne convient pour ré-importer un fichier de raccourci. Comme les raccourcis peuvent contenir du code spécifique à l'application, je ne peux pas le parser pour créer un raccourci avec la fonction normale.
Est-il possible de créer une fonction permettant d'installer un fichier de raccourci dans POL (avec proposition de mettre un lanceur dans le bureau et/ou menu) ? Cela permettrait de résoudre le problème et de ne plus avoir ce genre de problème par la suite.

Pour ce qui est du code non valide, c'est la partie qui permet de compter le nombre d'octet qui passe dans un pipe qui utilise des commandes un peu moins courantes et qui ne sont pas installés par défaut sous Mac.
Que mon plugin ne soit pas compatible POSIX, je veux bien, mais il n'est pas "invalide".

Bref, ce serait bien que j'aie une façon clean de créer des raccourcis à partir des fichiers de raccourcis extraits de l'archive. Ça me permettrait de me débarrasser définitivement la partie, le concède, un peu dégeu, de mon script.

Update by Quentin PÂRIS on 2012-06-01 21:33:38

(Le développeur de POL c'est moi)

Pour le moment il n'y a pas de moyen "simple" de créer un raccourcis sans refaire le shortcut (c'est complètement différent sous mac et linux).

Quelques trucs cependant :
 - Le script bash/make_shortcut sait le faire, mais comme je n'ai pas pensé que ça pourrait servir dans un plugin, je ne l'ai pas encore mis dans une fonction. Si tu le souhaite, je peux en faire une fonction pour POL 4.1.2, ça ne fera que rendre le code de POL plus propre. Si tu veux ça, préviens moi je le ferai sans soucis

 - Pour des raisons de portabilité et de propreté (toujours), nous avons décidé d'enlever le support des icônes du menu pour POLv4. Si je trouve une façon propre de remettre cette fonction, je le remettrais peut-être. Par conséquent la fenêtre avec les deux cases a cocher (menu, desktop) de POLv3 a disparu dans POLv4, et plutôt que poser la question à l'utilisateur si il voulait une icône sur le bureau, nous l'avons crée car c'est très rapide de la supprimer. (Il existe en plus une entrée dans le fichier playonlinux.cfg qui permet de désactiver ça)

 - Pourquoi ne pas simplement copier le nom des .exe dans POLVault et les recréer avec POL_Shortcut lors de l'importation ?


Sinon pour le coup de la fenêtre vide, oui on pourrait mettre un message dans la console. Je ne l'avais pas mis car ce n'est pas un bug qui est censé être visible par l'utilisateur lors d'une utilisation "normale" de PlayOnLinux. Visiblement je me suis trompé

Sinon pour le code non valide, je n'en sais rien, il y a pas mal d'options qui ne sont pas supportés dans certains programmes sont Mac (du, wc, ...) on voit apparaitre les messages "illegal option" dans la barre de progression. Je peux éventuellement te filer les erreurs si ça t'intéresse

Si tu as d'autres questions n'hésite pas

Update by Quentin PÂRIS on 2012-06-01 21:34:50

Sinon j'oubliais, je préfère que tu me demande de faire une fonction pour les raccourcis plutôt que de copier le coder de bash/make_shortcut. Sinon on va se retrouver avec le même genre de problèmes dans un ans. L'esprit de POL est assez simple : il faut utiliser au maximum les fonctions que l'on met à votre disposition dans les scripts, ce sont elles qui sont toujours maintenues quoi qu'il arrive

Update by congelli501 on 2012-06-06 23:12:17

 - Le script bash/make_shortcut sait le faire, mais comme je n'ai pas pensé que ça pourrait servir dans un plugin, je ne l'ai pas encore mis dans une fonction. Si tu le souhaite, je peux en faire une fonction pour POL 4.1.2, ça ne fera que rendre le code de POL plus propre. Si tu veux ça, préviens moi je le ferai sans soucis
Ce serait parfait oui.

 - Pour des raisons de portabilité et de propreté (toujours), nous avons décidé d'enlever le support des icônes du menu pour POLv4. Si je trouve une façon propre de remettre cette fonction, je le remettrais peut-être. Par conséquent la fenêtre avec les deux cases a cocher (menu, desktop) de POLv3 a disparu dans POLv4, et plutôt que poser la question à l'utilisateur si il voulait une icône sur le bureau, nous l'avons crée car c'est très rapide de la supprimer. (Il existe en plus une entrée dans le fichier playonlinux.cfg qui permet de désactiver ça)
Ok. L'important c'est que le jour ou les icônes sont de retour, mon plugin soit directement compatible, ce qui sera possible avec la fonction dont tu parles.
C'est dommage, c'était assez pratique d'ouvrir des applis depuis le menu.

 - Pourquoi ne pas simplement copier le nom des .exe dans POLVault et les recréer avec POL_Shortcut lors de l'importation ?
Il me semble que certains script ajoutent du code bash spécifiques dans les raccourcis (lancer une commande avant l'exécutable ou simplement lancer l'appli avec des paramètres). Si je ne garde que le nom de l'exe, perd ce code, et le programme risque de ne plus marcher.

Sinon pour le code non valide, je n'en sais rien, il y a pas mal d'options qui ne sont pas supportés dans certains programmes sont Mac (du, wc, ...) on voit apparaître les messages "illegal option" dans la barre de progression. Je peux éventuellement te filer les erreurs si ça t'intéresse
S'il n'y en a pas trop, pourquoi pas mais je n'ai pas trop de temps en ce moment... Lance le code avec bash -v, que je sache un peu ce qui se passe. Malheureusement, ça m'a l'air compromis pour le moment.

Update by Quentin PÂRIS on 2012-06-22 22:00:30

Ok, la fonction a été crée sur la dernière version sur le git, elle s'appellera POL_Shortcut_MakeDesktopShortcut

POL_Shortcut_MakeDesktopShortcut "League Of Legends"

Update by congelli501 on 2012-06-29 12:25:33

J'ai envoyé un patch sur le git.

Update by Quentin PÂRIS on 2012-06-29 13:46:25

Je peux pas le merger. T'as bien pris la dernière version du git ?

Update by Quentin PÂRIS on 2012-06-30 10:46:56

  • Statut changed to Fixed


Update by congelli501 on 2012-06-30 19:21:05

Possible que non, je me disais bien qu'il y avait quelque chose qui n'allait pas. Je vais refaire un patch dans le courant de la semaine.

Il n'y a rien à voir ici