Virtual OS/2 International Consumer Education
VOICE-Homepage: http://de.os2voice.org
April 2005

Inhaltsverzeichnis
< Vorherige Seite | Nächste Seite >
Artikelverzeichnis

editor@os2voice.org


ClipView 2.9

Von Keith Merrington © April 2005, Übersetzung: Jürgen Gaida

Auf der Warpstock Europe habe ich an vielen Präsentationen teilgenommen, die alle interessant waren, aber ein Programm, das ich sah, weckte mein Interesse aufgrund seiner Effizienz: ClipView. Hinter diesem Programm steckt eine einfache Idee, wie das oft bei guten Ideen ist, nämlich mehrfache Textzwischenablagen. Sie mögen fragen, ob ich mehr als eine Zwischenablage brauche. Eine gute Frage. Nun, ich weiß, daß ich das brauche. Waren Sie jemals in der Verlegenheit, einen Eintrag von einem Platz an einen anderen zu kopieren und dann einen zweiten, nur um den ersten noch einmal zu kopieren? Wollten Sie jemals irgendeinen Standardtext, den Sie häufig einsetzen, wie Ihre E-Mailadresse, einfügen, anstatt ihn jedesmal wieder einzutippen? Wenn ja, lesen Sie weiter, wenn nicht, lesen Sie es trotzdem, es könnte ja irgendetwas für Sie dabei sein; man weiß ja nie.

Also, was ist ClipView? ClipView ist ein Programm, das bis zu 21 verschiedene Zwischenablagen zur Verfügung stellt, zum Speichern und Wiederherstellen von Text und zwar ausschließlich Text. Das bedeutet reiner Text, ohne jede Formatierung, wie Fettdruck, Kursiv, Schriftarten und Farben. Nicht nur, daß man Text in jeder Zwischenablage ablegen kann, man kann sogar die Daten über den Systemabschluß und Neustart hinaus beibehalten, was dieses Programm extrem nützlich macht.

Das Programm erhält man als Zip-Datei, die entpackt in einen Ordner ungefähr so aussehen wird wie nachstehend dargestellt.


Bild 1 - ClipView 2.90 Ordnerinhalt

Da es keine eigentliche Installationsroutine gibt, ergänzen Sie den PATH-Eintrag um das Verzeichnis, oder Sie legen die Dateien in einem entsprechenden Verzeichnis ab, das bereits im PATH-Eintrag verzeichnet ist. Festzuhalten wäre noch, daß Sie, wenn Sie Warp einsetzen, die EMX runtime DLLs benötigen, damit die Programme ausgeführt werden können. Wenn Sie jedoch eCS einsetzen, sind die EMX-Routinen bereits installiert. Das erstemal per Doppelklick auf das Symbol ClipView.exe gestartet, sehen Sie ein unscheinbares Etwas wie in Bild 2 gezeigt.


Bild 2 - ClipView Hauptprogramm

Jeder Text, der schon in der Zwischenablage ist, wird angezeigt, wie auch alle anderen Daten, die nun kopiert werden. Mit einem Klick der rechten Maustaste oder über den Menüeintrag Clips können Sie Zwischenablagezeilen [Clip-Zeilen] hinzufügen oder löschen, eine oder bis zu 21 Zeilen maximal. Nach Angaben des Autors wurde die maximale Zeilenanzahl von 21 ausgewählt, da dies einen Bildschirm von in einer Auflösung von 800x600 Punkten ausfüllt, so daß es keinen Sinn machte, mehr Zeilen zuzulassen. Im Normalfall wächst ClipView von unten nach oben, wenn Clip-Zeilen hinzufügt werden, was nicht gerade dem erwarteten Verhalten entspricht. Nun, eine der Nettigkeiten des Programms ist, daß, wenn man eine Clip-Zeile hinzufügt, die Fenstertitelzeile bis an die obere Bildschirmkante reicht und dann der Rahmen nach unten erweitert wird, sodaß ClipView vollständig auf dem Bildschirm sichtbar bleibt.

