Labortablo, une interface de bureau codée en Python sur une base Archlinux/Openbox (1ère partie)

Dans cet article, je vais vous présenter un projet personnel qui certes, m’a pris un peu de temps, mais que j’ai réussi à mener jusqu’à son terme, après plusieurs échecs. Il est construit sur une base Archlinux et Openbox. Pour le coder, j’ai utilisé un bien bel outil qui fera sans doute l’objet d’un prochain article. Il s’agit de pycharm, en version Community gratuite et open source. C’est un vrai plaisir de coder avec cet environnement de développement intégré, dont le thème Material se marie à merveille avec le design de mon projet.

Alors de quoi s’agit-il au juste? Il s’agit d’une interface de bureau entièrement codé en Python, à l’exception d’un petit script en bash. Je l’ai baptisé Labortablo ce qui, en espéranto, signifie tout simplement bureau. Il est composé d’un menu de douze catégories (Accessoires, Internet, Bureautique etc…), lesquelles se décomposent en autant de menus d’applications (par exemple, Chromium, Brave, Falkon pour le menu Internet). Cette interface de bureau est juste un projet expérimental mais j’ai pris soin de le coder aussi proprement que me le permettent mes capacités. Vous trouverez le code ici.

Le fond d’écran est celui d’Openbox mais il est habillé d’une image grâce à cette commande, placée dans le fichier ~/.config/openbox/autostart.

hsetroot -center "/chemin/vers/image.png" &
Fond d’écran Openbox personnalisé avec hsetroot

L’avantage de ce fond d’écran est qu’il est déjà configuré pour pouvoir déclencher par un clic gauche, un petit menu de secours qui n’est autre que le menu d’Openbox. Il est en espéranto et je l’ai réduit au strict minimum car je le conçois juste comme un canot de sauvetage en cas de naufrage de l’application. Je n’en parlerai donc pas davantage.

Canot de sauvetage

Au centre de ce fond d’écran, on trouve une sorte d’image style polaroid avec une légende. Il s’agit en fait d’un boutton Tkinter qui, lorsqu’on clique dessus, laisse la place au menu principal, constitué de douze catégories. Voici tout d’abord le bouton, illustré d’une image représentant le pont de Rakotz, en Allemagne. Il ressemble un peu à la porte des étoiles.

Le Rakotzbrücke

Et voici le menu principal constitué de douze boutons tkinter. Il sera possible à très court terme, de rajouter ou de supprimer une catégorie. C’est en cours de programmation. L’effet ombré est obtenu grâce au compositeur xcompmgr qu’il faut installer au préalable. La commande xcompmgr -c -f & doit être placée dans le fichier ~/.config/openbox/autostart.

xcompmgr -c -f &

Ce menu s’ouvre et se ferme également en cliquant sur le bouton situé tout en bas de l’écran à gauche. L’icône représente un ordinateur de bureau.

Cliquons sur le bouton le plus à gauche de la rangée du milieu. Il correspond à Bureautique en français. Toutes les catégories disparaissent et laissent la place aux applications de la catégorie sélectionnée.

Ouvrons maintenant LibreOffice. Le sous-menu des applications disparait et laisse la place à l’image du Pont de Rakotz. Veuillez noter que grâce au module multiprocessing, cette interface de bureau est multi-écrans. Comme, vous pouvez le voir sur la capture d’écran ci-dessous, Labortablo fonctionne au moins avec deux moniteurs.

C’est tout pour aujourd’hui. Demain ou après-demain, je vous montrerai comment j’ai procédé pour coder la barre des tâches. C’est sans aucun doute, la partie qui m’a donné le plus de fil à retordre. Je vous présenterai également mes idées d’amélioration:

  • Sélection de l’image qui illustre le fond d’écran,
  • Ajouter/supprimer une catégorie/application (En cours de finalisation),
  • Changer les couleurs du thème,
  • etc.

Petite vidéo de présentation en mode muet, compte tenu de mon phrasé hésitant et écorché.

Labortablo

Un commentaire sur « Labortablo, une interface de bureau codée en Python sur une base Archlinux/Openbox (1ère partie) »

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s