Après qu'un élément a été copié dans le presse-papiers (en utilisant ctrl+c), je veux qu'un script (bash, python ou tout autre langage) détecte automatiquement que nouvelle entrée a été ajoutée au presse-papiers, modifie son contenu et le remette dans le presse-papiers afin que lorsque je le colle, je reçoive le texte modifié. Le script doit fonctionner en arrière-plan en permanence et surveiller les changements dans le presse-papiers.
Le script suivant décrit la modification qui est nécessaire :
Source : https://superuser.com/questions/796292/is-there-an-efficient-way-to-copy-text-from-a-pdf-without-the-line-breaks
#!/bin/bash
# title: copy_without_linebreaks
# author: Glutanimate (github.com/glutanimate)
# license: MIT license
# Analyse le texte actuellement sélectionné et supprime
# les sauts de ligne qui ne sont pas précédés d'un point final
SelectedText="$(xsel)"
ModifiedText="$(echo "$SelectedText" | \
sed 's/\.$/.|/g' | sed 's/^\s*$/|/g' | tr '\n' ' ' | tr '|' '\n')"
# - premier commande sed: remplace les points finaux de ligne par un délimiteur '|' et conserve les points d'origine.
# - deuxième commande sed: remplace les lignes vides par le même délimiteur (par exemple pour séparer les titres de texte du texte)
# - commandes tr suivantes: supprime les sauts de ligne existants; remplace le délimiteur par des sauts de ligne
# Ce n'est pas très élégant mais ça fonctionne.
echo "$ModifiedText" | xsel -bi
Je ne veux pas utiliser de raccourci clavier pour exécuter le script.