aemenu à la rescousse de votre logique

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

aemenu à la rescousse de votre logique

#1 Post by musher0 »

Bonjour et Bonne Année !

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 ! :)
On peut voir le résultat ici :
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,
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
vezuve
Posts: 1291
Joined: Thu 24 Jan 2008, 15:09

#2 Post by vezuve »

Hello,
Jolis travail, cela change effectivement du menu habituel.
A tu prévus de l'internationaliser :?:

@+
Recherche
[url=http://wellminded.com/puppy/pupsearch.html]sur PUPPY[/url] anglai + souven
[url=http://puppylinux.org/wikka/PageIndex]PUPPY wikka tou sur tou[/url] anglai

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

#3 Post by musher0 »

Salut vezuve.

Euh... J'y avais pas pensé. Je l'ai fait pour régler un problème que j'avais moi. Puis j'ai pensé que les toutous d'ici pourraient être intéressés.

Internationaliser... C'est gros, ça ! Par où on commence ?

Euh, ça veut-i dire que tu trouves ça bon ? (rougissant!)

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

Pelo

franciser et internationaliser

#4 Post by Pelo »

franciser et internationaliser, il faut voir grand dès le début. Au cas où !
çà plante bien, refais ta copie, Musher0.
Une étude de marché avant tout projet évite bien des déboires. Pas de clients, projet abandonné. Ou alors juste pour la consommation personnelle, à la limite pour les amis de passage.
Bon, alors, on en est où ? (j'étais de passage, justement)
Eh, vézuve il fait plein de fôtes ! :? :?
J'ai chargé replaceit, aeWM, on va voir. Le script est obligatoire ? je l'ai rendu exécutable, mais rien.
Médor est déjà là, je suis en train d'installer les trucs, j'ai pas fini, et il aboie déjà !
Attachments
dependances.png
AEWM à taper en console.
(34.72 KiB) Downloaded 122 times
Last edited by Pelo on Thu 16 Oct 2014, 02:49, edited 3 times in total.

Médor

#5 Post by Médor »

Est-ce donc utile de ressortir ce fil :?:

Utilises-tu aemenu :?:

De plus tu n'y ajoutes rien de nouveau...


Cordialement,
Médor.

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

#6 Post by musher0 »

Médor wrote:Est-ce donc utile de ressortir ce fil :?:

Utilises-tu aemenu :?:

De plus tu n'y ajoutes rien de nouveau...


Cordialement,
Médor.
Salut, Médor.

Utile de ressortir ce fil... Ben, ça dépend.

aemenu est très utile comme menu secondaire, pour tous les trucs que les petits GF
ne font pas ou auxquels ils (spécifiquement jwm) ne veulent pas s'intéresser !

Si on connaît à fond openbox ou pekwm, évidemment, on peut leur faire faire des
acrobaties (scripts divers), à ceux-là, pas besoin d'aemenu. Encore que, pour M. Mme
Lambda, aemenu reste le plus simple à comprendre et à faire fonctionner en vue
d'un objectif précis.

Assez bavassé. Le silence est d'or !

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

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

#7 Post by musher0 »

Hum...

À regarder le code que j'avais affiché il y 2 ans, j'ai fait mieux depuis...

Qui se greffe sur le menu de pekwm. C'est pas internationalisé, c'est seulement bilingue
intégré (çèfran-gléan). (Blâmez "Grand Corps malade" pour mon mauvais verlan ! :lol: )

Je vous reviens SI je peux me dépoussiérer les neurones suffisamment -- et suffisamment
vite ! :twisted: Donc, pas de promesses !

Tourlou.

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

Pelo

Musher0, à la barre, on essaie aemenu si on veut

#8 Post by Pelo »

Tester abiword 3.0.0, c'est recommandé, tester aemenu, il faut pas. Où va-t-on ! Je me mets sur une distro simple, j'étais sur un bureau fluxbox.
Je n'ai testé aucun de tes bureaux, parce qu'à l'image, je n'étais pas convaincu. Mais là j'ai un moment, les touristes sont parties, il fait moche, je vais linuxer, si Medor me permet.
Last edited by Pelo on Tue 23 Sep 2014, 11:16, edited 1 time in total.

Médor

#9 Post by Médor »

Pelo wrote:tester aemenu, il faut pas. Où va-t-on ! Je me mets sur une distro simple, j'étais sur un bureau fluxbox.
Je n'ai testé aucun de tes bureaux, parce qu'à l'image, je n'étais pas convaincu.
J'utilise Fluxbox avec le menu classique, standard BK, extrapolé de celui de JWM en attendant de créer un menu dynamique comme celui d'openbox-menu disponible sur Wolx et Rolx.

Personnellement le menu dynamique de lxpanel me suffit, les menus volants ne me plaisent pas trop surtout quant il faut trouver un espace libre pour le clic droit sur le bureau pour pouvoir l'ouvrir avec de nombreuses fenêtres ouvertes...


Cordialement,
Médor.
Attachments
Capture_2014-09-19.jpg
(97.25 KiB) Downloaded 238 times

Pelo

çà nous fait une belle jambe ce que medor utilise

#10 Post by Pelo »

çà nous fait une belle jambe ce que medor utilise, le but est d'utiliser aemenu, au moins de l'essayer.

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

#11 Post by musher0 »

Salut, Médor.
Médor wrote:(...) les menus volants ne me plaisent pas trop surtout quant il faut trouver un espace libre pour le clic droit sur le bureau pour pouvoir l'ouvrir avec de nombreuses fenêtres ouvertes...

Cordialement,
Médor.
Pour ma part, j'ai le réflexe inverse, je n'ai que faire des menus "velcro",
c.-à-d.rattachés à une barre, même sous CouineDose. Il y avait plein de
"shells" de remplacement sous XP. Dans l'temps, j'utilisais liteshell,
encore disponible ici :
http://www.softpedia.com/dyn-postdownlo ... /19120/4/2

Pour mémoire (retour à Linux), pekwm résoud ce problème de l'espace à
trouver pour cliquer : avec pekwm, on a toujours le menu volant à
disposition, car on peut y accéder par un clic droit sur n'importe quel bord
de l'écran -- en plus du fonctionnement habituel.

Par ex., même si on a PaleMoon ou OO en mode plein écran, sous pekwm
il suffit d'amener le curseur à un bord, faire un clic droit, et le menu
apparaît. Je trouve cela bien commode.

A+

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

Médor

#12 Post by Médor »

Bonsoir musher0,

Je reste sur ma position ;)

Avec Openbox il est possible d'établir des marges sur les cotés de l'écran, cela permet même avec 1 pixel d'accéder au menu par clic droit.

Le problème jusqu'à présent sur pekwm c'est qu'il gère très mal la transparence contrairement à jwm, openbox et fluxbox.


Cordialement,
Médor.

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

#13 Post by musher0 »

Bonsoir, Médor.
Médor wrote:Bonsoir musher0,

Je reste sur ma position ;)
Médor restant sur sa position : ;)
Image
Médor wrote: Avec Openbox il est possible d'établir des marges sur les cotés de l'écran, cela permet même avec 1 pixel d'accéder au menu par clic droit.
C'est vrai, mais c'est un peu plus de boulot. Dans pekwm, c'est fait d'avance.
Médor wrote: Le problème jusqu'à présent sur pekwm c'est qu'il gère très mal la transparence contrairement à jwm, openbox et fluxbox.
Ma foi, on s'en passe; la transparence, c'est du luxe. Côté technique, il faudrait aller
voir dans le code ce qui contrecarre (ou fait conflit, ou quoi).
Médor wrote: Cordialement,
Médor.
Idem. :)

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

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

