mercredi 3 avril 2013

Clipboard et script

Aujourd'hui, je vous propose un exercice assez amusant et qui pourrait vous être utile.
L'idée est d'insérer une chaîne de caractères dans le clipboard via un script shell.

Pour réaliser l'exercice, installez les deux paquets suivants : xclip et clipit.
Xclip vous permettra d'insérer des choses dans le clipboard, clipit vous permet de conserver le contenu du clipboard lorsque la source a disparu.

sudo apg-get install xclip clipit

Observons l'effet de la ligne suivante :

echo "iron maiden" | xclip

Bein, ça fait pas grand chose. Si si, cela copie notre chaîne de caractère dans le clipboard "primaire". Le clipboard que l'on a l'habitude d'utiliser (le copier/coller classique) est le 3ème clipboard.
Essayez la commande suivante :

echo "iron maiden" | xclip -selection c

Cette fois, un ctrl-v vous affichera le nom du plus grand groupe de heavy metal du monde^^.
Si vous fermez le terminal qui vous a permis de lancer ces commandes, vous observerez que le clipboard est vide. Pour pouvoir conserver son contenu, il vous faut lancer clipit.
Note : vous devez savoir que clipit conservera votre clipboard dans un fichier texte potentiellement lisible par autrui.
Grâce à clipit, vous pouvez insérer du texte dans votre clipboard et en profiter même après la fermeture du terminal.

Soyons fous et essayons d'associer cette ligne de commande à un raccourci clavier.
Pour y arriver, on peut créer un petit fichier clip.sh qui contiendrait le code suivant :

#!/bin/bash
echo "iron maiden" | xclip -selection c

Donnons les droits d'exécution au fichier clip.sh et ouvront l'interface de configuration des raccourcis clavier sous ubuntu. On ajoute un raccourci personnalisé avec le chemin vers notre fichier en commande.


Il reste cependant un dernier détail à régler. En effet, echo introduit systématiquement un retour chariot après la chaîne. Pour remédier à ce problème, il faut utiliser les commandes echo -n ou encore printf.

Ceci étant fait, en activant la touche de raccouci configurée, vous disposez de la bonne chaîne dans le clipboard. Cela peut être utile si vous devez copier tous les jours la même chaîne de caractère longue et complexe comme un numéro de matricule par exemple.




Aucun commentaire:

Enregistrer un commentaire