Text, der in eine Zwischenablage geht, geht also automatisch in die erste Clip-Zeile von ClipView, die dann zur aktuellen Clip-Zeile wird. Nachdem die Daten abgelegt worden sind, wird die aktuelle Clip-Zeile durch das >-Symbol auf dem ersten Druckknopf der entsprechenden Clip-Zeile angezeigt. Wenn Sie nun in einem Programm "Einfügen" auswählen, erhalten Sie nur die Daten aus der aktuellen Clip-Zeile. Jede Clip-Zeile, ausgenommen eine Leerzeile, kann als aktuelle Clip-Zeile ausgewählt werden. Klicken Sie mit der linken Maustaste auf den ersten Druckknopf und die Zeile ist ausgewählt. Wenn alle Clip-Zeilen gefüllt sind, wird die älteste Clip-Zeile überschrieben, es sei denn, Sie sperren diese Clip-Zeile. In diesem Fall wird eine FIFO-Pufferung verwendet. Im Normalfall, wenn alle Clip-Zeilen leer sind, werden die Clip-Zeilen von oben nach unten in einer Art Rotationsprinzip aufgefüllt. Nachdem mehr und mehr Zeilen eingefügt wurden, wird die älteste Clip-Zeile direkt unter der aktuellen Clip-Zeile ankommen. Wird jedoch der Zeileninhalt bearbeitet, ändert sich der Zeitstempel und die schöne Ordnung ist dahin. Wenn die Daten der neuen Zeile mit den Daten einer bestehenden Clip-Zeile übereinstimmen, wird nur der Zeitstempel aktualisiert, was bedeutet, daß diese Clip-Zeile ersetzt wird und nicht die älteste Clip-Zeile. Damit werden die verfügbaren Clip-Zeilen bestmöglich genutzt. Außer die Anzeige der aktuellen Clip-Zeile hat sich augenscheinlich erst einmal nichts geändert. Heißt, daß nach einer Weile die Clip-Zeile, in die die neue Zeile eingefügt werden soll, eher wie zufällig ausgewählt erscheint, aber es unterliegt alles dem FIFO-Prinzip!

Durch einen Klick mir der linken Maustaste auf den zweiten Druckknopf der entsprechenden Clip-Zeile läßt sich wiederum jede beliebige Clip-Zeile sperren und entsperren. Das Vorhängeschloßsymbol des Knopfes ändert sich dann von zum Verschlossen-Symbol und die Hintergrundfarbe der Clip-Zeile ändert sich von weiß in grau. Diese Clip-Zeile wird nun von allen Aktualisierungen ausgeschlossen. Sollten Sie wie erwartet versuchen, alle verfügbaren Clip-Zeilen zu sperren, erhalten Sie eine Fehlermeldung, da ansonsten keine Möglichkeit zur Nutzung der Zwischenablage gegeben wäre.

Eine Clip-Zeile kann manchmal sehr lang sein und aus mehreren Zeilen bestehen. Mehrzeilige Einträge kann man sich leicht mittels der vertikalen Blättern-Knöpfe zur rechten Seite jeder Clip-Zeile anschauen. Ist es jedoch eine sehr lange Zeile, reicht ein Klick irgendwo in diese Zeile, um sich mit den Cursortasten vorwärts, rückwärts, auf und ab in der Zeile zu bewegen. Aufgrund eines Fehlers im Präsentation Manager kann man bei Auflösungen über 800x600 Punkten den Cursor auch außerhalb der Fensterfläche bewegen. Bewegt man den Cursor dann zurück, wird der Text wieder repositioniert und der Cursor ist wieder sichtbar. Auf gleichem Wege läßt sich eine Clip-Zeile an Ort und Stelle bearbeiten. Sind die Einträge sehr lang oder erstrecken sie sich über mehr als zwei Zeilen, ist es unter Umständen handlicher, diese mit einem Editor zu betrachten. Dies läßt sich dadurch auslösen, indem man mit der rechten Maustaste das Kontextmenü für die betreffende Zeile aufruft und dort Edit Clip aus dem Menü auswählt oder, noch einfacher, durch einen Doppelklick in die Clip-Zeile. Der Standardeditor "E" unter Warp und "AE" unter eCS oder derjenige Editor der in der Umgebungsvariablen EDITOR eingetragen ist, wird gestartet und wird den markierten Eintrag anzeigen. Die Hintergrundfarbe der fraglichen Clip-Zeile wechselt zu grau, als Indiz dafür, daß die Zeile gerade bearbeitet wird und der Zeitstempel wird aktualisiert, damit sichergestellt ist, daß automatisch aktualisiert wird. Werden aus dem Editor heraus weitere "Kopieren und Einfügen"-Vorgänge ausgeführt, werden diese Inhalte in die nächsten verfügbaren Zeilen eingefügt. Dadurch wird das Anlegen einer Untermenge eines Ausschnitts in einem neuen Ausschnitt kinderleicht. Sollten Sie versuchen ClipView zu beenden, während der Editor noch geöffnet ist, wird eine Warnmeldung angezeigt.

