web-dev-qa-db-fra.com

Comment fonctionne le presse-papier?

Sur un plan profond, comment fonctionne la copie de quelque chose dans le presse-papiers? Existe-t-il un fichier contenant le texte ou l'image que je copie quelque part?

J'ai trouvé emplacement mémoire du presse-papiers où la question n'a jamais été répondue. J'ai aussi trouvé beaucoup de références à xclip. Xclip n'est actuellement pas installé sur mon ordinateur, mais mon presse-papiers fonctionne bien - par exemple, je peux copier quelque chose de Firefox et le coller dans un terminal sans aucun problème. Il est donc clair que quelque chose doit se passer à un niveau différent de celui de xclip. Qu'est-ce que c'est et comment ça marche?

1
Keon

X gère le presse-papiers et vous pouvez en lire plus ici. https://specifications.freedesktop.org/clipboards-spec/clipboards-latest.txt

X11 Le presse-papiers appelé sélections est défini dans le ICCCM. https://www.x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html

Citant le lien ci-dessus.

Il peut y avoir un nombre arbitraire de sélections, chacune nommée par un atome. Pour se conformer aux conventions inter-clients, toutefois, les clients doivent uniquement traiter ces trois sélections:

PRIMAIRE

SECONDAIRE

CLIPBOARD

Ces sélections sont toutes stockées en mémoire et ne sont pas écrites sur le disque.

Il vaut la peine de lire: X sélections, tampons de coupe et anneaux de mise à mort . https://www.jwz.org/doc/x-cut-and-paste.html

Une autre lecture intéressante est Écriture d'une bibliothèque de presse-papiers multiplateforme https://jtanx.github.io/2016/08/19/a -cross-platform-clipboard-library /

Si vous souhaitez savoir comment interagir grammaticalement avec les sélections X11, consultez le code source de xclip sur GitHub. https://github.com/astrand/xclip

3
wintersnare