Créer un menu d'application Linux personnalisé grâce à Zenity
Linux

Créer un menu d’application Linux personnalisé grâce à Zenity

Par Hugues , le 22 octobre 2024 - 4 minutes de lecture

Avec l’outil Zenity, il est possible de créer un menu d’application Linux personnalisé facilement en utilisant des scripts Bash. Zenity permet d’afficher des boîtes de dialogue GTK+ à partir de la ligne de commande, facilitant ainsi l’interaction avec les utilisateurs au sein de l’environnement graphique. Cet article présente les étapes nécessaires pour concevoir un lanceur d’application simple, offrant une interface intuitive qui déclenche des commandes spécifiques selon les choix de l’utilisateur.

Il est possible de créer un menu d’application personnalisé sous Linux à l’aide de Zenity. Cet outil vous permet de générer des boîtes de dialogue graphiques directement à partir d’un script, offrant ainsi une interface utilisateur simple pour exécuter diverses applications. Dans cet article, nous explorerons les étapes nécessaires pour concevoir un tel menu, en utilisant des scripts Bash et Zenity.

Installation de Zenity

Avant de commencer à créer notre menu d’application, assurez-vous que Zenity est installé sur votre système. Ouvrez un terminal et exécutez la commande suivante :


sudo apt update && sudo apt install zenity

Cette commande met à jour la liste des paquets disponibles et installe Zenity, vous permettant d’accéder à ses fonctionnalités.

Création du script Bash

Création du script Bash

Nous allons maintenant créer un script Bash qui servira de lanceur pour notre menu d’application. Ouvrez votre éditeur de texte préféré. Pour cet exemple, utilisons Geany ou même l’éditeur de texte par défaut de votre distribution. Commencez par écrire la première ligne du script qui indique quel interpréteur utiliser :


#!/bin/bash

Cette ligne est essentielle, car elle informe le système que le script doit être exécuté avec Bash.

Configuration du menu avec Zenity

Dans le script, nous allons créer une boucle qui affichera constamment le menu tant que l’utilisateur ne le ferme pas. Ajoutez le code suivant à votre script :


while true; do

Ensuite, créez une liste d’applications qui apparaîtra dans le menu. Vous pouvez personnaliser les applications selon vos besoins. Voici un exemple :


    CHOICE=$(zenity --list --title="App menu" 
        --column="Apps" 
        "Firefox" 
        "Terminal" 
        "GIMP" 
        "VLC" 
        "LibreOffice" 
        --height=400 --width=300)

Ce code crée une liste avec le titre “App menu” contenant plusieurs applications. Le champ ‘Apps’ définit le nom de la colonne dans le menu.

Gestion des choix de l’utilisateur

Gestion des choix de l'utilisateur

Après avoir créé le menu, nous devons gérer les choix de l’utilisateur. Ajoutez une condition pour vérifier si l’utilisateur a fermé la fenêtre du dialogue :


if [ $? -ne 0 ]; then
        break
fi

Cette vérification vous permet de sortir de la boucle si l’utilisateur annule la sélection.

Exécution des commandes associées

A présent, vous devrez créer une structure de contrôle pour exécuter des commandes basées sur le choix de l’utilisateur. Utilisez une instruction case pour cela :


case $CHOICE in
        "Firefox")
            firefox &
            ;;
        "Terminal")
            gnome-terminal &
            ;;
        "GIMP")
            gimp &
            ;;
        "VLC")
           vlc &
            ;;
        "LibreOffice")
            libreoffice &
            ;;
        *)
            zenity --error --text="Option invalide, veuillez réessayer."
            ;;
esac

Ce bloc de code lance l’application sélectionnée. Si l’utilisateur choisit une option qui n’est pas dans la liste, un message d’erreur s’affiche.

Finalisation et exécution du script

Finalisation et exécution du script

Une fois que votre script est prêt, n’oubliez pas de le sauvegarder sous un nom approprié, par exemple menu.sh. Ensuite, ouvrez un terminal et donnez-lui les permissions d’exécution :


chmod +x menu.sh

Vous pouvez alors exécuter le script avec la commande suivante :


./menu.sh

Le menu d’application apparaîtra, vous permettant de sélectionner et d’exécuter les applications selon vos choix.

Lancement automatique au démarrage

Pour ne pas avoir à lancer le menu manuellement, vous pouvez le configurer pour qu’il s’exécute au démarrage de votre environnement de bureau. Accédez à “Applications de démarrage” dans les paramètres. Ajoutez une nouvelle entrée en spécifiant le nom et le chemin vers votre script menu.sh. Ainsi, à chaque connexion, votre menu sera prêt à l’emploi.

Avantages et Inconvénients de Zenity pour Créer un Menu d’Application

Avantages et Inconvénients de Zenity pour Créer un Menu d'Application
Avantages Inconvénients
Simple à utiliser Limité en termes de styles visuels
Intégration facile avec Bash Dépendance à l’environnement GTK
Personnalisation rapide via scripts Pas très adapté pour des interfaces complexes
Support multi-plateforme Peut rencontrer des bugs selon la distribution
Accès à des Boîtes de dialogue Fonctionnalités parfois trop basiques

Menu d’application personnalisé avec Zenity


sudo apt install zenity


#!/bin/bash


chmod +x menu.sh


./menu.sh

dans le terminal

Partager cet article :
Avatar photo

Hugues

Hugues, a 39 ans et il est développeur web indépendant. Passionné de football, de running et de domotique il aime créer des petites applications pour mieux gérer son quotidien.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.