
 sel 0.08
 ========
 
Einführung
----------

"sel" ist ein tool zur komfortablen Auswahl einer Datei oder eines
Verzeichnisses für die Linux-Konsole. Beim Aufruf wird ein Befehl an
sel übergeben, der dann für die ausgewählte Datei ausgeführt wird. sel
eignet sich besonders für den Einsatz in shell-scripts und hier insbesondere
als Ergänzung für das Programm "dialog". Im Programmarchiv ist ein Beispiel-
script enthalten, das die Zusammenarbeit von sel mit dialog demonstriert
(sample).

Anwendung
---------

Die Kommandozeilenparameter und Tastaturkommandos sind in der man-page
aufgeführt (man sel), deshalb hier einige Beispiele:

  ------------------------------------------------------------------------

  Alle man-pages in /usr/local/man/man1 auflisten. Bei Return wird die
  markierte man-page auf dem Bildschirm angezeigt. Nach Lesen der man-page
  kann die nächste Datei ausgewählt werden.

                sel -d /usr/local/man/man1/ -c less

  Mit dem Argument -d wird das Zielverzeichnis angegeben, und mit -c
  wird der auszuführende Befehl übergeben. Weil dieser Befehl in diesem
  Fall nur aus einem Wort besteht (less), kann in diesem Beispiel auf den
  Einsatz von Anführungszeichen verzichtet werden. In dieser Form wird
  der Dateiname der ausgewählten Datei an den Befehl angehängt, wobei ein
  Leerzeichen angehängt wird. Die gleiche Wirkung hätte auch -c "less %",
  das % wird durch den Dateinamen ersetzt. Das ist in allen Fällen nötig,
  in denen der Befehl nach dem Dateinamen noch fortgesetzt wird, wie im
  nächsten Beispiel.

  ------------------------------------------------------------------------

  Alle c-Source-files im aktuellen Verzeichnis auflisten. Bei Return wird
  eine Sicherheitskopie des ausgewählten files hergestellt.

        sel -b "Sicherheitskopie" -c "cp % %.sik -v" -m "*.c" -a -w

  Durch den Einsatz von -b wird der Text "Sicherheitskopie" übergeben und
  in der Titelzeile des Programms dargestellt. Der Befehl enthält zweimal
  den Platzhalter %, der in beiden Fällen durch den Dateinamen ersetzt
  wird. Die Anführungszeichen sind in diesem Fall notwendig, weil der
  Befehl aus mehr als einem Wort besteht! Durch den Einsatz von -m teilen
  wir sel mit, daß wir nur Dateien in der Liste haben wollen, die auf .c
  enden. -a bewirkt, daß sel vor der Ausführung des Befehls nocheinmal
  anzeigt was es zu tun gedenkt, und durch -w wartet das Programm nach
  Ausführen des externen Befehls noch auf einen Tastendruck.

  ------------------------------------------------------------------------

  Alle dotfiles (.*) im Homeverzeichnis zum Editieren mit vi anbieten;
  nach Bearbeitung einer Datei soll sel verlassen werden

  sel -b "Welche Datei öffnen?" -d ~ -m ".*" -c "vi" -q -a

  ------------------------------------------------------------------------

  sel soll derart mit dem "dialog"-utility zusammenarbeiten, dass der
  ausgewählte Dateiname in eine temporäre Datei geschrieben wird.

  tmpfile=/tmp/test.$$
  ./sel -b "Select file, please" -f -q -c "echo % >"$tmpfile

  Oder, nicht ganz so elegant:

  ./sel -b "Select file, please" -f -q -c "echo % > tmpfile"

FAQ
---

F: sel zeigt keine Farben an, obwohl die termios-Bibliothek installiert ist.
A: Das Problem hatte ich auch. Ich hatte eine termios-Bibliothek in
   /usr/lib/terminfo installiert. Die terminfo-Daten, die mit der ncurses-
   distribution mitgeliefert wird, ist für den Betrieb von ncurses jedoch
   absolut ausreichend. Bei mir funktionierte die Farbdarstellung, nachdem
   ich die zusätzlichen terminfo-Dateien in /usr/lib/terminfo deinstalliert
   hatte.

F: Wie kann man die dauerhaft Farben ändern?
A: Durch Anpassen der Zeilen 24-31 in sel.h und neucompilierung und
   -installation des Programms. Die Syntax dürfte eigentlich selbsterklärend
   sein, einfach immer "COLOR_" und der Name der Farbe in Englischer Sprache.
   Der einfachere Weg ist es, die Farben über die Kommandozeile anzupassen.
   Hilfe hierzu liefert "sel -h | less".

Lizenz
------

sel wird unter der 'General Public License' (GPL) bereitgestellt, die dem
Programmpaket beiliegt (File LICENSE).

Autor
-----

Thomas Kluge
eMail: thomas@darkstar.rhein-neckar.de
www:   http://www.rhein-neckar.de/~darkstar/

Feedback...
-----------

...ist jederzeit willkommen und erwünscht, ebenso Verbesserungsvorschläge
und Bug-Reports.

