Chachatte a écrit :
Je voulais savoir si quelqu'un avait eu le meme probleme, ou une solution pour le resoudre ou s'il faut que je continu en terminal en attendant une prochaine fois.
Ben voilà, ça fait bien un mois que je cherchais une solution avec google qui est de moins en moins mon ami. Et je n'avais même pas trouvé le rapport de bug auquel tu fais référence
Mais j'ai quand-même un semblant de solution.
Mon environnement : openbox et tint2-svn
objectif : mettre un "menu emplacement" grace à un laucher de tint2
dépendances : mygtkmenu, gvfs, trash-cli
le script, en cours de développement (je le met en entier, ça peut aider pour autre chose, la partie corbeille est à la fin) :
Code : Tout sélectionner
#! /bin/bash
###############################################"
## Création d'un menu Emplacement ##
## affiché par mygtkmenu ##
## pour un lanceur dans tint2 ##
## dépendances : mygtkmenu, gvfs, trash-cli ##
## ##
## copyleft vgay at vintherine dot org ##
###############################################"
#navigateur de fichier -> décommentez le vôtre.
navfile="nautilus --no-desktop"
#navfile="thunar"
#navfile="pcmanfm"
#icône par défaut
if [ -f ~/.config/gtk-3.0/settings.ini ]; then
icontheme=$(grep icon-theme ~/.config/gtk-3.0/settings.ini | sed 's/"//g')
elif [ -f ~/.gtkrc-2.0 ]; then
icontheme=$(grep icon-theme ~/.gtkrc-2.0 | sed 's/"//g')
else
icontheme=-1
deffoldericon=NULL
fi
if [ icontheme ]; then
icontheme=${icontheme##*=}
if [ -d /usr/share/icons/$icontheme ]; then
deffoldericon=$(find /usr/share/icons/$icontheme -name folder.* | grep 24)
homefoldericon=$(find /usr/share/icons/$icontheme -name user-home.* | grep 24)
removablefoldericon=$(find /usr/share/icons/$icontheme -name drive-removable-media.* | grep 24)
emptytrash=$(find /usr/share/icons/$icontheme -name user-trash.* | grep 24)
fulltrash=$(find /usr/share/icons/$icontheme -name user-trash-full.* | grep 24)
menuemblem=$(find /usr/share/icons/$icontheme -name xfce-filemanager.* | grep 24)
else
deffoldericon=$(find ~/.icons/$icontheme -name folder.* | grep 24)
homefoldericon=$(find ~/.icons/$icontheme -name user-home.* | grep 24)
removablefoldericon=$(find ~/.icons/$icontheme -name drive-removable-media.* | grep 24)
emptytrash=$(find ~/.icons/$icontheme -name user-trash.* | grep 24)
fulltrash=$(find ~/.icons/$icontheme -name user-trash-full.* | grep 24)
menuemblem=$(find ~/.icons/$icontheme -name xfce-filemanager.* | grep 24)
fi
fi
# Nom et emplacement du fichier de config à produire
rcfile=~/.config/myGtkMenu/PlaceMenurc
#if [ ~/.config/myGtkMenu/PlaceMenurc -nt ~/.gtk-bookmarks ]; then
# if [ ~/.config/myGtkMenu/PlaceMenurc -nt /proc/self/mounts ]; then
# mygtkmenu $rcfile
# exit
# fi
#fi
if [ ~/.config/myGtkMenu/PlaceMenurc -nt ~/.gtk-bookmarks ]; then
cp ~/.config/myGtkMenu/Bookmarks ~/.config/myGtkMenu/PlaceMenurc
else
echo -e "# …………… Beginning of menu ……………\nMenuPosition = 35 35\niconsize = 24\nitem = Système de fichiers\ncmd ="$navfile" /\nicon ="$menuemblem > $rcfile
echo -e "\nSEPARATOR\n\nitem = Home\ncmd = "$navfile"\nicon = "$homefoldericon"\n" >> $rcfile
####### Dossiers mis en signets, lus dans ~/.gtk-bookmarks. Dépend de gvfs ######
while IFS="\ " read chemin nom
do
#genre=`expr substr $chemin 1 5`
if [ ${chemin:0:7} == "file://" ]; then
fichier=${chemin:7}
fichier="$(echo $fichier | perl -pe 's|%([0-9a-f]{2})|pack('C',hex($1))|segi;')"
label=${fichier##*/}
diricon=$deffoldericon
### récupération des éventuelles icônes personnalisées que l'on peut établir avec Nautilus ###
### il faudrait faire la même chose avec les emblèmes de thunar mais j'ai la flemme ###
icone=$(gvfs-info metadata::custom-icon $label | grep custom-icon)
icone=${icone##*file://}
if [ -f $icone ]; then
diricon=$icone
fi
echo -e "item = "$label"\ncmd = "$navfile" "$fichier"\nicon = "$diricon"\n" >> $rcfile
fi
done < ~/.gtk-bookmarks
echo -e "\nSEPARATOR\n" >> $rcfile
fi
##### périphérique trouvés dans /etc/mtab #####
while IFS="\ " read dev pointdemontage reste
do
if [ ${pointdemontage:0:7} == "/media/" ]; then
flagdrive=1
label=${pointdemontage##*/}
echo -e "item = "$label"\ncmd = "$navfile" "$pointdemontage"\nicon = "$removablefoldericon"\n" >> $rcfile
fi
done < /etc/mtab
if [ $flagdrive ];then
echo -e "\nSEPARATOR\n" >> $rcfile
fi
##### gestion de la corbeille. Dépend de trash-cli #####
if [[ $(trash-list) ]]; then
trashicon=$fulltrash
else
trashicon=$emptytrash
fi
echo -e "Submenu = Corbeille\n icon = "$trashicon"\n item = Voir la corbeille\n cmd = "$navfile" trash:///\n icon = NULL\n" >> $rcfile
echo -e " item = Vider la corbeille\n cmd = trash-empty\n icon = NULL\n\nSEPARATOR\n" >> $rcfile
mygtkmenu $rcfile
Je met ça dans un lanceur (fichiers.desktop)
Code : Tout sélectionner
[Desktop Entry]
Version=1.0
Exec=.config/myGtkMenu/myPlacesMenu
Icon=xfce-filemanager
Type=Application
Categories=X-XFCE;Settings;DesktopSettings;X-XfceSettingsDialog;
OnlyShowIn=XFCE;
Terminal=false
StartupNotify=false
Name=fichiers.desktop
Name[fr]=Répertoire personnel
Comment=Browse Home Directory
Comment[fr]=Explorer son répertoire personnel
GenericName=Menu applications
et il n'y a plus qu'à le rajouter dans les lanceurs de tint2
Code : Tout sélectionner
launcher_item_app = /home/vince/.local/share/applications/fichiers.desktoplauncher_item_app = /home/vince/.local/share/applications/fichiers.desktop
L'inconvénient est que trash-cli explorant tous les périphériques externes c'est assez long -> temps de latence d'une demi seconde. Par contre ça vide bien TOUTES les poubelles.
Voilou, c'est franchement bricolo mais je n'ai pas trouvé mieux. Si plus balaise que moi peu améliorer...
Amitiés