Pillole: Interfacciamoci con Klipper

  • Pillole: Interfacciamoci con Klipper

    [19/06/2007]

    Uno script per la clipboard

    Sono konsole-dipendente, faccio tutto quel che riesco da linea di comando, fare copia/incolla da terminale verso il lettore di posta (per esempio) mi ha sempre annoiato un po'. Uso KDE. Perché non approfittare dell'interfaccia DCOP delle applicazioni (klipper)?

    Le applicazioni scritte per interfacciarsi con DCOP forniscono una serie di funzioni per prendere o impostare valori, stato delle applicazioni ecc.
    Nel caso di klipper, l'applicazione per gestire la clipboard all'interno di una sessione KDE, ci sono funzioni DCOP per impostare o prendere il valore della clipboard, cancellarne il contenuto, eccetera.
    Mi sono inventato questo piccolo script:

    $ cat $HOME/bin/f2clip
    #!/bin/bash
    if [ $# -lt 1 ] ; then
            # nessun file specificato: prendo da stdin così posso passare i dati via pipe:
            # es:
            #  $ ./comando | f2clip
            dcop klipper klipper setClipboardContents "$(cat /dev/stdin)"
    else
            # file specificato/i: faccio un `cat` di tutto e inserisco nella clipboard
            # es:
            #  $ ./comando | f2clip
            dcop klipper klipper setClipboardContents "$(cat $@)"
    fi
    

    Come lo utilizzo?

    Copio nella clipboard il contenuto di uno o più files:

    $ f2clip file1.txt file2.txt ...
    

    Oppure l'output di un comando:

    $ comando | f2clip
    

    Quali altre funzioni mi dà klipper?

    $ dcop klipper klipper
    QCStringList interfaces()
    QCStringList functions()
    QString getClipboardContents()
    void setClipboardContents(QString s)
    void clearClipboardContents()
    void clearClipboardHistory()
    QStringList getClipboardHistoryMenu()
    QString getClipboardHistoryItem(int i)
    int newInstance()
    void quitProcess()
    

    Buon dcop-scripting!


    Categoria: Linux - Autore: ludovico - Inserisci Commento