An dieser Stelle sei festgehalten, daß der "AE"-Editor nur maximal 65.534 Zeichen kopieren kann, obwohl er viel größere Dateien bearbeiten kann, und daher am Ende nichts kopiert wird, wenn Sie versuchen mehr als dies zu kopieren.


Bild 3 - Gesperrte Clip-Zeilen

Da es möglich ist, Daten mit ClipView über den Systemabschluß hinaus zu speichern, oder auch während der Ausführung durch Drücken der [F2]-Taste (dieselbe Funktionstaste wie auch in EPM oder AE), lassen sich häufig genutzte Angaben, wie die E-Mailadresse, ein Anmeldename, eine URL, die Pfadangabe zu Ihrem Downloadverzeichnis oder was immer Sie wollen, leicht in jedwedes Dokument einfügen.

Wollen Sie dauernd viele Standarddaten verfügbar halten und auch speichern, und darüber hinaus viele Zwischenablagezeilen haben, dann können Sie mehrere Kopien von ClipView laufen lassen. Um dies zu ermöglichen, hat der Autor die Möglichkeit eröffnet, verschiedene Pfade und Dateinamen für die zu sichernden Dateien anzugeben, sodaß jede ClipView-Instanz ihre eigene Datei haben kann. Darüber hinaus kann man das Hineinkopieren in ClipView abschalten, wodurch Ihre "Standarddaten" in einem ClipView liegen und neue Daten ausschließlich in eine andere Instanz gehen. Der Autor hat sogar noch eine weitere hilfreiche Funktion eingebaut. Wählt man eine Clip-Zeile in einer der ClipView-Instanzen, wird er >-Indikator entweder in beiden ClipViews angezeigt, sofern die Inhalte gleich sind (wenn Sie zum Beispiel in einer ClipView-Kopie, in die keine neuen Daten eingefügt werden können, eine Zeile auswählen und diese in der anderen ClipView-Kopie als neue Zeile einfügen wollen) oder nur in einer ClipView-Kopie, die dann auch aktualisiert werden kann. So wissen Sie auf einen Blick, welchen Eintrag Sie gerade ausgewählt haben.

Diese Option können Sie, wie die nächste Option, entweder über Startparameter oder das Optionsmenü aktivieren. Wenn Sie sich Bild 3 sehr genau ansehen, könnten Sie zu dem Schluß kommen, daß Sie jede einzelne Clip-Zeile formatieren können. Tatsächlich ist der einzige Unterschied, daß verschiedene Anzeigeschriftarten von der Schriftartenpalette in die verschiedenen Clip-Zeilen gezogen wurden. Genauso läßt sich mit der Farbpalette verfahren, wenn man die Hintergrundfarbe ändern möchte. Dies ist jedoch von geringer Bedeutung für die Praxis, da in dem Moment, in dem die Sperrfunktion aktiviert wird, die Farbauswahl zurückgesetzt wird. Die "Sichern beim Verlassen"-Funktion ist in der Grundeinstellung nicht aktiviert, kann aber durch den Startparameter -a (autosave) oder über das Aufklappmenü Options eingestellt werden.

Optionen


Bild 4 - Optionen

Im Optionenmenü können Sie sofort den Status der verschiedenen Optionen sehen und ändern. Die meisten der Optionen sind selbsterklärend. Einige dieser Optionen können zum Programmstart gesetzt werden, indem sie als Startparameter übergeben werden. Festzuhalten ist, daß diese Parameter ausschließlich durch das - (Minuszeichen) angegeben werden können. Die Startoptionen sind:

