Page 1 sur 2
[openbox]pipemenus(Résolu)
Publié : ven. 08 nov. 2013, 18:52
par Kristen
Bonjour
Je n'arrive pas à faire fonctionner certains pipemenus, par exemple celui-ci
Code : Tout sélectionner
#!/bin/sh
#
# date-menu.sh
#
# This is in the public domain. Honestly, how can you claim anything to something
# this simple?
#
# Outputs a simple openbox pipe menu to display the date, time, and calendar.
# You need 'date' and 'cal'. You should have these. Additionally, the calendar
# only appears properly formated if you use a mono spaced font.
# Outputs the selected row from the calender output.
# If you don't use a mono spaced font, you would have to play with spacing here.
# It would probably involve a very complicated mess. Is there a way to force a
# different font per menu?
function calRow() {
cal | gawk -v row=$1 '{ if (NR==row) { print $0 } }'
}
# Build the menu
cat << EOFMENU
<openbox_pipe_menu>
<separator label="`date +%A\ \ \ \ \ \ \ \ \ \ \ \ %I\:%M\ %p`" />
<item label="`date +%B\ %d,\ %Y`" />
<separator />
<item label="`calRow 2`" />
<item label="`calRow 3`" />
<item label="`calRow 4`" />
<item label="`calRow 5`" />
<item label="`calRow 6`" />
<item label="`calRow 7`" />
<item label="`calRow 8`" />
</openbox_pipe_menu>
EOFMENU
J'ai bien mis le fichier date-menu.sh dans ~/.config/openbox/scripts/ et je l'ai bien passé en exécutable. Pourtant, ça me donne:
C'est pareil avec d'autres scripts mais ça fonctionne avec d'autres.
Re: [openbox]pipemenus
Publié : ven. 08 nov. 2013, 21:46
par FoolEcho
Salut,
Il ne fonctionne pas quand tu le lances manuellement ?

