Clipit: copier tout le presse-papiers

Créé le 16 févr. 2012  ·  8Commentaires  ·  Source: CristianHenzel/ClipIt

une bonne fonctionnalité qui manque est une option pour copier tout le presse-papiers, toutes les lignes, car le fichier historique n'est pas très utilisable sans un programme pour l'analyser (vous avez peut-être un script pour supprimer les caractères supplémentaires et analyser le fichier)
je vois bien une nouvelle touche ctrl alt + qui copie toutes les lignes dans une nouvelle ligne. il empêche l'utilisation du fichier historique.

Commentaire le plus utile

Avoir un accès facile à l'historique est très utile. Voici un utilitaire que j'ai écrit en Python. Cela fonctionne sur Ubuntu. Sur d'autres systèmes, l'emplacement du fichier historique peut être différent.

#!/usr/bin/env python
"""cliphist.py: utility to print clipit history file.
If an argument is passed on the command line, it will
be used as a separator, otherwise history items are
separated by a blank line. """

import struct, os, sys

homedir  = os.environ['HOME']
histfile = homedir + '/.local/share/clipit/history'
if len(sys.argv) > 1:
    sep = sys.argv[1]
else:
    sep = ''


with open(histfile,'rb') as f:
    f.read(68)
    size,_ = struct.unpack('2i',f.read(8))
    while (size > 0):
        item = f.read(size)
        print item
        _,_,_,size,_ = struct.unpack('5i',f.read(20))
        if size > 0: 
            print sep

Tous les 8 commentaires

Bonjour,

pourriez-vous s'il vous plaît développer l'idée? Je ne suis pas vraiment sûr de ce que vous voulez dire, vous pourriez peut-être aussi donner un exemple de ce que _exactement_ vous voulez / devez faire, afin que je puisse mieux comprendre votre cas d'utilisation.

Bonjour ,
j'aimerais avoir une option pour copier tout le fichier historique. cela peut être utile si je sélectionne de nombreux blocs de texte à copier dans clipit et que je souhaite traiter les copies par la suite.
Et le fichier historique n'est pas facile à utiliser pour ça.
Je vois donc bien une option qui copie tout le fichier historique (puis toutes les lignes) dans une nouvelle ligne. on peut après coller cette ligne (nouvelle copie) et récupérer tout le fichier historique (puis toutes les copies précédentes). un raccourci clavier pour cela sera encore mieux.

Cette idée correspond aussi à ma réflexion. J'apprécierais beaucoup cette fonction que j'appelle les goûts multiples. Ce serait bien de pouvoir copier plus d'une entrée et enfin, je préfère que le résultat de sortie soit au format suivant :

coller 1
ligne vide
coller 2
ligne vide
etc.

C'est vraiment utile quand je lis des livres et essaie de saisir les lignes importantes ! Est-ce possible de faire ?

C'est aussi une fonctionnalité qui me manque assez souvent.

Avoir un accès facile à l'historique est très utile. Voici un utilitaire que j'ai écrit en Python. Cela fonctionne sur Ubuntu. Sur d'autres systèmes, l'emplacement du fichier historique peut être différent.

#!/usr/bin/env python
"""cliphist.py: utility to print clipit history file.
If an argument is passed on the command line, it will
be used as a separator, otherwise history items are
separated by a blank line. """

import struct, os, sys

homedir  = os.environ['HOME']
histfile = homedir + '/.local/share/clipit/history'
if len(sys.argv) > 1:
    sep = sys.argv[1]
else:
    sep = ''


with open(histfile,'rb') as f:
    f.read(68)
    size,_ = struct.unpack('2i',f.read(8))
    while (size > 0):
        item = f.read(size)
        print item
        _,_,_,size,_ = struct.unpack('5i',f.read(20))
        if size > 0: 
            print sep

Cool, je l'ai fait fonctionner en ligne de commande. Comment puis-je l'utiliser pour coller directement dans un programme en cours d'exécution ?

Si je vous comprends bien, vous pouvez diriger la sortie de cliphist.py dans la commande clipit (pour en faire une seule entrée d'historique), puis la coller comme d'habitude dans l'autre programme.

$ cliphist.py | clipit

@davidsands beau script

je l'ajoute dans mon bashrc :
alias clipit.history='python2 /home/emmanuelux/scripts/cliphist.py'
alias clipit.history.copy='clipit.history | clip

Cette page vous a été utile?
0 / 5 - 0 notes