MouTonLibre

Aucun commentaire

J'étais tranquillement en train de prendre ma douche quand j'ai eu une révélation. Ne me demandez pas pourquoi, je ne le sais pas moi même, je me suis représenté le 3hg-menu dans sa version actuelle sous forme d'un schéma. Et en gros ça donne ça :

Alors juste pour information, il faut voir un « tuple » comme une liste d'objets immuables comprenant les informations nécessaires à la création d'un lanceur (commande, icône, adresse, etc.).

Et c'est à ce moment là que je me suis dit qu'un truc n'allait pas. Regardez bien en haut à gauche... La création des tuples via une arborescence de fichiers .desktop n'a finalement rien à faire dans la bibliothèque du 3hg-menu.

Donc voilà, je me lance dans un petit refactoring du code afin de bien segmenter le tout et de mettre en place un petit système de briques (plus ou moins) indépendantes et qui me semble beaucoup plus cohérent :

Cela peut sembler bizarre car le 3hg-menu a initialement été créé dans le but de gérer une arborescence de fichiers .desktop... Mais bon c'est bête de se limiter à ça quand on peut offrir bien plus avec le même outil finalement.

« Mais quel est donc l'intérêt pour l'utilisateur&nbsp? » allez vous me dire. Eh bien à vrai dire, pas grand chose. Dans un premier temps... Car cela va faciliter énormément le travail d'éventuels développeurs pour proposer une version personnalisée du 3hg-menu. Ce qui peut donc fournir à l’utilisateur moult variantes dont une qui pourrait lui convenir.

Prenez par exemple le tkmenu, il devient facile de créer un équivalent avec le 3hg-menu. :) Pour cela, il faut juste créer le plugin qui se charge de lire le fichier de configuration pour fournir une liste de tuples, et ensuite de créer une interface Tk. Mais celui qui le souhaite peut aussi créer un menu basé sur ce système de fichier de configuration mais basé sur Gtk, ou Qt, ou destiné à FluxBox, etc. Ou bien reprendre l'interface Tk mais avec la création des lanceurs basée sur l'arborescence de .desktop.

Et la bibliothèque du 3hg-menu se charge, elle, de la gestion des tuples. À savoir la création de l'arborescence qui sera fournie à l'interface, le tri des applications, la mise en cache pour accélérer l'ouverture, la création de fichiers d'icône binaires (toujours pour accélérer l'ouverture), etc.

Il y a quelques lignes de code à ré-écrire mais rien de bien méchant. :) Donc je vous fourni une version d'essai d'ici peu.

Allez je file.

6 commentaires

Hier soir, j'ai reçu un mail de Thuban que voici :

Rha j'ai envie de geeker ce soir mais trop de boulot :/
Votre mission pour compenser est d'écrire un script inutile mais rigolo
:)

Chose faite ! ;) Le 3hg-menu dispose donc d'un nouveau plugin qui permet de prendre des notes... C'est pas KISS, c'est pas UNIX, mais c'est rigolo.

Bon sinon, toujours à propos de prises de notes, j'ai besoin d'un retour à propos d'un nouveau service web. J'ai mis en place une instance Laverna et j'aimerai savoir si le multi-utilisateur fonctionne bien. Donc la question est simple : Est-ce qu'en allant à l'adresse https://moutonlibre.net/notes il vous est bien demandé quelques informations pour configurer votre compte ?

Pour information, Laverna est une application de prise de note avec chiffrement. Donc vos notes restent privées ! Cool non ?