Connaissez-vous ce redoutable outil multiplateforme libre et gratuit pour utilisateurs intensifs qu'est CopyQ ? Si ce n'est pas le cas, je vous recommande de lire cette présentation et de vous renseigner sur son site officiel voir de lire sa documentation en anglais.
Avec la multiplicité des réseaux sociaux et sites web en tout genre qui nous obligent souvent à crossposter pour informer un maximum de personnes, sans toujours disposer des applications qui permettent de le faire automatiquement ou que celles-ci soient compatibles avec l'ensemble des plateformes, mais aussi à cause des messages plus ou moins identiques que l'on doit mettre en ligne régulièrement, les copier-coller se font fréquents même pour des personnes qui ne développent pas.
Ainsi avec CopyQ outre la praticité d'avoir un historique de ce que l'on place dans le presse-papier, de pouvoir y revenir à loisir et donc de s'en servir de prise de notes (images, texte, html, etc.) en classifiant ces données par onglets, étiquettes ou encore en les annotant (le logiciel intègre un moteur de recherche : essentiel lorsque le volume de l'historique devient trop important), on peut aussi modifier le contenu de la base de données ainsi produite à loisir (contenu et mise en forme).
Double cliquer pour coller dans une zone de saisie (formulaire web, traitement de texte, etc.) devient alors un plaisir. De même que la fusion / concaténation des éléments avec la touche entrée (un indispensable de plus lorsque l'on cite plusieurs passages d'un article).
Mais en revanche attention à la limite actuelle des 10.000 entrées par onglet de l'historique dont Ditto, utilitaire du même type (pour Microsoft Windows uniquement) ne souffre pas.
Je vous recommande de l'utiliser en complément d'extensions pour Firefox comme Copy URL to clipboard ou Clippings (réclame toutefois trop de droits à mon goût)
La cerise sur le gâteau vient du fait que le logiciel est hautement personnalisable et surtout automatisable. Là ou l'utilisateur de base fera généralement appel à l'interface graphique (accessible par une icône ou un raccourci clavier, on peut d'ailleurs associer à quasiment chaque fonction du logiciel un raccourci clavier), l'administrateur système devrait logiquement lui l'exploiter en ligne de commande (fort pratique dans un script externe) quand enfin l'expert du logiciel se créera des commandes automatisées pouvant être appelées par un menu, un raccourci clavier ou immédiatement dès qu'un contenu est placé dans le presse papier.
Afin d'illustrer cette dernière possibilité, je vous recommande de lire cette page pleine d'exemples ainsi que de prendre connaissance des commandes que j'ai moi-même modestement crééés ; elles restent très simples et sont commentées en français :
Plus besoin donc de saisir manuellement l'instruction dans un terminal, il suffira de la coller. Optionnellement on pourra créer la commande équivalente pour you-get par la sélection d'un élément différent dans une liste déroulante
Automatiquement avec l'expression régulière : ^https?://youtube.com
copyq:
var text = str(clipboard())
if (text) {
var command = dialog('.defaultChoice', 'Youtube-dl', 'Select', ['You-get', 'Youtube-dl'])
switch (command) {
case 'Youtube-dl':
text = "youtube-dl " + text
break;
case 'You-get':
text = 'you-get " + text
break;
default:
}
copy(text)
}
Si comme moi vous jonglez entre des applications dont le contenu peut être enrichi de mots clés mais que leur format diffère (sur le web le hashtag règne mais ce n'est pas partout le cas) une telle "macro" peut vous faire gagner beaucoup de temps. Exemple type : Vous ajoutez dans SemanticScuttle un marque-page, dont les mots clés sont séparés par des virgules et vous effectuez la conversion en hashtags par un raccourci clavier global au système
Raccourci global : META (touche Windows) + ALT + R
Mais vous pouvez le définir selon vos préférences...
copyq:
function copy2() {
try {
var x = config('copy_clipboard')
config('copy_clipboard', false)
try {
copy.apply(this, arguments)
} finally {
config('copy_clipboard', x)
}
} catch(e) {
copy.apply(this, arguments)
}
}
copy2()
var text = str(clipboard())
if (text) {
var txt = \", \"
var repl = \",\"
text.replace(txt, repl)
var mots = text.split(',');
var phrase = ''
for(var i=0; i < mots.length; i++)
{
mots[i] = \"#\" + mots[i].trim()
phrase = phrase + mots[i] + \" \"
}
copy2(phrase)
// optionnellement pour coller directement dans une zone de saisie :
// paste()
}