§ Posté le 12/07/2014 à 22h 30m 43
L'essentiel la configuration de Touhy se fait par un ensemble de fichiers d'une syntaxe proche du format .desktop/.ini (la seule différence étant sur la gestion des commentaires, permettant d'utiliser le « ; » pour définir certaines valeurs, comme par exemple des commandes shell). Pour cela, l'un des modules de base de Touhy est le module « settings », chargé de lire ces fichiers, et d'y récupérer du contenu formaté.
Pour cette nouvelle mouture, j'ai fais en sorte de ne pas parasiter inutilement l'espace disque : il n'y a pas de création automatique de fichiers de configuration au lancement, et c'est à vous d'en ajouter « manuellement » si vous voulez régler des options particulières (je ferai un outil pour gérer la conf', un jour…). Cela permet, notamment, de ne pas avoir besoin d'aller effacer des fichiers quand vous souhaitez utiliser la configuration par défaut et que celle-ci change d'une version à l'autre, comme ça avait été le cas quelques fois sur l'ancien dépôt.
Touhy va donc chercher ses fichiers de configuration soit dans ~/.config/touhydev, soit dans le répertoire système approprié. À chaque fois, il regarde s'il existe un fichier spécifique à l'application, dans un répertoire portant son nom ; et s'il n'en trouve pas, cherche dans un répertoire « common » contenant la configuration commune à l'ensemble des applications, ce qui permet de configurer certaines choses pour toutes les applications.
Actuellement, le système ne lit qu'un seul fichier à la fois, et créer un fichier de conf', même pour une seule option, efface complètement la configuration par défaut. J'aimerais, à terme, mettre en place un fonctionnement en cascade, c'est-à-dire faire en sorte que, si une option particulière n'est pas renseignée dans un fichier donné, elle soit cherchée dans les fichiers moins spécifiques ; mais je n'ai pas le courage de m'attaquer à ça pour le moment. Ce serait cependant très pratique, notamment pour l'internationalisation.
Car, en effet, le support des différents langages se fait par un fichier de configuration semblable aux autres. Ce qui permet, potentiellement, qu'un utilisateur ayant des choix de langue différents des miens (quelqu'un qui parlerait de « signets » plutôt que de « marque-pages », par exemple, pour reprendre une divergence classique) puisse modifier simplement le texte de ses applications.
Normalement, la configuration est « surveillée » par les applications, et les changements effectués dans les fichiers sont appliqués automatiquement, sans qu'il y ait besoin de redémarrer l'application concernée. Cependant, ce mode de fonctionnement posait quelques petits soucis pour deux applications de base de l'environnement (sysdock et sysmoni) ainsi que pour les différents panels, aussi cela est-il désactivé dans ces cas, et il faut tuer et relancer les applications pour que les changements soient pris en compte (pour sysmoni, les changements peuvent cependant être obtenus par la ligne de commande, et pour sysdock, un outil de configuration dynamique est intégré, quoiqu'incomplet).