Category Archives: General

gli scrinsciot: parto di uno scriptino

Un compare posta screenshot in continuazione, e io rosico perche’ e’ veloce, che fico, pure io pure io.Si e’ fatto uno script che preme un tasto, seleziona il rettangolo, e via, questo uppa e gli mette l’url nella clipboard.

Pero’ il copia incolla non si puo’ fare, che lui usa dropbox e io no. Io voglio un coso senza login.

Trovo imgurbash, che prende un’immagine la mette su imgur e poi mette in clipboard. Fa proprio per me.
Faccio le prime prove, va.
decido di mettere dentro uno script, che “loggasse” l’output in modo da avere a disposizione, nel futuro, il link della delete.
Non va piu’. Cioe’ non copia dentro la clipboard, il resto va.
quello script, scritto coi piedi, si intende, non funziona se lo lanci da un altro script. Fichissimo.

vabbe’, ne cerco un altro. Uno e’ scritto in haskell, uno in ruby. Gli altri hanno addirittura delle directory e un readme nel repository, non voglio nemmeno sapere come sono scritti, stanno evidentemente sbagliando. In fondo imgurbash era proprio bellino, nonostante xsel non funzioni affatto.

Vabbe’, nel mio script reimplemento il codice intorno a xsel, cosi’ va tutto. Cioe’ chiama imgurbash, che uppa e poi fa una xsel che non funziona, quindi richiama xsel per farlo funzionare davvero. Elegante eh?

Ora lo metto dentro xbindkeys. Non va.

E gia’, perche’ scrot pare si rifiuti di funzionare se chiamato da xbindkeys. E’ un problema noto.

E allora passiamo a import, suite imagemagick. Sto import pare pure meglio, perche’ se clicchi fa tutta la finestra, e se trascini fai il rettangolo. Bellissimo.
Pero’ con scrot se premi esc quello si chiude, invece import no. E non ci sono tasti che tengano, ctrl+c, tasti destri, sinistri, incrociati.Se premi il tasto sbagliato davanti a cose riservate e’ giusto che il mondo lo sappia.

E allora andiamo di pkill, che ce frega. Cioe’ lo script all’avvio controlla se c’e’ gia’ un import attivo e lo killa. Quindi per chiudere import, basta lanciare due volte il tool.

Va che risultati

#!/usr/bin/env bash

if pkill -x import --uid $UID; then
    exit 0
fi

filename="/tmp/$(date '+%F-%R:%S').jpg"
import -quality 90 -silent "$filename"
[ -f $filename ] || exit 1
url=$(imgurbash "$filename")
[ $? -eq 0 ] || exit 1
xsel --clear -b
echo -n "$url" | xsel -b
tee -a ~/.imgur.log <<<$url > /dev/null
notify-send -u low "imgur" "$url"
exit 0

Ora, sto scriptino fa mezzo schifo, anche se e’ fico avere roba del genere.

Ma e’ la classica serata che parte con uno oneliner da 2 minuti e finisce con bestemmie, scoperte di comandi esoterici e ingarbugliamenti.

Che fatica essere maniaci.