Conversion d'un menu icewm en menu pekwm

Post Reply
Message
Author
musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

Conversion d'un menu icewm en menu pekwm

#1 Post by musher0 »

Bonsoir, m'sieurs-dames !

C'est tout simple, une fois qu'on sait comment faire ! :P Il suffisait d'y penser ! :D

La conversion se fait très rapidement, vu que les menus d'icewm et de pekwm sont grosso modo au format texte.

J'ai beaucoup commenté mon script. S.v.p lisez-en les commentaires Il est inutile que je me répète dans le corps du message.

Note: 2e mouture, améliorée, 14 oct. 2012.

Code: Select all

#!/bin/sh
# Emplacement et nom du script :
# ~/my-applications/bin/ice2pek.sh
#
# Dépendance : replaceit 
# But : composer un menu pekwm à partir d'un menu icewm 
#   déjà personalisé, pour s'éviter de recommencer de zéro.
# Suggestion :  Si vous n'avez pas personnalisé votre menu icewm, le
#   mettre à jour en tapant "fixmenus" avant de lancer le présent script. 
# musher0, 13 oct. 2012
####

## variable initiale
R="replaceit --input=GrandBout.txt"

# cd ~/.icewm # OU
cd ~/.lxp-icewm # selon la variante d'icewm que vous avez.

## Pour ne pas altérer le menu d'icewm ou de lxp-icewm. 
cp -f toolbar.moi GrandBout.txt # OU
# cp -f toolbar GrandBout.txt # OU
# cp -f menu GrandBout.txt 
## À vous de choisir quel menu doit être converti.

## Effacer les lignes "wine" trop complexes et les lignes de remarques.
$R --wholeline WINEPREFIX " "
$R --wholeline "#" " "

# Traitement de tout le reste
$R "\" " "\" \""
$R .xpm .xpm\"
$R .png .png\"
$R .jpg .jpg\"
$R .jpeg .jpg\"
# $R .ico .ico\" # Petit "en-cas".
$R " \{" "\" \{" 
$R "app " "app\" " # Pour ne pas toucher à "my-applications"
# $R folder folder\" # Non. Changer la "syntaxe" de cet icône associé aux
# sous-menus de icewm fausse l'interprétation des lignes marquées "menu".
$R "\" " "\";"
$R " \"" ";\""
$R ";;" ;
$R "\" " "\";"
cut -d\; -f1,2,4 GrandBout.txt > GrandBout.nvo

## La sous-routine qui suit prévient le problème de l'ajout de 
## caractères en fin de ligne dans le menu pekwm.

echo > GrandBout.mod # crée un autre fichier de travail
while read line ; do
	echo "$line -fin" >> GrandBout.mod
done < GrandBout.nvo

## 2e variable
unset R
R="replaceit --input=GrandBout.mod"
$R "prog;" "Entry = "
$R "\";" "\" { Actions = \"Exec "
$R "-fin" "&\" }"

# On a marqué plus haut la fin de ligne EOL, mais il faut
# remettre la valeur originale des lignes "menu",
$R "\" &\" }" "\" {"
$R "{ Actions = \"Exec { &\" }" {

# et des "accolades fermantes" de fin de sous-menu.
$R "} &\" }" }
$R " &\" }" " " "-Entry"

# Puis reconvertir les lignes "menu"...
$R "menu;" "Submenu = "

# ... et les lignes de séparation au format du menu pekwm.
$R separator "Separator {}"
$R "separator &\" }" "Separator {}" # au cas où
$R "separator}" "Separator {}" # (bis) :-)

echo >> GrandBout.mod # Ligne vide pour clore.

### cat GrandBout.mod >> ~/.pekwm/menu
# Une fois la conversion terminée, rabouter ce "GrandBout.mod" 
# au menu pekwm existant. Si vous voulez l'avoir à cet 
# endroit, enlever les dièzes à la ligne 78.

# Cela dit, une conversion de menu automatisée est rarement parfaite. Je 
# vous suggère plutôt de faire la concaténation dans un 2e temps, à la 
# main, avec votre éditeur, et de corriger à mesure que vous mettez le
# menu résultant à l'essai dans pekwm.

rm GrandBout.nvo # On nettoie les fichiers de travail.
### rm GrandBout.mod # Attention ! Effacez seulement si 
### vous l'avez concaténé au menu pekwm ! 

# cp -f GrandBout.cdr GrandBout.txt 
# Réactive copie de réserve. Pour édition du script.
La "dépendance" replaceit est jointe.

Dans notre forum, à propos de pekwm :
http://murga-linux.com/puppy/viewtopic. ... 85&t=14919
http://murga-linux.com/puppy/viewtopic. ... 00&t=81062
http://murga-linux.com/puppy/viewtopic. ... 00&t=80137

À propos de lxp-icewm :
http://murga-linux.com/puppy/viewtopic. ... 00&t=77595

Sites externes :
https://www.pekwm.org/projects/pekwm
http://www.icewm.org/
http://lxp.sourceforge.net/

Meilleures salutations.
Attachments
replaceit.tar.gz
(3.62 KiB) Downloaded 659 times
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

Pelo

Je suis perdu

#2 Post by Pelo »

Bonjour Musher0. Désolé pour t'avoir Appelé Médor (qui ne mords pas toujours)
Bon, la fusée n'a pas décollé.
Serveur X xwin pekwm : rien de rien.
targz jwm vers pekwm script mis dans my applications
En console j'ai tapé pfixmenus. ça a bidouillé quelquechose.
J'ai restarté x en mettant xwin pekwm, je retourne sur JWM apparamment.
Ne bouges pas pour l'instant, je vais relire tes instructions. Là j'arrête.
Bonne journée.

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#3 Post by musher0 »

Bonsoir, pelo !

Attention, c'est un script qui convertit de icewm à pekwm, pas de jwm à pekwm. Ensuite, si t'as un menu icewm normal, c.-à-d. non modifié, c'est pas la peine d'utiliser le script ci-dessus, ça ne t'apportera rien. T'es mieux d'utiliser le "générateur" ordinaire du menu pekwm décrit sur le fil pekwm.

A+
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

Post Reply