-o
Immer im Vordergrund
-h min
Inaktivitätszeitraum in Minuten bevor ClipView minimiert wird. Standard ist 1 Minute. Wird dieser Parameter ausgewählt, wird das automatische Minimieren aktiviert.
-c
Erzeugen von URL-Objekten
-e
Bearbeiten macht die Zeile zur aktuellen Zeile
-a
Speichert alle Einträge und Fensterpositionen bei Programmende
-u
Einfügen in die Zwischenablage bringt ClipView in den Vordergrund
-U
Verzeichnis in welchem die URL-Objekte abgelegt werden (Standard ist die Arbeitsoberfläche)
-f
Dateiname in welcher die Einträge gespeichert werden (Standard ist .clipsave)
-m
minimiert starten
-p
Pfad zur .clipsave-Datei
-s
Die (originale) Zwischenablage wird beim Start nicht hineinkopiert
-w
Zeilenumbruch nach "w" Zeichen. Standard sind 72 Zeichen

Die "autosave"-Option speichert sowohl den Inhalt jeder Clip-Zeile und die aktuelle Position von ClipView, aber keine der ausgewählten Optionen. Sollten Sie also gewisse Wünsche haben, mit welchen Optionen ClipView abweichend von den Voreinstellungen laufen soll, werden Sie die entsprechenden Startoptionen in den Eigenschaften von clipview.exe eintragen müssen.

Damit läßt sich recht einfach einrichten, daß sich ClipView so verhält, wie Sie es wollen. Ich mag außerdem die URL-Funktion, die mir erlaubt, alle URLs denen ich begegne, auf der Arbeitsoberfläche oder an einem bestimmten Ort abzulegen, unter Anwendung der "Kopieren und Sichern"-Methode, indem man mit gedrückter linker Maustaste markiert und dann einmal mit der rechten Maustaste klickt. Das ist manchmal gegenüber der Lesezeichen-Ablegen-Funktion zu bevorzugen und außerdem sehr schnell. Eine andere handliche Funktion ist die Anfügeoption. Klickt man mit der rechten Maustaste auf den Clip-Zeilen-Auswahlknopf (wodurch sich das Indikatorzeichen von > in + ändert) gehen alle kopierten Daten in die gleiche Zwischenablage. Schauen Sie sich also gerade eine Internetseite an, so können Sie genau die interessanten Dinge von der Seite herunterkopieren, die Sie brauchen. Also anstatt des gewöhnlichen Kopierens, Wechseln zum Editor, Einfügen, wieder zurück zu Mozilla wechseln, Kopieren auswählen und so weiter, versetzte ich ClipView in den Anfügemodus und dann ist es nur noch Auswählen, Kopieren, Auswählen, Kopieren, bis ich alles habe was ich so brauche. Nachher setze ich entweder die "Speichere Ausschnitt"-Funktion von ClipView ein oder nehme meinen Editor, füge alle Daten ein und speichere das Ganze in einer Datei. Nun kann dies zu einigen sehr langen Zeilen führen, da die Zeilenformatierung vom Webbrowser vorgenommen wird, und nicht vom Editor. Dies kann man leicht mit einer anderen netten Funktionalität beheben, die mit ClipView Version 2.9 eingeführt wurde, nämlich die automatische Zeilenumbruchfunktion. Klicke ich mit der rechten Maustaste in die betreffende Zeile, erhalte ich ein Kontextmenü, in dem ich den Zeilenumbruch nach "x" Zeichen auswähle und danach sind die Zeilenumbrüche entsprechend eingefügt. Umgekehrt kann ich alle anhängenden Zeilenumbrüche entfernen lassen, wenn ich das möchte. Das ist wirklich anwenderfreundlich! Wenn Sie Daten aus Mozilla kopieren, sollten Sie die Standardzeichenumsetztabelle auf 850 setzen, da Sie sonst Zeichenumsetzfehler wie zum Beispiel ein O mit der Tilde statt des Eurosymbols erhalten.


Bild 5 - Clip-Zeilen Kontextmenü

Der Rest der Sammlung

