letzte Änderungen: 7.3.1998
Es gibt schon einige Implementationen von less, die auch unter OS/2 laufen. Dieses Projekt hat sich aber zur Aufgabe gemacht, ein kleines und schnelles less zu entwickeln, welches die besonderen Fähigkeiten von OS/2 auch richtig ausnützt.
Diese sind zB.:
Das Programm ist in C programmiert und wurde mit den IBM C/C++ Compiler
entwickelt. Momentan besteht steht eine Abhängigkeit zu diesen Compiler,
da ich Routinen für die Suche nach regulären Ausdrücken direkt
aus dem Compilerruntime nutze (diese sind nicht ANSI-C). In der Releaseversion soll
jedoch ein C-Code entstehen, der mit jedem OS/2 C-Compiler zu übersetzen ist.
Bugreports bitte an Clemens Benden und bitte das
Subject mit "netlabs:less" einleiten.
Das Programm startet darauf einen Thread, welcher die Daten aufsammelt. Sobald das Programm
gestartet ist, kann man sich die aktuellen Daten bereits ansehen, während der Thread die
Daten weiter im Hintergrund lädt.
Mit der Taste
Außerdem versteht das Programm folgenden Befehlsparameter beim Aufruf:
Inhaltsverzeichnis
Version
V0.2
Überblick über neue Funktionen / Änderungen
Generelle Hinweise
Durch die Integration eines weiteren Threads ist die Komplexität des Programmes
angestiegen. Threads machen insbesondere bei vorzeitigen Programmterminierungen Schwierigkeiten.
Dem geneigten Benutzer bitte ich daher, verstärkt darauf zu achten, ob das Programm auch
immer richtig terminiert oder ob sich Situationen erzeugen lassen, bei denen das Programm nicht
richtig beendet wird und als Prozeßleiche dahin vegetiert ...
Bugfixes
In dieser Version wurde der Fehler behoben, daß Hilfetext nicht richtig angezeit wurden.
Außerdem kann der Hilfetext nun nicht mehr durch den Ladethread überschrieben werden.
Änderungen
Das Programm holt nun seine Einstellungen aus einer Ini-Datei (less.ini). Diese Ini-Datei wird
über ein Programm (lesscfg) im ETC-Pfad angelegt. Wenn die Environment-Variable ETC nicht
existiert oder dort keine INI-Datei zu finden ist, benutzt das Programm die normalen
Standardvorgaben.
Das Programm lesscfg ist ein PM-Programm. Dieses Programm erlaubt bereits einige der Vorgaben
dauerhaft zu speichern. Außerdem ist man in der Lage, die Farben für den monochromen
und den Farbigen Block einzustellen. Dabei können die Farben per Drag & Drop definiert werden.
Die Buchstaben V und H stehen für die Vordergrund- und Hintergrundfarbe.
Neue Funktionen
Suche
Die Suchfunktion wurde nun vollständig als Thread implementiert während der Suche
kann man weiter im Text blättern. Alle Zeilen,
die den Suchbegriff enthalten, werden in einer anderen Farbe dargestellt. Alternativ kann man
auch die Anzeige umschalten, so daß nur die Fundstellen farbig sind (Taste P).
So kann man leicht einerseits Text finden (ganze Zeile) oder auch nur die Fundstellen betrachten,
falls gezielt nur die Treffer sehen will.
Videomodi
Das Programm kann nun im Betrieb den Videomodus ändern. Es stehen 3 Modi zu Verfügung:
25, 30 und 50 Zeilen. Außerdem kann man mit + und - die Anzahl der Spalten varieren.
V0.1
Die aktuelle Version V0.1 ist noch eine sehr frühe Version - ich habe sie nur hochgeladen,
damit die Leute auch sehen, daß bei Netl@bs auch wirklich was passiert und
nicht nur die großen Brocken wie Warpscape oder Gimp in Angriff genommen werden!
Trotzdem funktioniert diese Version schon einigermaßen gut - auch wenn noch nicht
alle Features implementiert sind.
Diese nächste Version (V0.2) wird vorraussichtlich Mitte/Ende Februar freigegeben.
Inhaltsverzeichnis
Installation
Das Programm less.exe einfach in ein Verzeichnis kopieren, welches sich im Suchpfad (PATH)
von OS/2 befindet. Die Datei less.msg muß in einem Verzeichnis kopiert werden, welches
sich in DPATH befindet, da das Programm sonst seine Meldungen nicht findet.
Funktionsweise
Das Programm wird als direkter Ersatz von more genutzt.
So schreibt man statt
dir | more
nun dir | less
F1
kann man sich einen kurzen Hilfetext ausgeben lassen.
less [Optionen] [Datei]
Wird keine Datei angeben, arbeitet das Programm als Filter und ließt von stdin. Es kann
so in einer Kette von mehreren Pipes eingebaut werden: dir | less. Alternativ kann man direkt
ein Dateinamen angeben: less less.exe.
Optionen
Parameter | Beschreibung |
---|---|
-? | Ausgabe eines kurzen Hilfetextes, der die möglichen Befehlsparameter beschreibt. |
-b |
Datei wird im binärmodus geöffnet (es erfolgt eine Umsetzung der
Zeilenschaltungen). Hinweis Bei einer Umleitung via PIPE werden die Daten immer im Textmodus und damit immer mit der Umsetzung der Zeilenschaltung angeliefert und auch so angezeigt. |
-h | Anzeige im Hexmodus beginnen |
-j |
Sobald neue Daten gelesen werden und eine neue Seite voll ist, springt die Anzeige
um, so daß die neuen Daten sichtbar werden (so als ob der Benutzer die
END-Taste gedrückt hätte). Diese Funktion ist nur im 'liveModus' (Parameter -u) verfügbar. |
-u | Das Programm bricht das Einlesen nicht ab, sondern wartet auf neue Daten. Als Anwendung könnte man sich eine Logdatei vorstellen, die von einem anderen Programm geschrieben wird und man nun ständig die neuen Einträge auf den Bildschirm sehen möchte (in Verbindung mit Parameter -j). |
Navigation | ||||
UP | Text eine Zeile nach oben scrollen | |||
DOWN | Text eine Zeile nach unten scrollen | |||
LEFT | Text eine Spalte nach links rollen | |||
RIGHT | Text eine Spalte nach rechts rollen | |||
PGUP | Text eine Seite oben scrollen | |||
PGDN | Text eine Seite nach unten scrollen | |||
HOME | Beginn der Datei | |||
END | Ende der Datei | |||
Funktionstasten | ||||
F1 | Onlinehilfe anzeigen | |||
F3 | Umschalten zwischen Hex und Ascii-Modus | |||
F7 | Textsuche starten | |||
SHIFT F7 | Sprung zur nächsten Fundstelle | |||
Ansichtsoptionen | ||||
2 | Bildschirmmodus mit 25 Zeilen aktivieren | |||
3 | Bildschirmmodus mit 30 Zeilen aktivieren | |||
5 | Bildschirmmodus mit 50 Zeilen aktivieren | |||
- | Anzahl der Spalten verringern | |||
+ | Anzahl der Spalten erhöhen | |||
B | Umschalten zwischen Farbdarstellung und Schwarzweiss | |||
C | Anzeige von Control-Zeichen (ASCII-Code < 32) ein/ausschalten Diese Funktion kann zB. dazu dienen, die eigentliche Länge einer Zeile festzustellen, da man die eigentliche Länge einer Zeile nun an den CR Zeichen sehen kann. |
|||
F | Anzeige von Suchtreffern ein/ausschalten. |
|||
P | Wenn die Anzeige von Suchtreffern eingeschaltet ist, kann man mit diesen Schalter wählen, ob das Programm die ganze Zeile markiert oder nur die exakten Fundstellen (also auch mehrere pro Zeile!) | |||
(Z) | Markierungsmodus aktivieren/beenden | |||
Tasten, die eingeklammert sind, bedeuten, daß die entsprechende Funktion nicht implementiert oder freigeschaltet ist. |
mode cox,y
Beispiel:
80 Spalten 25 Zeilen: mode CO80,25
90 Spalten 30 Zeilen: mode CO90,30
Inhaltsverzeichnis
Text suchen
Die Textsuche funktioniert nur im Ascii-Modus. Sobald die Suche gestartet wurde und
der Suchbegriff eingegeben wurde, beginnt das Programm die Suche in einem eigenen Thread.
Die Suche kann momentan nicht abgebrochen werden und es wird immer der gesamte Text
durchsucht. Dabei wird der aktuelle Fortgang der Suche in der Statuszeile eingeblendet. Die
Prozentzahl bedeutet dabei, wieviel vom Text bereits durchsucht worden ist. Sobald der
gesamte Text bearbeitet worden ist, werden alle Zeilen, die den Suchbegriff enthalten, in
einer besonderen Farbe dargestellt (alternativ können auch nur die Fundsellen farbig
anzeigt werden).
Das Suchprogramm zeigt nach Beendigung des Suchvorgangs an, wieviel Treffer es insgesamt gab.
Dies wird in der Mitte der Statuszeile eingeblendet.
Inhaltsverzeichnis
nächste Fundstelle
Mit dieser Funktion kann man die verschiedenen Fundstellen anspringen. Dabei wird immer
zur nächsten Fundstelle gesprungen und diese wird dann in der 1. Bildschirmzeile
angezeigt.
Inhaltsverzeichnis
noch zu erledigen ...
Folgenden Punkte sind noch auf meiner TODO-Liste, bis zur Release V1.0 erfüllt
sein sollten:
Sollte jemand für seine Sprache mir eine übersetzte Datei zusenden und sich auch bereit erklären, diese ggf. weiterzupflegen, werde ich diese Datei in das Projekt aufnehmen (dabei schließe ich auch exotische Sprachen wie Plattdeutsch oder Urhessisch ausdrücklich nicht aus :-) ). Damit wird das Programm dann automatisch mehrsprachig (man muß nur die richtige less.msg für seine jeweilige Sprache haben).
Momentan existieren folgende Sprachversionen:
Sprache | Gepflegt von |
---|---|
deutsch | Clemens Benden |
Bei Teppfihlern ;) bitte an den entsprechenden Autor wenden...