#14 Post by musher0 »

pelo a dit :
> "...tester aemenu, i faut pas..."

Au contraire. Pour un débutant qui s'intéresse aux menus, la syntaxe d'aemenu est la
plus simple. Idéal pour tester et apprendre. On se fait un petit menu à 2-3 éléments
qui appellent des programmes anodins. Quand on a réussi, on va vers du plus gros et
du plus important.

Par ex., un sous-menu dynamique pour la catégorie "Internet".

Code: Select all

#!/bin/sh
# ~/my-applications/ae/MenuInternet.sh
####
cd /usr/share/applications
> /tmp/NOM;> /tmp/EXEC
# Variables et données
Categ="browser"
AEM="/root/my-applications/ae"
DSKTP="/usr/share/applications"
cd $DSKTP
awk -F"=" '$1=="Name" { print $2 }' `grep -m 1 $Categ $DSKTP/*.desktop | grep -v camera | grep -v default | cut -d: -f1` | tr '\n' ';' > /tmp/NOM
awk -F"=" '$1=="Exec" { print $2 }' `grep -m 1 $Categ $DSKTP/*.desktop | grep -v camera | grep -v default | cut -d: -f1` | tr '\n' ';' > /tmp/EXEC
c="`awk -F";" '{ print NF-1 }' /tmp/NOM`"

# Construction du aemenu
echo "-wide config file for aewm clients" > $AEM/$Categ
echo >> $AEM/$Categ
if [ ${LANG:0:2} = "fr" ];then
	echo "cmd \"> Navigateurs <\" \"\"" >> $AEM/$Categ
	else
	echo "cmd \"> Browsers <\" \"\"" >> $AEM/$Categ 	
