Résolu le 7-01-25 Problème xdg-open %s avec CherryTree

Postez ici toutes vos demandes d’assistance générale concernant le fonctionnement de Linux Mint, qui n'entrent pas dans les autres rubriques.
Répondre
Avatar du membre
Christian_B
Messages : 532
Enregistré le : lun. 7 nov. 2016 10:44
Localisation : Paris

Problème xdg-open %s avec CherryTree

Message 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]
Linux Mint 22.1 Mate 1.26.2. Carte Gigabyte H81N.
Intel Core i7-4770 : 4x2 cœurs + Xeon E3-1200 (= circuit 4600).
Mémoire 8 Go Dual channel, SSD 120Go, HD 2To.
Les armes nucléaires sont interdites depuis le 22 janvier 2021. Y a plus qu'à ...
Avatar du membre
Armaggion
Messages : 685
Enregistré le : jeu. 22 août 2024 16:48

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

Message 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 " ).
PC : Desktop | Linux Mint 22.1 Xia | Cinnamon 6.4.8 | 6.8.0-63-generic | Intel Core i5-13400F | 32GB | NVIDIA AD106 [GeForce RTX 4060 Ti] / 575.64.03
Avatar du membre
Christian_B
Messages : 532
Enregistré le : lun. 7 nov. 2016 10:44
Localisation : Paris

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

Message 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.
Linux Mint 22.1 Mate 1.26.2. Carte Gigabyte H81N.
Intel Core i7-4770 : 4x2 cœurs + Xeon E3-1200 (= circuit 4600).
Mémoire 8 Go Dual channel, SSD 120Go, HD 2To.
Les armes nucléaires sont interdites depuis le 22 janvier 2021. Y a plus qu'à ...
Avatar du membre
Armaggion
Messages : 685
Enregistré le : jeu. 22 août 2024 16:48

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

Message par Armaggion »

Bien joué ! Bon voyage sur Linux :)
PC : Desktop | Linux Mint 22.1 Xia | Cinnamon 6.4.8 | 6.8.0-63-generic | Intel Core i5-13400F | 32GB | NVIDIA AD106 [GeForce RTX 4060 Ti] / 575.64.03
Répondre