Re: [openbox]pipemenus
Publié : sam. 09 nov. 2013, 06:22
par Kristen
Lancé dans un terminal, ça me donne :
Code : Tout sélectionner
$ sh date-menu.sh
date-menu.sh: ligne34: avertissement :« here-document » à la ligne 21 délimité par la fin du fichier (au lieu de « EOFMENU »)
<openbox_pipe_menu>
<separator label="samedi 06:20 " />
<item label="novembre 09, 2013" />
<separator />
<item label="lu ma me je ve sa di" />
<item label=" 1 2 3 " />
<item label=" 4 5 6 7 8 9 10 " />
<item label="11 12 13 14 15 16 17 " />
<item label="18 19 20 21 22 23 24 " />
<item label="25 26 27 28 29 30 " />
<item label=" " />
</openbox_pipe_menu>
EOFMENU
Re: [openbox]pipemenus
Publié : sam. 09 nov. 2013, 14:29
par vintherine
Tout va très bien chez moi. J'ai enregistré le fichier indiqué, fait un chmod +x et rajouté
Code : Tout sélectionner
<menu execute="~/.config/openbox/pipemenus/datemenu.sh" id="date" label="Date"/>
dans mon menu.xml juste avant le dernier </menu>. Et ça marche nickel.
Re: [openbox]pipemenus
Publié : sam. 09 nov. 2013, 17:18
par Kristen
Je ne comprends pas alors. Je viens de réessayer en remettant la configuration d'origine de openbox en supprimant ~/.config/openbox puis
et c'est toujours pareil! ?
Re: [openbox]pipemenus
Publié : sam. 09 nov. 2013, 20:06
par vintherine
Euh... je ne suis pas sûr de comprendre ce que tu veux dire.
Si par hasard c'est : je mets mes scripts dans un répertoire donné et j'attends que ça marche tout seul avec la config d'origine, ben c'est pas ça. N'y vois pas d’offense. Fait voir ton .config/openbox/menu.xml
Re: [openbox]pipemenus
Publié : sam. 09 nov. 2013, 23:28
par Kristen
Ouais, je me suis mal exprimé. Je voulais dire que j'ai repris la configuration par défaut à laquelle j'ai ajouté
Code : Tout sélectionner
<menu execute="~/.config/openbox/scripts/date-menu.sh" id="date" label="Date"/>
dans le menu.xml et fais un chmod +x dessus sans que ça ne change rien. Je précise qu'un autre script openbox pour avoir les infos du système fonctionne bien.
Re: [openbox]pipemenus
Publié : sam. 09 nov. 2013, 23:38
par vintherine
Bon, ben ça me dit pas plus. Fait le voir ton menu

Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 09:10
par Kristen
le menu.xml
http://pastebin.archlinux.fr/474618
le date-menu.sh
Code : Tout sélectionner
#!/bin/sh
#
# date-menu.sh
#
# This is in the public domain. Honestly, how can you claim anything to something
# this simple?
#
# Outputs a simple openbox pipe menu to display the date, time, and calendar.
# You need 'date' and 'cal'. You should have these. Additionally, the calendar
# only appears properly formated if you use a mono spaced font.
# Outputs the selected row from the calender output.
# If you don't use a mono spaced font, you would have to play with spacing here.
# It would probably involve a very complicated mess. Is there a way to force a
# different font per menu?
function calRow() {
cal | gawk -v row=$1 '{ if (NR==row) { print $0 } }'
}
# Build the menu
cat << EOFMENU
<openbox_pipe_menu>
<separator label="`date +%A\ \ \ \ \ \ \ \ \ \ \ \ %I\:%M\ %p`" />
<item label="`date +%B\ %d,\ %Y`" />
<separator />
<item label="`calRow 2`" />
<item label="`calRow 3`" />
<item label="`calRow 4`" />
<item label="`calRow 5`" />
<item label="`calRow 6`" />
<item label="`calRow 7`" />
<item label="`calRow 8`" />
</openbox_pipe_menu>
EOFMENU
Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 09:21
par FoolEcho
Tu as une fin de commentaire qui traîne dans ton menu.xml, ligne 182 (et aucun début auparavant).
Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 09:23
par Kristen
oupss reste un commentaire que j'ai supprimé. C'est enlevé mais c'est toujours pareil.
Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 11:41
par vintherine
tu as 2 < au lieu d'1 ligne 585
Code : Tout sélectionner
<<menu id="pipe-weather" label="Météo" execute="python2 ~/.config/openbox/scripts/yweather.py FRXX5439 Celsius" />
un fois ceci rectifié ça fonctionne chez moi.
Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 12:01
par Kristen
OK erreur rectifiée mais ça ne marche toujours pas

Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 12:15
par vintherine
bon, reprenons :
1) tu utilises exactement le menu que tu nous a passé, rectifié des 2 erreurs signalées ?
2) le chemin vers le script est correct et le script lui-même est exécutable ?
Si tout ça est correct il n'y a aucune raison que ça ne fonctionne pas. Revérifie tout.
le message d'erreur est fichier non trouvé, c'est ça ? C'est le message que j'avais avant d'enlever le < excédentaire.
Tu peux aussi essayer avec un menu minimaliste
Code : Tout sélectionner
<?xml version="1.0" encoding="utf-8"?>
<openbox_menu xmlns="http://openbox.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openbox.org/ file:///usr/share/openbox/menu.xsd">
<menu id="root-menu" label="Openbox 3.5">
<menu execute="~/.config/openbox/scripts/date-menu.sh" id="date" label="Date"/>
</menu>
</openbox_menu>
si ~/.config/openbox/scripts/date-menu.sh existe et est exécutable ça doit marcher.
PS Tu n'oublies pas la commande
après chaque modif ?
Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 14:00
par Kristen
vintherine a écrit :bon, reprenons :
1) tu utilises exactement le menu que tu nous a passé, rectifié des 2 erreurs signalées ?
oui c'est bien ceux-la
vintherine a écrit :2) le chemin vers le script est correct et le script lui-même est exécutable ?
oui
vintherine a écrit :Si tout ça est correct il n'y a aucune raison que ça ne fonctionne pas. Revérifie tout.
tout est revérifié et pourtant ça ne fonctionne pas
vintherine a écrit :le message d'erreur est fichier non trouvé, c'est ça ? C'est le message que j'avais avant d'enlever le < excédentaire.
Le message d'erreur est
Code : Tout sélectionner
Sortie du pipe-menu invalide "/home/christian/.config/openbox/script/date-menu.sh
vintherine a écrit :Tu peux aussi essayer avec un menu minimaliste
Code : Tout sélectionner
<?xml version="1.0" encoding="utf-8"?>
<openbox_menu xmlns="http://openbox.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openbox.org/ file:///usr/share/openbox/menu.xsd">
<menu id="root-menu" label="Openbox 3.5">
<menu execute="~/.config/openbox/scripts/date-menu.sh" id="date" label="Date"/>
</menu>
</openbox_menu>
si ~/.config/openbox/scripts/date-menu.sh existe et est exécutable ça doit marcher.
Pas de changement
vintherine a écrit :PS Tu n'oublies pas la commande
je fais bien cette commande à chaque fois.
après chaque modif ?
c'est fait à chaque fois.
Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 14:25
par benjarobin
Quelle est la sortie de /home/christian/.config/openbox/script/date-menu.sh
Tape juste ceci dans un terminal, je ne veux pas le contenu du fichier mais la sortie de cette commande
Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 14:46
par Kristen
OK les gars, j'ai trouvé l'erreur. Elle venait de mon date-menu.sh. Je l'ai créé en allant sur la page
http://openbox.org/wiki/Openbox:Pipemenus:Date_Menu Là, j'ai sélectionné tout le texte puis copier coller dans mon date-menu.sh et ça ne fonctionnait pas. Le problème est que ce copier/coller m'a laissé un espace en début de chaque ligne. En supprimant cet espace, plus de problème.
Désolé pour le dérangement et merci pour tout.
Erreur stupide

Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 14:53
par benjarobin
Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 14:57
par Kristen
Maintenant, j'au un autre soucis. Tout est décalé