fi
for j in `seq $c`;do
	echo "cmd \"`awk -F";" -v j=$j '{ print $j }' /tmp/NOM`\" \"`awk -F";" -v j=$j '{ print $j }' /tmp/EXEC`\"" >> $AEM/$Categ
done
# Action
cd $AEM
[ -e /usr/bin/xdotool ] && xdotool mousemove 60 970 &
$AEM/modele.sh $Categ
Voir résultats ci-dessous. Comme ce menu est celui d'une catégorie comportant peu
d'éléments, il n'y a pas de "hoquet" (délai), le résultat apparaît immédiatement
quand on clique sur l'icône.

Une fois qu'on a bien saisi aemenu (en particulier les commandes qu'on peut rabouter
dedans ainsi que la façon de le "pétrir" :) ), on peut passer aux menus à syntaxe plus
complexe, genre jwm ou pekwm.

Ou rester avec aemenu : si le thème du gest. de fen. et celui GTK sont quasi
identiques, on n'y voit que du feu.

Mon grain de sel.

musher0

PS. j'allais oublier "modele.sh" !

Code: Select all

#!/bin/sh
# /root/my-applications/ae/modele.sh
####
# variable
AEM="/root/my-applications/ae"
#
[ "`pidof -s aemenu`" ] && kill "`pidof -s aemenu`"
sleep 0.1s
$AEM/incorporer-date.sh
mv /tmp/date /tmp/"$@"
cat $AEM/"$@" >> /tmp/"$@"
echo "cmd \"~~~~~~~~~~~\" \"$AEM/aemenu -rc /tmp/"$@"\"" >> /tmp/"$@"
Attachments
capture19425.png
Sous-menu pour la catégorie &quot;jeux&quot;
(64.27 KiB) Downloaded 157 times
capture17379.png
Sous-menu pour la catégorie &quot;internet&quot;
(38.68 KiB) Downloaded 152 times
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

Pelo

C'est médor qui décide, moi j'étais curieux

#15 Post by Pelo »

C'est médor qui décide, moi j'étais curieux. Medor, c'est le patron, il y a des textes là-dessus ? vous l'avez élu ou il a été désigné, ou il s'est proclamé 'patron' ?

Pelo

Re: C'est médor qui décide, moi j'étais curieux

#16 Post by Pelo »

C'est médor qui décide, moi j'étais curieux. Medor, c'est le patron, il y a des textes là-dessus ? vous l'avez élu ou il a été désigné, ou il s'est proclamé 'patron' ?

"Est-ce donc utile de ressortir ce fil
Utilises-tu aemenu
De plus tu n'y ajoutes rien de nouveau... "

J'utilise pas aemenu parce que je veux l'essayer !. je ne cherche pas à amener du nouveau, Musher propose, on essaie de participer, en équipe. Par contre, il nous engueule quand on ne teste pas ses trucs, le Médor.

Et ben ! l'avion est pas prêt de décoller...
Last edited by Pelo on Thu 25 Sep 2014, 08:22, edited 1 time in total.

Pelo

Re: C'est médor qui décide, moi j'étais curieux

#17 Post by Pelo »

Moderators: Béèm, darkerror05 : que font-ils ? Medor les a virés, pour prendre la place ?

Médor

#18 Post by Médor »

Bonjour musher0,

Pour obtenir les effets de composite avec compton, le luxe reste donc d'utiliser le gestionnaire de fenêtres par défaut JWM ou bien Openbox, Fluxbox ;)


Cordialement,
Médor.

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

Re: C'est médor qui décide, moi j'étais curieux

#19 Post by musher0 »

Pelo wrote:Moderators: Béèm, darkerror05 : que font-ils ? Medor les a virés, pour prendre la place ?
Salut, pelo.

Si ma mémoire est bonne, c'est ASRI qui agit désormais comme modérateur des fils
francophones. Médor est un simple membre du forum.

Béèm était assez âgé : il a comme filé à l'anglaise, plus d'interventions depuis quoi,
deux ans ? J'ai l'impression qu'il est DCD... J'espère me tromper, c'était un type très
bien. Pas un programmeur, mais il possédait la doc de Puppy sur le bout de ses
doigts, il savait diriger les membres vers des ressources appropriées, ici ou là, avec
précision, comme pas un, tant du côté francophone que du côté anglophone. Grande
perte pour nous.

darkerror-machin : je connais à peine, j'sais pas ce qui lui est arrivé.

musher0
Last edited by musher0 on Thu 25 Sep 2014, 21:21, edited 1 time in total.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

Médor

#20 Post by Médor »

Effectivement comme Cédric je ne suis qu'un simple utilisateur sur ce forum...

Cordialement;
Médor.

Post Reply