Page 1 sur 1
commande qui fonctionne dans le terminal mais pas dans "ouvrir avec" de Caja
Posté : lun. 9 sept. 2019 14:42
par miq75
Bonjour,
je voudrais ouvrir automatiquement mes fichiers textes avec vim (qui s’exécute dans un terminal) et de façon à pouvoir les compiler. J'ai donc besoin de paramétrer la variable d'environnement dossier de vim au dossier de mon document
Lorsque dans un terminal je tape la commande qui suit, j'ai le résultat souhaité où que je sois localisé dans l'arborescence :
Code : Tout sélectionner
mate-terminal -x env -C dossier_de_mon_document vim mon_document
Un terminal s'ouvre, avec vim lancé, le fichier désiré ouvert et le dossier dans lequel "s'exécute" vim est bien celui du fichier.
Lorsque je met l'adaptation de cette commande dans Caja comme ouverture par défaut personnalisée de ce type de fichier, le clic sur le fichier ouvre bien une session vim dans un terminal localisé au bon dossier, mais n'ouvre pas le fichier dans vim :
J'ai essayé sans le %f final, à l'image des autres paramétrages de Caja, j'ai essayé d'encapsuler les différentes sous commandes avec les `, pour des résultats divers sont un plantage de tous mes terminaux ouverts... mais jamais le résultat attendu.
Ou est mon erreur et pourquoi ça n'ouvre pas mon fichier ?
Merci !
Re: commande qui fonctionne dans le terminal mais pas dans "ouvrir avec" de Caja
Posté : mer. 11 sept. 2019 18:55
par miq75
Bon, visiblement ça fonctionne en modifiant ma commande ainsi :
Il me reste un moindre soucis, c'est que maintenant l'association que j'ai est labellée "ouvrir avec env". Est-ce que quelqu'un saurait dans quel fichier aller modifier ce label ?
Et autre problème, si je passe par les menus de caja il faut que je retape la commande pour chaque extension de fichiers textes. N'y a t'il pas moyen de le faire en une seule fois pour tous les fichiers textes, toutes extensions confondues (genre dans même le fichier qui réponds à la question précédente) ?
Merci pour toute aide !
[edit] Non ça ne fonctionne pas, j'avais laissé traîner le nom du fichier dans la commande :/
Re: commande qui fonctionne dans le terminal mais pas dans "ouvrir avec" de Caja
Posté : mer. 11 sept. 2019 19:38
par arghlub
Salut miq75,
il va falloir que tu attendes le retour d'un utilisateur de Mate (perso je suis sous XFCE).....
en sachant que la majorité des utilisateurs de Mint sont sous Cinnamon ....
.... Patience

Re: commande qui fonctionne dans le terminal mais pas dans "ouvrir avec" de Caja
Posté : jeu. 12 sept. 2019 02:22
par miq75
Finalement je m'était trompé en écrivant la commande, donc en fait ça ne fonctionne pas, ni avec la première version de la commande, ni avec la seconde... Dans tous les cas, j'ai la console localisée dans le bon dossier et vim qui s'ouvre dedans, mais pas de fichier concerné ouvert dans vim.
Pour les fichiers de caja, je les ai trouvés, ils sont dans .local/share/applications/userapp.commande.XXXXXX.desktop pour les détails des actions personnalisées, et dans .config/mimeapps.list pour la liste des affectations des types mime.
Re: commande qui fonctionne dans le terminal mais pas dans "ouvrir avec" de Caja
Posté : jeu. 12 sept. 2019 03:34
par miq75
Problème résolu.
En fait il apparaît que la ligne de commande personnalisée d'ouverture de fichier de Caja ne permette qu'un seul argument à la fois entre %d et %f. J'ai donc écrit un petit script python qui est lancé et qui récupère l'argument %f (chemin complet + nom de fichier), qui le coupe en deux, passe dans le dossier de travail de la première partie de l'argument (path) et lance vim avec la seconde partie de l'argument (nom de fichier).
ci-joint le script python (.run_vim_local.py):
Code : Tout sélectionner
#!/usr/bin/python3
# -*- coding: latin-1 -*-
import sys
import os
pathfile = sys.argv[1].split('/')
os.chdir('/'.join(pathfile[:-1]))
os.system('vim "'+pathfile[-1]+'"')
le fichier de conf caja correspondant .local/share/applications/userapp-vim.desktop
Code : Tout sélectionner
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
NoDisplay=true
Icon=/usr/share/pixmaps/gvim.svg
Exec=mate-terminal -x ./.run_vim_local.py %f
Name=Vim localisé
Comment=Vim dans un terminal lancé du bon dossier
et si tout se passe bien dans ces deux fichiers, pas besoin d'aller bidouiller à la main .config/mimeapps.list, car Caja propose la commande correspondante facilement accessible dans l'option "ouvrir avec".
Re: commande qui fonctionne dans le terminal mais pas dans "ouvrir avec" de Caja
Posté : jeu. 12 sept. 2019 09:55
par arghlub
Merci pour ton retour qui sera certainement utile pour certains MATEux

Re: commande qui fonctionne dans le terminal mais pas dans "ouvrir avec" de Caja
Posté : jeu. 12 sept. 2019 18:55
par alain