Page 1 sur 1

Problème xdg-open %s avec CherryTree

Posté : sam. 4 janv. 2025 19:52
par Christian_B
Bonjour, Cherry Tree définit des "actions" pour les liens vers les fichiers et les répertoires.
Par défaut ce sont des commandes identiques dans les deux cas :
xdg-open %s &
Elles fonctionnent (même avec des caractères non-ASCII) sauf s'il y a un espace dans le nom de chemin du fichier ou dossier. Dans ce cas elles ne répondent rien.
J'ai essayé d'éditer le lien en ajoutant des apostrophes autour du chemin mais dans ce cas le chemin est déclaré invalide.
Comme la syntaxe n'a pas changé selon les versions de CherryTree, je suppose que le problème ne vient pas de CherryTree.

Cela fait un certain temps et je ne sais pas si c'est lié à un changement de version ou une erreur de ma part.
En principe il s'agit d'une commande shell nécessitant une substitution, mais je n'arrive pas à trouver la définition de ce %s :?
En tout cas il ne s'agit pas d'une variable de la clé Exec d'un fichier .desktop. Les seules existantes selon freedesktop.org sont %f, %F, %u, %U, %i, %c,%k.
Je ne sais donc pas s'il faudrait intervenir par exemple avec un outil du paquet xdg-utils ou dans ~/.config/mimeapps.list ou autrement.
À titre indicatif, dans mimeapps.list, la seule entrée inode/directory est :
inode/directory=caja-folder-handler.desktop
sous [Default Applications]

Re: Problème xdg-open %s avec CherryTree

Posté : mar. 7 janv. 2025 13:10
par Armaggion
"%s" c'est une s-tring (chaîne de caractères) qui identifie l'objet que tu veux ouvrir avec xdg-open, rien de plus (un son, une vidéo, un texte, etc.). Donc dans l'exemple "xdg-open mynote.txt" la variable %s vaut "mynote.txt".

Le "&" final est simplement pour passer immédiatement en tâche de fond sans attendre d'autres inputs.

Si tu as essayé les quotes ( ' ) et que ça ne fonctionne pas, essaie les double-quotes ( " ). Attention, pas les françaises ( ’ ou « ) super stylées et très mal gérées mais bien les anglaises ( ' ou " ).

Re: Problème xdg-open %s avec CherryTree

Posté : mar. 7 janv. 2025 14:39
par Christian_B
J'avais compris le principe mais apparemment s'il y avait des espaces, %s fournissait la chaîne telle quelle et donc plusieurs paramètres erronés.
J'avais tout essayé avec des simples quotes.
Avec des guillemets dans la déclaration du lien comportant un espace, cela ne marche pas non plus.
Par contre tu m'a donné l'idée (qui me paraissait bizarre) de mettre des guillemets directement dans la définition de "l'action" dans les préférences, ce qui donne :

xdg-open "%s" &

et c'est ça qui marche !.
J'aurais peut-être dû y penser mais je ne suis pas familier de la syntaxe shell.
Donc merci Armaggion, problème résolu.

Re: Problème xdg-open %s avec CherryTree

Posté : mar. 7 janv. 2025 16:48
par Armaggion
Bien joué ! Bon voyage sur Linux :)