[openbox] aide pour un pipe

Xorg, Compiz, KDE / Gnome / Xfce / Fluxbox / e17 / fvwm ... GDM/KDM/XDM...
Avatar de l’utilisateur
Kristen
Elfe
Messages : 709
Inscription : ven. 14 oct. 2011, 10:24
Localisation : Finistère France

[openbox] aide pour un pipe

Message par Kristen »

Bonjour
J'ai honteusement pompé un pipe-menu de Slitaz qui donne directement accès à mes dossiers favoris. Pour cela, le scrip récupère les infos du fichier .gtk-bookmarks. Je l'ai modifié pour qu'il utilise plutôt le fichier ~/.config/gtk-3.0/bookmarks
Le soucis est que je me retrouve avec des sigles incompréhensibles.
Image
Voici le script récupéré

Code : Tout sélectionner

#!/bin/sh
#
# Openbox pipe menu to launch PCmanFM using GTK bookmarks.
#

echo '<openbox_pipe_menu>'

# Home
echo '<item label="Home">'
echo '<action name="Execute"><execute>'
echo "pcmanfm ~"
echo '</execute></action></item>'

# ~/Desktop
echo '<item label="Desktop">'
echo '<action name="Execute"><execute>'
echo "pcmanfm ~/Desktop"
echo '</execute></action></item>'

# GTK bookmarks
for dir in `sed 's/[ ][^ ]*$//' ~/.config/gtk-3.0/bookmarks`
do
	echo '<item label="'`basename $dir`'">'
	echo '<action name="Execute"><execute>'
	echo "pcmanfm $dir"
	echo '</execute></action></item>'
done

echo '</openbox_pipe_menu>'
Vous pouvez m'aider pour que tout soit écrit en français ? Merci.
PS je n'y connais absolument rien en programmation et ça ne me tente pas du tout.
KDE Plasma sur
- fixe Intel Core i5-4570 CPU @ 3.20GHz × 4 - RAM 12 Go - Carte graphique GeForce GTX 750 Ti NV117 - Écran 24" et 23" hdmi
- Lenovo IdeaPad 3 15ALC6 - 15.6" - Ryzen 5 5500U - 16 Go RAM - 128 Go SSD + 1 To HDD
- Lenovo Ideapad S130-14IGM
Avatar de l’utilisateur
Piczel
Chu Ko Nu
Messages : 314
Inscription : dim. 03 mai 2015, 19:17
Localisation : Terre du Milieu

Re: [openbox] aide pour un pipe

Message par Piczel »

Aux vues des sorties de ton image, il y a un soucis d'encodage. Regarde si ton fichier est bien en UTF8 (ça serait bizarre que non, mais sait-on jamais).
Sinon le script a une bonne tête, après je ne suis pas expert de bash, et encore moins des RegEx.

Pourrais-tu fournir le fichier où il lit ?
lili : Lenovo E540 | ArchLinux
abraham : RaspBerry Pi 3 B | ArchLinux
isaac : RaspBerry Pi 3 B | ArchLinux
Github
The best way to accelerate a computer running Windows is at 9.81m/s²
10 types de geeks, ceux qui savent compter en binaire, et les autres.
Avatar de l’utilisateur
alh54
archer de cavalerie
Messages : 182
Inscription : lun. 02 déc. 2013, 21:52

Re: [openbox] aide pour un pipe

Message par alh54 »

Je m'y connais très peu en bash et en programmation en général mais tu peux rajouter un motif pour la commande sed pour corriger le é.
Remplace cette ligne

Code : Tout sélectionner

for dir in `sed 's/[ ][^ ]*$//' ~/.config/gtk-3.0/bookmarks`
par celle-là

Code : Tout sélectionner

for dir in `sed -e 's/[ ][^ ]*$// ; s/%C3%A9/é/g ' ~/.config/gtk-3.0/bookmarks`
S'il y a d'autres caractères qui posent souci tu rajoutes d'autres motifs, il ne doit pas y en avoir beaucoup en tous cas.
Avatar de l’utilisateur
Kristen
Elfe
Messages : 709
Inscription : ven. 14 oct. 2011, 10:24
Localisation : Finistère France

Re: [openbox] aide pour un pipe

Message par Kristen »

Piczel a écrit : ven. 31 mars 2017, 16:47 Aux vues des sorties de ton image, il y a un soucis d'encodage. Regarde si ton fichier est bien en UTF8 (ça serait bizarre que non, mais sait-on jamais).
Sinon le script a une bonne tête, après je ne suis pas expert de bash, et encore moins des RegEx.

Pourrais-tu fournir le fichier où il lit ?
Tout est bien en UTF8. Pour le fichier, il se trouve dans ~/.config/gtk-3.0/ le fichier bookmarks (c'est le seul)
alh54 a écrit : ven. 31 mars 2017, 17:39 Je m'y connais très peu en bash et en programmation en général mais tu peux rajouter un motif pour la commande sed pour corriger le é.
Remplace cette ligne

Code : Tout sélectionner

for dir in `sed 's/[ ][^ ]*$//' ~/.config/gtk-3.0/bookmarks`
par celle-là

Code : Tout sélectionner

for dir in `sed -e 's/[ ][^ ]*$// ; s/%C3%A9/é/g ' ~/.config/gtk-3.0/bookmarks`
S'il y a d'autres caractères qui posent souci tu rajoutes d'autres motifs, il ne doit pas y en avoir beaucoup en tous cas.
Impeccable ça marche ! Maintenant avec mon fichier bookmarks

Code : Tout sélectionner

file:///home/christian/ownCloud ownCloud
file:///home/christian/ownCloud/Documents Documents
file:///home/christian/ownCloud/Images Images
file:///home/christian/Musique Musique
file:///home/christian/T%C3%A9l%C3%A9chargements Téléchargements
file:///home/christian/Vid%C3%A9os Vidéos
file:///home/christian/ownCloud/Documents/La%20foul%C3%A9e%20folgoatienne La foulée folgoatienne
le script me renvoie Image
Mon script modifié

Code : Tout sélectionner

#!/bin/sh
#
# Openbox pipe menu to launch PCmanFM using GTK bookmarks.
#

echo '<openbox_pipe_menu>'

# Home
echo '<item label="Home">'
echo '<action name="Execute"><execute>'
echo "pcmanfm ~"
echo '</execute></action></item>'

# ~/Desktop
echo '<item label="Desktop">'
echo '<action name="Execute"><execute>'
echo "pcmanfm ~/Desktop"
echo '</execute></action></item>'

# GTK bookmarks
for dir in `sed -e 's/[ ][^ ]*$// ; s/%C3%A9/é/g ; s/%20/ /g' ~/.config/gtk-3.0/bookmarks`

do
	echo '<item label="'`basename $dir`'">'
	echo '<action name="Execute"><execute>'
	echo "pcmanfm $dir"
	echo '</execute></action></item>'
done

echo '</openbox_pipe_menu>'
KDE Plasma sur
- fixe Intel Core i5-4570 CPU @ 3.20GHz × 4 - RAM 12 Go - Carte graphique GeForce GTX 750 Ti NV117 - Écran 24" et 23" hdmi
- Lenovo IdeaPad 3 15ALC6 - 15.6" - Ryzen 5 5500U - 16 Go RAM - 128 Go SSD + 1 To HDD
- Lenovo Ideapad S130-14IGM
Répondre