Zugehörige Blogposts

slinp

Toolchest, um Vorträge mit PDF-Slides zu halten.

slinp ist der „kleine Bruder“ von pdfpres gewesen und hat dieses dann abgelöst. Die Zeichenkette „slinp“ steht der Tradition rekursiver Akronyme folgend für „slinp is not pdfpres“. Oder „slick and neat presentations“, wenn das als simple Abkürzung jemandem besser gefallen sollte.

slinp ist kein „fertiges“ Programm, sondern eine Sammlung von zusammenarbeitenden Tools. Die Programme sind minimalistisch und orientieren sich an der Unix-Philosophie. Das vereinfacht mir die Wartbarkeit enorm. Einfachheit steht im Vordergrund.

Folgende Tools sind im Moment in slinp enthalten:

Diese Einfachheit äußert sich zum Beispiel darin, dass sich slinp nicht um die Anordnung der vielen Fenster kümmert. Das ist Aufgabe des Window Managers. Ein flexibler WM wie dwm oder Awesome kann leicht entsprechend angepasst werden. (slinp liegen Beispiele bei, wie das gemacht werden könnte. Auch für Floating WMs gibt es ein Beispiel. Diese Dinge sollen aber nur Anreize und Ideen geben und werden nicht gewartet oder weiterentwickelt.)

Der User wird also ermutigt, die vorhandenen Tools eigenständig dergestalt zu kombinieren, dass eine für ihn passende Anwendung entsteht. Damit richtet sich slinp an erfahrene(re) Linux- und BSD-User, die auch gerne mal basteln. (Die BSDs unterstütze ich nicht offiziell, aber „es sollte laufen“.)

Als ein mögliches Beispiel, wie man die Tools verknüpfen könnte, ist prescontrol in slinp enthalten. Es realisiert die ursprüngliche Kernfunktionalität von pdfpres und erfüllt damit meine eigenen Anforderungen an ein Präsentationstool:

Dabei entsteht folgendes Bild:

+---------------+ +--------------+ +--------------+   +-------------+
|    showpdf    | |   showpdf    | |   showpdf    |   |   showpdf   |
| (prev. slide) | | (cur. slide) | | (next slide) |   | (projector) |
+---------------+ +--------------+ +--------------+   +-------------+
        ^                ^                ^                  ^
        |                |                |                  |
        |                +---+            |                  |
        |                    |            |                  |
        +------------------+ | +----------+                  |
                           | | |                             |
                           | | | +---------------------------+
                           | | | |
 +------------+        +-------------+        +-----------------+
 | slidenotes | <----> | prescontrol | -----> |    stopclock    |
 +------------+        +-------------+        | (timer + clock) |
                          ^  |  ^             +-----------------+
 +---------+              |  |  |
 | pdfinfo | <------------+  |  |
 +---------+                 |  |
                             v  |
                           ========
                             USER
                           ========

Jeder Kasten ist ein eigenständiger Prozess. prescontrol ist hierbei die zentrale Komponente, läuft in einem Terminal und steuert alle anderen Programme über gewöhnliche Pipes. Die Nutzerinteraktion erfolgt auch fast ausschließlich über prescontrol. Die anderen Programme erfüllen jeweils nur eine Aufgabe. pdfinfo stammt aus dem poppler-Paket und wird benutzt, um Metadaten aus den PDF-Dateien auszulesen.

Trotzdem: prescontrol ist nur eine mögliche Verwendung der slinp-Tools. Der Benutzer kann selbst entscheiden, wie er die Programme kombinieren möchte.

Mehr Details gibt es in der README und in den Manpages der einzelnen Programme.

Das PKGBUILD im AUR muss mit etwas Vorsicht genossen werden (ähnlich wie das von dwm). Es ist sehr wahrscheinlich, dass du nicht mit der „vanilla“-Version von slinp zufrieden bist und selbst Anpassungen vornehmen musst. Das PKGBUILD ist daher vielmehr als Vorlage zu verstehen.

Links

Screenshots