Un menu cascade du répertoire utilisateur entièrement codé en Python

Bonjour à toutes et à tous,

Dans un article en date du 5/09/2019 , je vous ai expliqué comment j’avais créé un menu cascade de mon répertoire utilisateur intégré au menu du gestionnaire de fenêtres Openbox. Pour être plus précis, il s’agissait en fait d’un pipe-menu. Eh bien, figurez-vous que je n’en suis pas du tout satisfait. Le système est instable. Parfois, le menu se déroule mais bien souvent, il refuse de s’ouvrir. C’est un échec, aussi bien pour moi que pour Openbox.

J’ai donc pris la décision de coder un menu cascade en Python et en utilisant l’environnement graphique Tkinter. C’est un exercice que j’ai trouvé particulièrement compliqué, ce qui explique mon silence de plusieurs semaines mais le résultat en vaut la gamelle car au bout du compte, je me retrouve avec un menu :

  • qui se déroule rapidement et de manière fluide,
  • qui donne accès non seulement aux répertoires mais également aux fichiers,
  • qui se referme de manière ordonnée.
  • L’apparition du contenu d’un répertoire se fait en survolant simplement le bouton correspondant,
  • L’ouverture d’un répertoire ou d’un fichier s’effectue en cliquant sur le bouton,
  • La destruction d’une fenêtre de type Toplevel se fait lorsque le pointeur de la souris quitte celle-ci et pénètre dans une des fenêtres précédemment créées.
  • C’est une simple icône de type *.desktop placée dans la barre des tâches qui ferme le menu.
  • Un clic droit sur n’importe quelle fenêtre (« Tk » ou « Toplevel ») détruit l’application.

cascade

Le prochain objectif sera de varier les icônes en les adaptant au type de fichers (texte, image, vidéo, audio, zip, etc…). Il faudra aussi que l’usager puisse choisir la couleur de fond, la couleur du texte et la police.

Le code fait 318 lignes. Il est rédigé en respectant les recommandations de la Python Software Foundation, c’est-à-dire que les lignes ne dépassent pas les 79 signes. Il se trouve ici dans mon nouveau dépôt Gitlab. Compte tenu du fait que Framagit va fermer, j’ai décidé de basculer sur Gitlab. Il n’ y a aucune différence. Dans mes codes, j’utilise désormais la langue anglaise.

La structure de cette application est simple et dépouillée :

  • Un fichier lanceur : cascade.py
  • Un dossier contenant deux pauvres icônes : images

C’est tout! N’hésitez pas à l’améliorer si le coeur vous en dit, car il subiste quelques bugs pas bien méchants. N’hésitez pas à me contacter également si vous avez du boulot pour moi. À vrai dire, j’ai déjà une activité professionnelle mais j’avoue que télétravailler dans l’informatique libre me tenterait bien.

Voici donc une petite vidéo qui vous montre à quoi ressemble cette application :

 

3 commentaires sur “Un menu cascade du répertoire utilisateur entièrement codé en Python

  1. Bonjour.

    Je dois avouer que je suis avec intérêt cette suite d’articles sur ton environnement de bureau en Python, étant dans l’AC (Apprentissage Continu) de ce langage.

    Très bonne continuation.

    1. Bonjour,
      Merci beaucoup pour ton commentaire. C’est un langage que je trouve très intéressant. N’hésite pas en tout cas à t’approprier mes codes et à les améliorer 😉 Tu es le bienvenu.

      1. Dès que je retrouve une tranche de temps, je fais.

        Il va falloir déjà que je pense à finir mes propres réalisations, certes fonctionnelle en v0.00001, mais en plus propre ^^

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.