Archives de catégorie : Linux

Ébullition de neurones…

Ça avait commencé doucement. Je lis tous les jours les infos de mes sites préférées via Liferea, mon lecteur de flux RSS sous Linux. J’aime commencer par les nouvelles les plus récentes mais quand on mélange tous les sites je trouve qu’il manque une colonne qui rappelle sur quel site on est. J’ai donc décidé, aussi par challenge technique, de développer “mon” liferea.

Liferea

Je replonge dans dans le développement Java et en une semaine, avec l’aide de la doc et de l’expérience des développeurs sur stackoverflow j’arrive à bricoler un lecteur qui me convient mieux. Il lit les flux, y compris les chaînes youtube, il retient ce qui a été lu ou pas et il ouvre les liens dans un browser externe. Je ferai peut-être un article dessus plus tard, voici juste une capture d’écran de l’état actuel.

"mon" liferea

C’est bien beau mais je suis lucide : certaines partie de code ne sont pas propres, je sens que je ne maîtrise pas tout, il me manque des bases. Retour donc à potasser Java.

Je commence par la base : le Delannoy. La bible ! Complet mais aride.

Puis je change de tactique : suivre un cours sur OpenClassrooms (beaucoup plus abordable) en parallèle.

Mais arrivée aux premier design pattern, je me dis que ça vaut la peine de creuser un peu plus et je m’égare quelques jours…

Comme environnement de développement, j’utilise IntelliJ iDEA. Je profite de mon lecteur de flux pour m’abonner à leur chaîne youtube et je vois qu’il y a une vidéo sur l’intégration à Git et GitHub. Git je connais mais je ne me suis jamais inscrite sur GitHub. Me voilà inscrite et à suivre les petites formations de présentation…

En parallèle, comme ça fait quelques années que mon PC sous Debian n’avait plus été réinstallé proprement mais avait accumulé un tas de paquets pour le développement web, je décide de lui offrir un petit rafraîchissement en réinstallant Debian.

Debian 10 Buster s’installe sans aucun problème de driver et en quelques heures j’ai un PC tout beau tout propre. Oui mais… Gnome n’est quand même pas très ergonomique… Le simple fait que les programmes sont organisés dans la barre de tâches dans l’ordre de leur ouverture (et change donc tout le temps) est révélateur.

Je change donc pour Cinnamon (et je passe mes programmes en mode dark… mais non je préfère light, retour à light…).

Et tiens, tant qu’on y est, j’essaie le browser web Brave. Pas mal  du tout. Plus rapide que Firefox, il me semble. Seul défaut, je n’ai pas encore trouvé comment ouvrir un fichier dans un programme tiers directement. On ne peut faire qu’une sauvegarde locale.

Bref, en deux semaines j’ai réinstallé mon PC, changé d’environnement de bureau et de browser web et repris le développement d’applications. Ah, et j’oublie quelque-chose : je viens de commander un Raspberry PI pour en faire un media-center dans le salon. Plus qu’à trouver comment concilier tout ça avec un peu de lecture et l’entretien du potager.

 

Menu Applications dans Gnome Classic

Si vous utilisez la version classique de Gnome sous Linux, le menu “Applications” est votre ami. Ce menu, qui présente les applications installées, regroupées par type, se génère automatiquement. Vous pouvez néanmoins le personnaliser. Nous allons voir ici comment faire manuellement, sans passer par des outils tels que alacarte ou menulibre.

J’aime travailler par”workspace”. Dans le premier workspace j’ai mes applications quotidiennes (mail, internet, gedit avec mes notes, calibre,…) que je ferme le soir. Dans le 2e workspace j’ai mes applications de développement (JEdit, Meld, internet pour l’aide) que je ferme quand j’ai fini de travailler. Voyons comment faire pour pouvoir lancer ces groupes d’applications en un click, comme sur la photo.

Capture d'écran du menu Applications

Capture d’écran du menu Applications

Les fichiers bash

Tout d’abord, il va falloir créer 2 fichiers bash qui vont lancer les applications pour le workspace de base et le workspace et le workspace de développement. Je crée ces fichiers dans Home/Documents/Linux. Voici ce que contient le premier fichier :

#!/bin/sh
#lancement des programmes du workspace de base
thunderbird </dev/null &>/dev/null &
firefox-esr </dev/null &>/dev/null &
gedit </dev/null &>/dev/null &
calibre </dev/null &>/dev/null &

Je le nomme wksp_basic.sh et je lui donne les droits d’exécution.

Je vous passe les détails du 2e fichier…

Pour tester, on clique dessus. Ca fonctionne. Parfait.

Les applications

Chaque application correspond à un fichier *.desktop situé dans /home/.local/share/applications/ pour ce qui est spécifique à l’utilisateur courant et /usr/share/applications/ pour les applications communes à tous les utilisateurs.

Ces fichiers de configuration sont au format texte. Chaque fichier précise a quelle(s) catégorie(s) appartient l’application par une entrée Categories.

Les fichiers desktop des applications sont automatiquement installés avec leur paquet mais vous pourriez avoir envie d’ajouter une application pour lancer un fichier batch ou toute autre outils que vous avez créé.

Vous l’aurez compris, c’est très simple : il s’agit juste d’ajouter un nouveau fichier *.desktop dans le répertoire local ou partagé (si on a les droits root), par exemple en s’inspirant d’une autre application, modifier son nom (“Name”) et la manière de la lancer (“Exec”).

Je crée donc un fichier desktop pour wksp_basic.sh, que je nomme Basics.desktop et dont voici le contenu :

[Desktop Entry]
Version=1.1
Type=Application
Name=Basics
Comment=A small descriptive blurb about this application.
Icon=applications-other
Exec=/home/audrey/Documents/Linux/wksp_basic.sh
Actions=
Categories=Workspaces;

Comme il n’y a pas encore de répertoire “Workspaces”, on ne le verra pas tout de suite mais on continue…

Les répertoires

Les catégories du menu correspondent aux catégories des applications. Chaque répertoire correspond à un fichier *.directory situé dans /home/.local/share/desktop-directories/ pour ce qui est spécifique à l’utilisateur courant et /usr/share/desktop-directories/ pour ce qui est commun à tous les utilisateurs.

Ces fichiers de configuration sont aussi au format texte.

Je crée un nouveau fichier Workspace.directory qui contient ces lignes :

[Desktop Entry]
Version=1.1
Type=Directory
Name=Workspaces
Comment=Mes workspaces
Icon=folder

Menu personnel

Pour que tout celà apparaisse dans le menu, il faut aller éditer le fichier /home/.config/menus/gnome-applications.menu

Pour chaque catégorie, vous avez une entrée <Menu> qui contient les applications dans l’ordre qui sera affiché

On va donc en ajouter une pour la partie Workspaces :

<Menu>
<Name>Workspaces</Name>
<Directory>Workspaces.directory</Directory>
<DirectoryDir>/home/audrey/.local/share/desktop-directories</DirectoryDir>
<Include>

<Filename>basics.desktop</Filename>
<Filename>development.desktop</Filename>
</Include>
<Layout>
<Merge type="menus"/>
<Merge type="files"/>
</Layout>
</Menu>

Voilà, on a maintenant un nouveau menu “Workspaces” qui lance les bash des applications.

Si on veut que “Workspaces” soit inséré ailleurs dans le menu, c’est en fin de fichier que ça se passe. On ajoute une ligne telle que

	<Menuname>Workspaces</Menuname>

dans la partie <layout> et voilà.

C’est propre, c’est simple, c’est efficace.