Je vous transmets le résultat de mon travail sur une adaptation du menu de icewm pour aemenu.
Aemenu est intéressant parce qu'il peut procurer un menu complet genre icewm ou jwm aux gestionnaires de fenêtres légers.
J'ai donc commis... ce qui suit. Car le script "spm" ("simple puppy menu") d'aragon ne fonctionne plus avec des puppies plus récents, sous puppy lucid, par exemple. Et je ne sais pourquoi. Est-ce que la version de perl a changé ? Toujours est-il que spm plante lorsqu'il est lancé dans un puppy récent.
Deuxième raison : le menu d'icewm ressemble à une base de données csv, mais à ce titre, elle est mal conformée. Il faut donc en faire une base de données csv correcte pour pouvoir s'en servir dans aemenu.
Troisième raison : il y a bien le script en python "menu maker". Ça va pour la conformité, mais pour le classement, on repassera. mmaker me semble travailler à la devinette. Il possède un petit nombre de "préfabriqués" qu'il classe correctement, mais il flanque tous les autres programmes dans "Other", une espèce de fourre-tout qui fait fi des classements .desktop qui sont déjà là. Comme je disais tantôt : passons, aussi bien recommencer à zéro.
Donc, nous revenons à la case départ. Comme outils...
* il faut replaceit. (Il était dans la Puppy 4.1. À défaut, on le trouvera ici : http://packages.debian.org/fr/wheezy/i3 ... t/download)
* et aemenu (extraire du paquet aewm à http://packages.debian.org/fr/squeeze/i ... m/download). Ce logiciel compagnon du gestionnaire de fenêtres aewm peut cependant servir sans aemw, dans d'autres gestionnaires de fenêtres. D'où son intérêt. Seul défaut : l'absence d'icones. Défaut du défaut : l'absence d'icones favorise la concentration.
* tous les autres utilitaires utilisés dans ce script sont déjà dans puppy.
Dans le script ci-dessous, vous pouvez "commenter" avec un dièse ("#")les lignes de la partie traduction, si vous avez Toutou, donc un Puppy déjà en français. Ou encore si vous n'êtes pas d'accord avec mes choix... mais bien sûr : allez-y d'une traduction de votre crû !
(J'espère que vous comprenez aussi que mes choix de traduction ne sont pas une critique de la traduction qui existe déjà. Voilà pour les gants blancs.)
Code: Select all
#!/bin/bash
# /root/.icewm/cree-puppymenu.sh
# Mis à disposition comme gratuiciel, mais demeure :
# (c) Tous droits réservés, Christian L'Écuyer, janvier 2012
######
# Lancer avec "./cree-puppymenu.sh" après
# être entré dans le répertoire ./root/.icewm
#
# Ce script nécessite l'utilitaire 'translateit'.
#
# Mise en garde : exécuter 'fixmenus' d'abord.
# Sinon, le nouveau menu sera identique au précédent !!?? (Vous êtes drôle !)
# Prend du temps...
####
# Infliger les changements à une copie.
cp -f menu aemenu.csv
export RMPLC="./replaceit --input=aemenu.csv"
# On ne va pas répéter ça à chaque fois !
#
# Traduire les rubriques
$RMPLC "Desktop Settings" "Réglages du bureau"
$RMPLC "Country Settings" "Réglages nationaux"
$RMPLC Desktop Bureau
$RMPLC "System Status and Config" "État et configuration du système"
$RMPLC "Setup Puppy" "Réglages de Toutou"
$RMPLC System Système
$RMPLC Utility Utilitaires
$RMPLC "General Utilities" "...généraux"
$RMPLC "Filesystem" "Disques et Fichiers"
$RMPLC "File Managers" "Gestonnaires"
$RMPLC "Graphics Processing" "Traitement d'images"
$RMPLC Graphic Infographie
$RMPLC "Document/Publishing" "Traitement"
$RMPLC "Document Utilities" "Utilitaires"
$RMPLC Business Affaires
$RMPLC Calculate Calculs
$RMPLC "Personal Information" "Infos personnelles"
$RMPLC Personal Personnel
$RMPLC Network Réseau
$RMPLC "MediaTools" "Vidéo et Musique"
$RMPLC Multimedia AV
$RMPLC Fun Jeux
$RMPLC Setup Paramétrages
$RMPLC "menu \"Document\"" "menu \"Documents\""
$RMPLC Help Aide
# Effectuer des remplacements structurels dans le menu
# icewm pour en faire une véritable base de données csv.
$RMPLC " " " "
$RMPLC OpenOffice "\"OpenOffice\""
$RMPLC /opt/openoffice/gnome-mime-application-vnd.sun.xml.global.png "\"/opt/openoffice/gnome-mime-application-vnd.sun.xml.global.png\""
$RMPLC help24 "\"help24.xpm\""
$RMPLC prog cmd
$RMPLC } end
$RMPLC { ""
$RMPLC separator "cmd \"~~~~~~~\"\"\""
$RMPLC "\" " "\",\""
# ok
$RMPLC " \"" ",\""
# ok
$RMPLC "\" \"" "\",\""
$RMPLC .0 ".0.png " # pour les icones référés par wine
$RMPLC .xpm ".xpm\","
$RMPLC .png ".png\","
$RMPLC ",\"\"" ",\""
$RMPLC ",\" " ","
grep -v '^$' aemenu.csv > aemenu2.csv
sleep 0.3s
tail -n +6 aemenu2.csv > aemenu.csv
sleep 0.3s
head -n -15 aemenu.csv > aemenu2.csv
sleep 0.3s
#
cut -d, -f1,2,4 aemenu2.csv > aemenu.csv
# Cette opération enlève la colonne des icones.
# Le coeur du script ! On a fait tout ce qui précède
# pour pouvoir faire ça !
#
# Note sur le débogage avec un logiciel externe. Au besoin...
# Lancer less pour vérifier et CSVed pour enlever le champ des icones
# et transformer ce fichier en véritable base de données csv.
# Utiliser
# urxvt -rv -g 120x28 -e less-444 /root/.icewm/aemenu.csv
# ou
# /root/my-applications/bin/CSVed.sh /root/.icewm/aemenu2.csv
#
# Quelques retouches
$RMPLC "\"cmd\"," "cmd "
$RMPLC "\"menu\"," "menu "
$RMPLC "\"end\"," "end "
$RMPLC , " "
$RMPLC "\"," "\" "
# Enlever les doublons
uniq -f1 -u aemenu.csv > aemenu2.csv
sleep 0.3s
# Ajouter un début permanent et une fin temporaire
more mdl-mn-ae-pp.txt >menu-ae-puppy.csv
more aemenu2.csv >> menu-ae-puppy.csv
more fin-mn-ae-pp-tmp.txt >> menu-ae-puppy.csv
# Faire des copies de réserve
cp aemenu2.csv aemenu2.csv.bak
cp menu-ae-puppy.csv menu-ae-puppy.csv.bak
# Vérifier avec aemenu ("The proof is in the pudding!"),
# avec possibilité d'apporter des retouches
aemenu -rc /root/.icewm/menu-ae-puppy.csv
sleep 30s
# On a trente secondes pour ce faire. Allonger au besoin.
# Les retouches ayant été apportées, changer la fin pour
# que le nouveau menu soit éditable dans le vrai $AEM.
head -n -2 /root/.icewm/menu-ae-puppy.csv > /root/.icewm/menu-ae-puppy2.csv
more fin-mn-ae-pp.txt >> menu-ae-puppy2.csv
# Copier dans $AEM en faisant une copie de réserve du
# dernier menu valide dans ce répertoire.
export AEM=
export AEM=/root/my-applications/ae
cp -f $AEM/menu-ae-puppy.csv $AEM/menu-ae-puppy.csv.bak
cp -f /root/.icewm/menu-ae-puppy2.csv $AEM/menu-ae-puppy.csv
# enlever les fichiers temporaires
# rm aemenu* # Au choix...
# Dernière vérification
cd $AEM
Menu_Puppy.sh
# Vous devriez voir apparaître sur votre écran un joli menu tout neuf ! :)
http://murga-linux.com/puppy/viewtopic. ... h&id=51007, sous oroborus.
Comme vous voyez, un fois le programme "traduit" du format icewm au format aemenu, c'est un jeu d'enfant de l'adapter encore selon ses besoins. Si on veut séparer les archiveurs des gestionnaires de fichiers ordinaires, on peut le faire, par exemple. Et ainsi de suite. On obtient ainsi un menu qui correspond à sa propre logique, à son propre mode de fonctionnement à l'ordinateur. Ce que ne peuvent pas vous donner les menus fournis par Puppy par défaut pour icewm ou jwm.
Donnez-m'en des nouvelles ? Ou si vous avez des questions, bien sûr.
Cordialement,