Extended Software Development KernelController Version 1.0 Einleitung ---------- Dieses Programm wurde ursprünglich geschrieben, um die Möglichkeiten zu zeigen, die ein Program haben kann, ohne das System zu stören oder zu behindern. In dieser Version allerdings sind auch Funktionen verfügbar, die sehr nützlich sind, wie zum Beispiel eine WinBar, die der TaskBar von Windows95 sehr ähnlich ist, und teilweise sogar noch Vorteile vorzuweisen hat, aber dazu später mehr. Dabei wurden allerdings nicht Funktionen vergessen, die man nicht alltäglich sieht, wie zum Beispiel eine Malfunktion, mit der man in beliebigen Fenstern auf jedem Screen in Echtzeit malen kann, oder eine Funktion, mit der man jedes Gadget in Echtzeit entweder mit Scoller-Gadgets verschieben kann, oder man das Gadget einfach auf die Position des Mauspfeils setzt. Das Program ist Freeware, und darf damit frei benutzt und kopiert werden. Der Sourcecode dürfte besonders interessant sein, und ist deswegen gegen den kleinen Betrag von 20 DM beim Author: Oliver Urbann Horster Str. 371 46240 Bottrop erhätlich. Das Program wurde komplett in C geschrieben (weitgehend nicht objektorientiert). Ein frankierter und adressierter Umschlag ist erforderlich. ACHTUNG!!!! STARTEN SIE NICHT DAS PROGRAM ACTUALIZER, SONDERN NUR KC!!! Installation ------------ Diese ist einfach. Das Program benötigt keine speziellen Bibliotheken (wie MUI), außer OS2.1. Man erstellt einfach ein Verzeichniss, und gibt diesem die Bezeichnung "kc:" (mit dem CLI-Befehl assing, z.B. "assign kc: work:kc"). Dorthin kopiert man einfach die beiden Files "kc" und "actualizer". Das wars. WICHTIG!! Der Datenträger, auf dem sich "kc:" befindet, MUSS beschreibbar sein! Die WinBar ---------- Falls sie nur an der WinBar interessiert sind, dann müssen sie sich nur doch diesen Teil durchlesen, alle folgenden Teile sind unwichtig! Diese WinBar ist der TaskBar von Windows95 sehr ähnlich, allerdings fehlt das Start-Gadget, dafür werden bei fehlendem Windowtitel der Titel des Tasks genommen. Außerdem kann man die Fenster und die entsprechenden Tasks einfach per Knopfdruck entfernen. Die WinBar kann einfach aus dem CLI mit der Option "winbar" (z.B. "kc:kc winbar") gestartet werden. Daraufhin öffnet sich eine Leiste am unteren Bildschirmrand, und alle geöffneten Windows erscheinen. Um ein Fenster in den Vordergrund zu holen klicken sie einfach auf das entsprechende Gadget in der WinBar. Das aktuelle Window hat einen vertieften Rahmen, alle anderen einen hervorgehobenen. Falls sie zu einen Fenster ein Menü möchten, in dem sie z.B. das Fenster schliessen können, dann halten sie die SHIFT-Taste gedrückt, und klicken auf das Window, zu dem sie ein Menü möchten. Daraufhin öffnet sich das Menü mit den Punkten: -Zip Window Damit können sie das Window entweder minimieren oder maximieren (entspricht dem Gadget in der Titelleiste des Windows) -Win to back Damit verschieben sie das Fenster in den Hintergrund -Close Window Damit schliessen sie das Window mit sofortiger Wirkung WARNUNG!!! Diese Funktion schliesst NUR DAS FENSTER, das Program läuft weiterhin, das kann sehr leicht zu Fehlern im System, und damit zu Daten- verlust führen, also nur anwenden, wenn sie wirklich wissen was sie tun!!! -Kill Task Das ist sozusagen das Gegenstück zu Close Window, denn damit beenden sie den Task, der das Window kontrolliert. WARNUNG!!! Diese Funktion ZERSTÖRRT DEN TASK. Das heißt, er wird nicht normal beendent, sondern einfach entfernt. Das kann zu Fehler im System, und damit zu Datenverlust führen, also auch diesen Befehl nur anwenden, wenn sie wirklich wissen, was sie tun!!! Falls sie die WinBar in ihrer Startup-Sequence starten möchten, so geben sie nach dem Befehl "c:LoadWB" und VOR "C:EndCLI" folgendes ein: wait 10 sec kc:kc winbar Das ist die beste Position. Tasks-Window ------------ Diese Funktion öffnet ein Fenster mit allen wartenden Tasks. Diese können sie einzeln auswählen, und aus dem System entfernen. Falls sie nur diese Funktion anwenden möchten, lesen sie nur diesen Teil, alle folgenden Teile sind unwichtig! Diese Funktion ist wichtig, wenn sie z.B. einen Task beenden wollen, dieser allerdings kein Fenster hat, oder dieser sich nicht über das Fenster schliessen läßt, weil er gerade beschäftigt ist. Dann können sie hiermit diesen Task trotzdem mit sicherheit entfernen. WARNUNG!!! Mit dieser Funktion beenden sie nicht den Task, sondern ENTFERNEN IHN, das kann zu Fehlern im System führen, da KernelController nicht darauf achtet, ob das Program zur Zeit beendet werden darf!!! Starten sie KernelController mit der Option "tasks", z.B. "kc:kc tasks". WARNUNG!!! Entfernen sie, wenn überhaupt, nur Tasks, DIE SIE KENNEN, andern- falls könnten sie z.B. ganze Festplatten (mehr oder weniger) aus dem System entfernen, was mit Sicherheit nicht im Sinne des Systems ist!!! Allgemeine Bedienung von KernelController ----------------------------------------- Falls sie das gesamte Program anwenden möchten, so müssen sie sich diesen Teil komplett durchlesen. Man sollte sich allerdings mit dem Amiga-System gut auskennen, da die Bedienung nicht einfach ist. Starten sie KernelController ohne Optionen. Daraufhin erscheint ein neuer prompt. Dieser gibt jetzt nicht mehr die Pfade an, sondern die Screens und Windows. Der Aufbau ist recht einfach: Workbench Screen*AmigaShell#> \______ ______/|\___ ___/| \/ | \/ | aktueller | aktuelles| Screen | Window `zeigt, daß sie in einer Gadget-Struktur sind | `zeigt, daß sie ein einer Window-Struktur sind Wenn dort kein "*" ist, sind sie auf der Screen-Ebene, ansonsten auf der Window-Ebene, und falls die "#" vorhanden ist, dann sind sie auf der Gadget-Ebene. Die Befehle: ?: zeigt eine Liste mit allen möglichen Befehlen list: wenn sie sich auf der Screen-Ebene befinden, werden die wichtigsten Daten des Screens angezeigt, außerdem alle auf dem Screen geöffneten Windows enter: öffnet die nächste Ebene (wenn sie auf der Screen-Ebene sind, die Fenster-Ebene, wenn sie auf der Fenster-Ebene sind, die Gadget-Ebene) next: öffnet auf der Screen-Ebene den nächsten Screen, auf der Window-Ebene das nächste Window, und auf der Gadget-Ebene das nächste Gadget core: öffnet auf der Screen-Ebene den zentralen Screen, auf der Window-Ebene das zentrale Window, und auf der Gadget-Ebene das zentrale Gadget, wobei mit zentral das erste gemeint ist edit: zur Zeit kann man damit nur die Position eines Gadget edieren (durch eingeben der neuen Koordinaten) back: öffnet die vorherige Ebene (wenn sie auf der Gadget-Ebene sind, die Window-Ebene, wenn sie auf der Window-Ebene sind, die Screen-Ebene) view: nur wichtig für Gadgets, zeigt mit farbigen Pfeilen auf das aktuelle Gadget (da nur selten ein Name vorhanden ist) und öffnet außerdem ein Info-Window mit dem wichtigsten Daten all: zeigt alle geöffnet Info-Windows (siehe view) paint: falls sie sich auf der Window-Ebene befinden erlaubt dieser ihnen im aktuellen Fenster zu malen: -bewegen sie den Mauspfeil zu der gewünschten Postion, und drücken sie die Leertaste um zu malen -drücken sie c um die Farbe zu ändern, die neue Farbe müssen in der Shell, von der sie KernelController aus gestartet haben, eingeben -drücken sie q um die Funktion zu beenden -drücken sie s um ihre Arbeit zu speichern, sie werden daraufhin nach dem Pfad gefragt, danach können sie die Datei wieder mit der Funktion load laden load: damit können sie gespeicherte Datein (siehe Funktion paint) wieder laden, dabei wird das Gespeicherte im aktuellen Fenster (nur wenn sie auf der Fenster-Ebene sind) gezeigt wird move: damit können sie in Echtzeit Gadgets entweder mit Scroller-Gadgets verschieben, oder die neue Position angeben, indem sie den Mauspfeil auf die gewünschte neue Position bewegen, und die LEERTASTE drücken, das funktioniert auch in Echtzeit, das heißt, sie können die LEERTASTE auch gedrückt halten, beenden können sie, indem sie q drücken (für diese Funktion müssen sie auf der Gadget-Ebene sein, und verschieben das aktuelle Gadget) close: schliesst alle geöffneten Info-Windows (siehe Funktion view) delete: wenn sie sich auf der Screen-Ebene befinden, schliessen sie damit alle Windows auf diesem Screen und danach den Screen selber, wenn sie sich auf der Window-Ebene befinden einfach nur das Window, und wenn sie sich auf der Gadget-Ebene befinden löschen sie das aktuelle Gadget, aber ACHTUNG, sie können so sehr leicht das System stören!!! winbar: siehe Teil "Die WinBar" in dieser Anleitung tasks: siehe Teil "Tasks-Window" in dieser Anleitung quit: beendet den KernelController Kommentare, Anregungen und sonstige Äußerungen sind IMMER willkommen!! civic@alpha.fact.rhein-ruhr.de