Vous n'êtes pas identifié(e).
Pages : 1
Elzen: polisson, polémiste, polymathe !
Hors ligne
Dernière modification par Tawal (15-04-2022 23:08:32)
Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
Quand une appli « copie » des données vers un presse-papier, elle envoie en fait simplement un message aux autres applications disant qu'elle gère maintenant la sélection en question, et c'est au moment de « coller » qu'elle envoie réellement les données
Comment ça se passe quand l'application est fermée ? Visiblement les données collées restent disponibles, alors que l'application n'est plus là pour les envoyer.
Il vaut mieux montrer que raconter.
Hors ligne
Comment ça se passe quand l'application est fermée ? Visiblement les données collées restent disponibles, alors que l'application n'est plus là pour les envoyer.
J’ai remarqué que ce n’est pas le cas pour le tampon sélection/clic milieu (tampon "PRIMARY" si j’ai bien compris). Je me fais souvent piéger en essayant de copier du texte de cette manière depuis Firefox, que je ne peux plus coller dans une autre application si jamais j’ai fermé Firefox entre temps.
Avec l’explication d’Elzen, je comprends mieux ce comportement qui me perturbait jusqu’ici.
Hors ligne
edit: on peut tout faire en tmpfs.
Je pense qu'on s'est mal compris
Effectivement, modifier vraiment les fichiers sur le disque à chaque changement du presse-papier serait gênant, pour les raisons que tu mentionnes (et dans un tmpfs, beh, ça nécessite de monter un tmpfs quelque part, ce qui est déjà un pré-requis) ; mais également parce qu'un tel comportement ne suivrait pas la logique de fonctionnement du truc : il faudrait aller requêter les données du presse-papier immédiatement à chaque changement pour créer les fichiers, et pour une appli comme Firefox qui propose plein de formats pour une même image, ça peut faire pas mal de cpu/mémoire à utiliser pour strictement rien.
C'est précisément pour ça que je parlais d'en faire un outil utilisant FUSE, qui permet de monter un système de fichiers virtuel. Quand tu utilises sshfs/curlftpfs, tu ne fous pas en RAM tout le contenu du disque distant : tu montes un truc qui ne va aller lister les fichiers/lire leur contenu sur le disque distant qu'au moment où tu interagiras avec (plus ou moins, je ne connais pas trop les détails de ce côté). Le principe serait ici exactement le même : interroger le presse-papier en temps réel au moment où on essaye de lire/lister les fichiers.
Et puis, soit j'ai pas tout compris, soit je ne vois pas trop l'intérêt ni le coté "userfriendly".
Je t'invite à relire le premier paragraphe de mon post d'ouverture : il n'y a aucune garantie que ça ait un réel intérêt, c'est juste que je trouve que le truc devrait exister juste pour le principe
En l'occurrence, le seul et unique objectif d'un tel outil serait de permettre d'interagir avec le presse-papier en utilisant les outils de manipulation de fichiers habituels (ls/vim/etc.), de la même manière que le seul et unique objectif des autres outils FUSE est de permettre d'interagir avec d'autres trucs en utilisant les outils de manipulation de fichiers habituels.
Ceci dit, ça pourrait permettre d'interagir un peu mieux (et plus facilement) avec le presse-papier en ligne de commande (et donc pour certains scripts, pour automatiser des trucs, tout ça), dans la mesure où les seuls outils tous faits que je connais pour ça sont assez limités (seul le texte est géré et/ou il n'est pas possible de choisir une sélection arbitraire). Typiquement, certains programmes de gestion d'images (entre autres) en ligne de commande te balancent le résultat vers la sortie standard, charge à toi de le rediriger vers le fichier que tu veux : un tel outil permettrait, plutôt que d'envoyer ça vers un « vrai » fichier, de l'envoyer vers un presse-papier pour ensuite le coller dans un éditeur d'images graphique sans transiter par le disque. Par exemple.
Comment ça se passe quand l'application est fermée ? Visiblement les données collées restent disponibles, alors que l'application n'est plus là pour les envoyer.
Quand une application est fermée, un événement X est généré pour signaler que la sélection choisie est maintenant libre, et les données ne sont plus disponibles. Si ces données sont toujours disponibles chez toi, c'est parce que tu as un programme qui tourne qui les a récupéré au préalable et « prend le relai » automatiquement après cet événement. Plusieurs environnements de bureau fournissent un outil de ce style (ce n'est pas franchement dur à coder, 'faut dire), mais c'est généralement limité au format texte et à la selection CLIPBOARD, comme le fait remarquer vv222.
D'ailleurs, on pourrait tout à fait prévoir une option à cet outil qui permettrait de prendre le relai de cette façon (mais je pense qu'il serait plus intéressant de laisser ça comme une option, dans la mesure où, comme dit plus haut, ça nécessite de récupérer toutes les données du presse-papier à chaque changement et non plus seulement au moment où elles sont interrogées, donc c'est légèrement plus gourmand, surtout si on gère autre chose que le simple texte).
Avec l’explication d’Elzen, je comprends mieux ce comportement qui me perturbait jusqu’ici.
Mon post aura donc au moins servi à un truc
Elzen: polisson, polémiste, polymathe !
Hors ligne
Hors ligne
Pages : 1