Pourquoi le 3hg-menu ?

Ce menu est en quelque sorte un héritier direct du HandyMenu. Cependant, l'intégralité du code a été repensé afin d'apporter de nouvelles fonctionnalités et de la réactivité.

Screenshots

Fonctionnalités

Le cœur du 3hg-menu repose sur le popdown menu. La configuration est effectuée simplement par la lecture d'une arborescence de fichiers .desktop (normalisés par freedesktop.org) et la rapidité d'exécution est remarquable grâce notamment à une mise en cache de la configuration à la première exécution.

De plus, de nombreuses fonctionnalités ont été développées :

Le 3hg-menu propose également une extension de ses fonctions par le biais de plugins. Pour le moment, les plugins disponibles ont comme capacités :

Dépendances

Pour le moment, rien de bien folichon. :) Si vous avez python3 et Gtk, ben c'est bon.

Installation

Ce menu est actuellement proposé en version bêta-2 à des fins de tests. Aucun paquet ou .deb n'est fourni. Cependant tout est fait pour vous faciliter la vie. Ben oui, on n'est pas comme ça.

Pour installer le 3hg-menu, il suffit de se rendre dans le dossier issu de la décompression de l'archive et de lancer la commande (en root) :

make install

PS : N'oubliez pas d'installer make si la commande est inconnue par le système.

Pour désinstaller le 3hg-menu, rien de plus simple :

make uninstall

À noter qu'un dossier contenant des fichiers de configuration a été créé dans votre home lors de l'exécution du menu. Donc pensez à le supprimer si vous ne voulez aucune trace grâce à la commande suivante :

rm -R ~/.3hg-menu

Utilisation

Pour le moment, seule l'interface reposant sur la bibliothèque Gtk est proposée. Pour lancer une instance il suffit alors d'exécuter la commande :

3hgmenu-gtk

ou bien de cliquer sur le lanceur 3hg-menu dans vos menus.

Cette commande va créer une instance par défaut (avec des applications arbitraires qui ont de grandes chances de ne pas être installées chez vous). Pour info, la configuration du profil par défaut est situé dans le répertoire /usr/share/3hg-menu/profiles/default et est copié dans le répertoire ~/.3hg-menu si celui-ci n'existe pas ou est vide (à la première exécution ou après suppression de ce dossier). Lors des exécutions suivantes, il charge donc la configuration située dans le menu ~/.3hg-menu.

Mais il est également possible de charger d'autres configurations pré-définies que l'on nomme des profils. Ainsi pour charger un profil, il faut lancer la commande :

3hgmenu-gtk -p <nom du profil>

ou

3hgmenu-gtk --profile=<nom du profil>

Si une configuration de ce profil existe, c'est à dire qu'un dossier /usr/share/3hg-menu/profiles/<nom du profil> contient la configuration nécessaire, alors la configuration est copiée dans le répertoie utilisateur (~/.3hg-menu/<nom du profil>). Sinon, la configuration par défaut est copiée et utilisée.

Pour accéder à l'interface destinée aux débutants (boutons avec actions exprimées explicitement), il faut définir une variable d'environnement ASSIST à la valeur True. Vous pouvez par exemple lancer :

env ASSIST=True 3hgmenu-gtk -p <nom du profil>

Configuration

La configuration d'un profil du menu repose sur 3 éléments :

Dossier apps

Ce dossier contient les fichiers .desktop utilisés pour générer les lanceurs du menu.

Vous pouvez créer autant de dossiers et de sous-dossiers que vous le voulez. Libre à vous ensuite de placer les fichiers .desktop dans ces dossiers. À noter que le nom des dossiers sera utilisé par le menu pour générer les différents onglets du menu. Si l'ordre des onglets ne vous importe peu et si vous ne comptez pas distribuer le menu sous différentes langues, vous pouvez nommer les dossiers comme bon vous semble. Sinon il est nécessaire de les nommer suivant la sémantique pré-définie suivante pour générer l'interface que vous avez en tête :

XXXX. nom par défaut;[locale]traduction du nom par défaut

avec

XXXX : l'ordre de priorité du dossier en cas de multiples dossiers à un même niveau (ex : 0050),

locale : l'abbréviation de la locale pour laquelle vous souhaitez ajouter une traduction (ex : fr). Les différentes traductions sont séparées par un point-virgule.

Un exemple de nom de dossier pourrait être par exemple :

0020. Files;[fr]Fichiers;[de]Dataien

Tout le reste repose sur la gestion des fichiers .desktop (normalisés par freedesktop.org).

Vous pouvez cependant trier les applications dans un même dossier en plaçant un ordre de priorité devant le nom des fichiers :

XXXX. fichier.desktop

avec

XXXX : l'ordre de priorité de l'application en cas de multiples .desktop dans un même dossier (ex : 0050).

Dossier plugins

Rien de bien méchant ici, il suffit de copier dans ce dossier les fichiers python correspondant aux plugins désirés. L'ensemble des plugins développés sont situés dans le dossier /usr/share/3hg-menu/plugins et vous pouvez donc piocher à cet endroit.

Pour désactiver un plugin, vous pouvez soit supprimer le fichier dans le dossier plugins de votre configuration de profil, soit le rendre invisible en ajoutant un "." devant le nom de fichier.

Remarques diverses

Plugins disponibles

Note : Il est tout à fait possible d'utiliser plusieurs plugins simultanément.

Récents

Ce plugin va lister les 8 applications les plus récemment ouvertes dans un onglet approprié.

Nom du fichier de plugin : recents.py

Favoris

Ce plugin vous permet de placer vos applications favorites dans un onglet approprié via un clic droit sur un lanceur > Ajouter aux favoris.

Nom du fichier de plugin : favorites-gtk.py

Édition

Ce plugin vous permet d'éditer les fichiers .desktop présents dans le dossier apps via un clic droit sur un lanceur > Modifier.

Nom du fichier de plugin : edit-gtk.py