Es gibt noch sechs andere Programme in ClipView, die ich nachfolgend beschreibe. Das erste ist wohl noch das einfachste von allen, ClipPrint, das eben die Inhalte der Zwischenablage auf dem Drucker ausgibt. Seien Sie vorsichtig. Es wird automatisch auf LPT1 drucken, soweit Sie nicht ausdrücklich einen anderen Anschluß über den -p Parameter im Einstellungsnotizbuch angegeben haben. Natürlich können Sie aus ClipView heraus drucken, indem Sie auf der betreffenden Zeile mit der rechten Maustaste klicken und dann Print Clip auswählen. Diese Funktion wurde aufgenommen, da die Standardzwischenablage in Warp oder eCS merkwürdigerweise keine Druckfunktion bietet. Haben Sie den Drucker am USB- oder Netzwerkanschluß hängen, ist es ein Leichtes, mit der Umleitungsfunktion in den Druckerspoolereinstellungen die Standard LPT- oder COM-Schnittstelle auf den entsprechenden Anschluß umzuleiten, wie in Bild 6 dargestellt.


Bild 6 - Druckerumleitung

Ich hatte dann ein Problem mit SLPR, welches meine Daten an meinen Netzwerkdrucker durchreichte, aber entweder kam nichts heraus, oder nur ein paar wirre Zeichen oder ein unbedrucktes Blatt. Dieser Fehler ist nicht auf ClipView zurückzuführen, sondern tritt auch bei Verwendung des OS/2-PRINT-Befehls auf. Ich konnte den Fehler abstellen, indem ich die Standardeinstellung in SLPR von LPRPORTD in den Kompatibilitätsmodus änderte. Als ich dem Autor von ClipView dieses Phänomen mitteilte, hat er sofort die Hilfedatei entsprechend angepaßt.

Diejenigen, die gerne die Befehlszeile, Skripte und REXX einsetzen, werden sich über die Vielzahl an sehr netten Befehlen, die alle Bestandteil der Clipview-Sammlung sind, freuen. Um Daten in eine Pipe zu schreiben oder aus einer Pipe zu lesen, gibt es ClipPipe und PipeClip. Um Daten aus einem Ausschnitt in eine Pipe zu geben, verwendet man ClipPipe, und um Daten aus einer Pipe in eine Zwischenablage zu schieben, nimmt man PipeClip. Dadurch ist es möglich, das Ergebnis eines Prozesses in der Zwischenablage zu speichern oder in ClipView selbst. Wenn ich beispielsweise eine Datei finden möchte, die ich am ersten Januar auf dem D:-Laufwerk abgelegt hatte, könnte ich folgenden Befehl absetzen:

dir d:\ /s | find "1-01-05"

Sind aber viele Dateien an diesem Datum erzeugt wurden, wird die Ausgabe die Bildschirmanzeige überschreiten. Nun könnte ich die Ausgabe in eine Datei umleiten, aber einfacher geht es wenn ClipView läuft, sodaß die Daten sofort in die Zwischenablage geschickt werden:

dir d:\ /s | find "1-01-05" | PipeClip

Nun kann ich in die Zwischenablage schauen und die Datei suchen.

Ein damit verbundenes Programm, mit welchem man Aktionen oder Befehle ausführen kann, nachdem Daten in die Zwischenablage eingefügt wurden, ist ClipWait.

Netzwerk

Unter Warp und eCS ist Netzwerk-DDE (nwdde.exe) verfügbar, wodurch lokale Zwischenablagen über das Netz gemeinsam genutzt werden können. Es ist sehr unwahrscheinlich, daß Sie diesen Befehl unter Warp jemals entdeckt haben. Ich habe es nie, da man in das Verzeichnis \IBMLAN\NETPROG hätte schauen müssen, obwohl man es unter eCS im Ordner Netzwerkzubehör im WPS-Ordner Lokales Netzwerk hätte sehen können. Wenn man nur Text benötigt und kein PM-Programm laufen lassen möchte, verblaßt Netzwerk-DDE im Vergleich zu ClipView aufgrund der Bedienung. Im Gegensatz zu Netzwerk-DDE verwendet ClipView zwei verschiedene Programme, um die Kommunikation aufzubauen. Dies sind:
CV_Server_OS2 und CV_Client_OS2.

