[pas important] Comment rendre ses exécutables clicables sous Ubuntu ?

[pas important] Comment rendre ses exécutables clicables sous Ubuntu ?

by Jean-Cédric Chappelier -
Number of replies: 0

Comme certains l'ont remarqué, les exécutables que vous créez en compilant vos programmes et qui apparaissent p.ex. comme ceci dans le navigateur de fichiers :

[icône]

ne se lancent pas lorsque l'on double-clic dessus.
Pour avoir une icône clicable qui lance votre programme, il faut créer un « fichier de description » pour que l'environnement graphique (qui gère vos clics de souris) sache comment lancer votre programme (qui doit se lancer dans un terminal). Un tel fichier se nomme « .desktop ».

Par exemple, créez le fichier « arrays.desktop » avec le contenu suivant :

[Desktop Entry]
Type=Application
Terminal=true
Name=arrays
Icon=utilities-terminal
Exec=bash -c "$(dirname %k)/arrays;$SHELL"
Categories=Application;
Vous verrez alors un nouveau fichier apparaître (son nom correspond à la ligne « Name » ci-dessus) :
[nouvelle icône]
Si vous double-cliquez dessus, votre programme « arrays » (écrit dans la ligne « Exec » ci-dessus) se lancera dans un terminal.

Voilà, c'est tout simple !
Et on peut même faire mieux : maintenant que l'on sait écrire des Makefile, on peut ajouter une cible dans notre Makefile pour automatiquement créer ces fichiers « .desktop » à partir des fichiers « .cc » :
  1. commencez par créer un fichier « template.desktop » contenant ceci :
    [Desktop Entry]
    Type=Application
    Terminal=true
    Name=<TEMPLATE>
    Icon=utilities-terminal
    Exec=bash -c "$(dirname %k)/<TEMPLATE>;$SHELL"
    Categories=Application;
  2. puis ajoutez simplement ces trois lignes à votre Makefile :
    %.desktop: %.cc
    	sed "s/<TEMPLATE>/$$(basename $< .cc)/" template.desktop > $@
            chmod +x $@
Il suffit maintenant de taper p.ex.
make mon_programme.desktop
pour que le « .desktop » voulu soit créé !
Vivent les Makefiles !!