Re: [Gambas-user-fr] Au sujet du générateur de paquetage.
Brought to you by:
gambas
From: Durandal <dur...@or...> - 2008-07-26 16:08:20
|
Benoit Minisini a écrit : > On samedi 26 juillet 2008, Durandal wrote: > >> Benoit Minisini a écrit : >> >>> On vendredi 25 juillet 2008, Durandal wrote: >>> >>>> Oui effectivement, on trouve dans le fichier ~/.config/user-dirs.dirs la >>>> dénomination exacte des différents >>>> chemins de l'utilisateur. Je n'ai rien trouvé de probant chez notre ami >>>> Google, sur ce sujet. Sinon, écrire >>>> des lignes de code qui testeraient la présence de ce fichier et le cas >>>> échéant récupèreraient le nom exact >>>> serait réalisable (cela semble à ma portée si cela vous intéresse et >>>> vous faire gagner du temps). >>>> >>> Oui ça m'intéresse. Par contre le problème est un peu plus compliqué que >>> cela. >>> >>> Donc le chemin du "desktop" a l'air d'être stocké dans un fichier texte, >>> ça c'est bon. >>> >>> Maintenant ce fichier est stocké dans le répertoire de configuration de >>> l'utilisateur, au sens de freedesktop.org. Ce standard est expliqué ici : >>> >>> http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html >>> >>> Donc il faut d'abord chercher ce fichier dans $XDG_CONFIG_HOME (valeur >>> par défaut '~/.config'), puis dans $XDG_CONFIG_DIR (valeur par >>> défaut '/etc/xdg'). >>> >>> Par contre, dans ma Mandriva, /etc/xdg ne contient en fait pas de >>> fichier 'user-dirs.dirs', mais un fichier 'user-dirs.default' qui >>> contient bien les valeurs par défauts de 'user-dirs.dirs'. Je trouve ça >>> incohérent, mais bon... >>> >>> Si vous pouvez écrire une routine générique qui est capable de dire où se >>> trouve le desktop en suivant l'algorithme précédent, ce serait le top. >>> >>> Je pourrais ensuite mettre cette routine dans le composant gb.desktop >>> pour Gambas 3, faire une routine générique d'installation de fichier >>> "*.desktop" dans le bureau, et la rendre compatible avec KDE 4 (qui n'a >>> plus de bureau tel que défini par cette norme!) >>> >>> Cordialement, >>> >> Un premier "jus", juste pour savoir si je suis parti dans la bonne >> direction. >> >> Cordialement, >> >> Roland Pierret >> > > Pour lire les variables d'environnement, il faut utiliser Application.Env. Par > exemple, au lieu de : > > SHELL "echo $XDG_CONFIG_HOME" TO sXdgConfigHome ' $XDG_CONFIG_HOME définie ? > > Il faut faire : > > sXdgConfigHome = Application.Env["XDG_CONFIG_HOME"] > > C'est beaucoup plus rapide et léger. > > Pour lire toutes les lignes d'un fichier, il faut faire : > > WHILE NOT Eof(FileObject) > ... > WEND > > Et non : > > DO > ... > LOOP WHILE NOT Eof(FileObject) ... > > De plus, il y a sûrement moyen de ne pas duplique les tests faits sur le > contenu des lignes des fichiers de configuration. > > Enfin l'idéal serait de faire une fonction qui puisse chercher autre chose > que "DESKTOP" comme variable. > > Cordialement, > > Ok, Bien vu..... Et comme ça alors ? Cordialement, Roland Pierret |