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.