Obwohl diese das Netzwerk direkt benutzen, wie auch NetzwerkDDE, setzen sie keine gestarteten Peerdienste voraus. Zuerst startet man CV_Server_OS2 und übergibt mit dem Parameter -p den zur Kommunikation zu verwendenden Port. Einmal gestartet, empfängt CV_Server_OS2 mit der Anzeige nur einer Textzeile "Waiting for connections on port : xx" kontinuierlich Daten, bis er beendet wird (z.B. durch [Strg-C]). Sie können nur durch einen Blick in die Zwischenablage oder ClipView feststellen, ob Informationen eingetroffen sind. Als Alternative können Sie auch den undokumentierten Schalter -d setzen, der Informationen über jeden Ausschnitt, wie Größe und Quelle, ausgibt (siehe Bild 7).


Bild 7 - Clipview Server

Auf der Client-Seite müssen sowohl der Server als auch die Portnummer angegeben werden. Die Ausführung wird nach dem Versenden des Inhalts der aktuellen Clip-Zeile eingestellt. Möchten Sie den Inhalt der Zwischenablage immer versenden, müssen Sie sich ein kleines Befehlszeilenprogramm erzeugen, damit CV_Client_OS2 immer dann aufgerufen wird, wenn die Zwischenablage aktualisiert wurde. Auch ist es möglich, die Daten über den gleichen Port in beide Richtungen zu senden. Dafür muß auf beiden Systemen ein Server laufen und selbstverständlich sollten die Daten nur in einer Richtung automatisch versandt werden, da die Daten sonst kontinuierlich zwischen beiden System hin- und herlaufen würden. Um herauszufinden, wie gut diese Alpha-Programme sind, habe ich versucht, den Server, ein 2,6GHz Celeron Laptop, von zwei Clients aus, beide AMD, ein AMD64-System mit 2,6GHz und das andere ein Athlon 1,7GHz-System, zu bombardieren, indem auf den AMDs mehrfache Instanzen des CV_Client_OS2 liefen und die Zwischenablage per Skript so schnell wie möglich aktualisierten. Es lief fehlerfrei. Dies bedeutet freilich nicht, daß Sie niemals Informationen verlieren können, wie es eintreten könnte, wenn zum Beispiel die Zwischenablage schneller aktualisiert wird, als die Daten versandt werden können. In meinem Fall hatte eine einfache Verbindung eine Antwortzeit von einer halben Sekunde. Da jedoch die Zwischenablage üblicherweise von Hand aktualisiert wird, wird dieses Problem in der Praxis wohl kaum auftreten.

Zusammenfassung

Diese Freeware-Sammlung versorgt mich mit zusätzlichen Werkzeugen, um die Zwischenablage effektiv und, noch wichtiger, sehr einfach zu nutzen. Das Programm ist gut durchdacht, mit einer netten und einfachen Ein-Knopf-Bedienung und verwendet, wo sinnvoll, Standard-OS/2-Konventionen, wie die [F2]-Taste zum Speichern. Obwohl ich während meines eher unorthodoxen Testens einiger Aktionen auf ein paar wenige Fehler gestoßen bin, ist das Programm extrem stabil. Darüber hinaus ist die Hilfedatei sehr detailliert, beinhaltet einen "Bekannte Probleme"-Abschnitt und nicht zuletzt wird das Programm vom Autor (David Saville) sehr gut gepflegt, der sehr schnell auf Vorschläge reagiert und sogar auf die Sorte Fehler, die ich finde.

Windows-Versionen von sowohl Client- als auch Server-Version der Dienstprogramme sind zwar noch nicht erhältlich, befinden sich aber in Entwicklung und werden diese Sammlung noch vielseitiger und kommunikativer machen.

Daten und Quellen:

ClipView
Hersteller: David Saville
Preis: Freeware

ClipView: http://www.deezee.org/ClipView.html
EMX runtime: http://hobbes.nmsu.edu/pub/os2/dev/emx/v0.9d/emxrt.zip


Artikelverzeichnis
editor@os2voice.org
< Vorherige Seite | Inhaltsverzeichnis | Nächste Seite >
VOICE-Homepage: http://de.os2voice.org