J'ai encore déraillé?
Mon date-menu.sh corrigé
Code : Tout sélectionner
#!/bin/sh
#
# date-menu.sh
#
# This is in the public domain. Honestly, how can you claim anything to something
# this simple?
#
# Outputs a simple openbox pipe menu to display the date, time, and calendar.
# You need 'date' and 'cal'. You should have these. Additionally, the calendar
# only appears properly formated if you use a mono spaced font.
# Outputs the selected row from the calender output.
# If you don't use a mono spaced font, you would have to play with spacing here.
# It would probably involve a very complicated mess. Is there a way to force a
# different font per menu?
function calRow() {
cal | gawk -v row=$1 '{ if (NR==row) { print $0 } }'
}
# Build the menu
cat << EOFMENU
<openbox_pipe_menu>
<separator label="`date +%A\ \ \ \ \ \ \ \ \ \ \ \ %I\:%M\ %p`" />
<item label="`date +%B\ %d,\ %Y`" />
<separator />
<item label="`calRow 2`" />
<item label="`calRow 3`" />
<item label="`calRow 4`" />
<item label="`calRow 5`" />
<item label="`calRow 6`" />
<item label="`calRow 7`" />
<item label="`calRow 8`" />
</openbox_pipe_menu>
EOFMENU
@benjarobin bientôt ... j'espère!
Re: [openbox]pipemenus
Publié : dim. 10 nov. 2013, 15:35
par Kristen
Dans les explications sur le pipemenu, il est indiqué
Code : Tout sélectionner
# If you don't use a mono spaced font, you would have to play with spacing here.
# It would probably involve a very complicated mess. Is there a way to force a
# different font per menu??
Si je comprends la traduction google, il me faut utiliser une police mono. Question, comment fait-on?