blog · git · desktop · images · contact & privacy · gopher


s/urlview/&2

urlview ist ein kleines, praktisches Programm, das vermutlich jeder mutt-Nutzer verwendet. Man kann ihm einen Datenstrom auf STDIN zuwerfen, es sammelt alle Links darin und bietet dem User danach ein einfache Liste mit curses an, aus der er einen Link auswählen kann. Nach der Auswahl wird dann in der Regel der Browser gestartet.

Meine Probleme mit dem Tool: Erstens ist es „bloated“ durch die Autotools. Um es zu kompilieren, muss ich aus dem AUR erst noch automake-1.11 nachinstallieren. Muss das wirklich sein? So komplex ist das Tool jetzt nicht, dass es den ganzen Autotools-Overhead benötigen würde.

Zweitens hätte ich eigentlich gerne die Auswahlfunktionalität in einem eigenständigen Programm. Das hätte ich schon ein paar Mal gebrauchen können: Ein kleines Tool, das Zeilen von STDIN liest und mich dann interaktiv auswählen lässt. Ich habe sowas zwar in Form von pick schon (siehe frühere Postings), aber pick ist mir für eine schnelle Auswahl zu umständlich – wenn ich aus mutt heraus einen Link öffnen will, dann will ich nur Enter drücken müssen. Dafür verzichte ich dann auch gerne auf die Mächtigkeit von regulären Ausdrücken bei der Auswahl.

Enter choose. Ein kurzes Python-Skript, das genau die obige Aufgabe löst. Die Auswahlfunktionalität ist minimal mächtiger als die von urlview, weil choose auch Mehrfachauswahl kann.

Mit choose geht dann eben sowas wie „find | choose - | xargs -Ia rm a“. Und man kann darauf aufbauend auch den Rest des ursprünglichen urlview nachbauen, als Filter für die URLs kann auch grep dienen. Zack, schon sind wir bei urlview2.

Screenshot