Freedom¿ V1.14a --------------- ("Hey, das Popup ist mir neu..." ;-)) 05.07.1995 (c) 1995 by Christian Krger und Kolja Koischwitz ("...die J„ger des verlorenen Bedienungskomforts...") EnhancedGEM 2.25 (c) 1995 by Christian Grunenberg XIMG-Decoder (c) by Dirk Haun 0. Einleitung ============= Alle Software rstet sich frs Multitasking. Jeder halbwegs versierte Programmierer hat inzwischen seine Dialoge ins Fenster verfrachtet, die Zeit der Fluchecken ist vorbei! šbrig bleiben letzlich nur noch zwei Relikte aus der Singel-Zeit: Der Fileselektor und die Alertbox. Bisher gab es keine Rettung vor diesen Systemblockierern, doch damit ist jetzt Schluž: Freedom¿ ist da! ;-) Die unglaublichen Features: --------------------------- - mindestens 8 Nonmodale Fileselektoren gleichzeitig! - komplett nebenl„ufig! - Alertboxen optional im Fenster - Programme, die VA_START untersttzen/eine Menzeile haben, mssen zT nichtmal blockiert werden! - Untersttzung von langen Dateinamen - Font, Gr”že und Farbenm des Fileselektors sind variabel - Drag&Drop Fontprotokoll wird untersttzt - Tastaturbelegung 99% Selectric-kompatibel - Mehrfachfileselektion (natrlich auch Selectric-kompatibel) - Bis zu 40 voreinstellbare Dateinamen, Pfade und Extensions - History der letzten 20 ausgew„hlten Files - Maximal intuitive Bedienung, kurze Wege, wenig Klicks - Popups noch und n”cher... (o: - Linksh„nder-Mode (!!!!) - Unix-Patterns (*,?,[]) sowie Extensionlisten ("*.TOS,*.PRG") - Dateien/Ordnern k”nnen Ikonen zugeordnet werden - Drag&Drop-Untersttzung (Pfade & Files k”nnen auf den Fileselektor gezogen werden (AV- bzw MTOS-D&D) und umgekehrt - Nachrichen, die Žnderungen in Verzeichnissen bekanntgeben, werden ausgewertet (SH_WDRAW, AV_PATH_UPDATE, SC_CHANGED) und versendet! - Fuzzy-Namenserkennung! Freedom tut alles, um der aufrufenden Applikation (auch unter SingelTOS) einen aussagekr„ftigen Namen zu geben (Menzeile, Xacc, AV-Protokoll...) - Dateien l”schen, Neue Ordner/Dateien erzeugen und Datei/Ordner-Info - Dateien nach Maske suchen, selektieren und deselektieren - Pfad oder selektierte Files k”nnen ins Clipboard exportiert werden - Volle Kommunikation mit einem vorhandenen AV-Server (zB Thing) - Dateien l”schen und touchen - Kopieren, verschieben per D&D und Klemmbrett, Kobold_2 wird autom. benutzt, wenn er sich im Speicher befindet oder die Environment Variable KOBOLD_PATH unter Multitasking den Pfad zum Kobold weist.. 1. Warum gerade Freedom? ======================== Das Problem ist bekannt: Flydials, Fileselektoren und Alertboxen legen das Multitasking lahm, indem sie den Bildschirm komplett fuer sich reservieren: - Terminalprogramme h”ren auf, anzuw„hlen und kriegen šbertragungs-Fehler beim Up-/Download - GEM-Raytracer h”ren auf zu tracen - GEM-Morpher h”ren auf zu morfen - GEM-konforme Packer h”ren auf zu packen (es sei denn, sie sind von Christian Grunenberg...) - Die Zeit in Fenster-Uhren bleibt stehen - Beim Druck auf F1 kommt nicht mehr der Kobold (o: - Das MagiC-Popup ist nicht mehr erreichbar - Die Menzeile ist nicht mehr erreichbar - Sie k”nnen beim Kopieren/Verschieben/L”schen und Formatieren nicht weiterarbeiten, wenn das Programm dafr einen Dialog ”ffnet, wie es bspw. die Shell Gemini tut - usw usw Sollten ihnen einige der oben genannten Punkte schonmal selbst aufgefallen sein oder haben Sie sich sogar schonmal darber schwarzge„rgert, dann sollten Sie einfach mal einen Blick auf Freedom werfen: 2. Die Installation =================== - FFSEL.PRG in den Auto-Ordner - FREEDOM.APP in FREEDOM.ACC umbennen und als Accessory installieren (unter MagiC/MiNT kann FREEDOM.APP auch sp„ter nachgestartet werden bzw unter MagiC auch in den APPS Ordner oder unter MiNT ins GEM.CNF) Fr die Benutzer mit Speichermangel, die eine ausreichend schnelle Platte (und einen ausreichend schnellen Rechner) haben, gibt es noch eine weitere M”glichkeit: Zus„tzlich zu FFSEL.PRG packt man eine Datei FFSEL.INF in den Auto-Ordner, in der Pfad zu FREEDOM.APP (incl.des Filenamens) drinsteht, etwa so: C:\FREEDOM\FREEDOM.APP Befindet sich Freedom dann nicht im Speicher, versucht der residente Teil, es nachzuladen. Ein so nachgeladenes FREEDOM.APP hat zus„tzlich die M”glichkeit, sich nach einer bestimmten Zeit der Nichtbenutzung wieder aus dem Speicher zu entfernen. Diese Zeit ist (minimal 5s) in der Konfigurationsdatei FREEDOM.CNF (siehe sp„teres Kapitel) einstellbar. Das Nachladen unter einem Multitasking-OS ist (fast) unproblematisch, unter SingelTOS ist es nur mit Hilfe des Accessorys Chameleon (von Karsten Isakovic) m”glich. Wir raten aber dennoch dazu, Freedom besser fest zu installieren. Wer trotzdem das Nachladen mit dem Chameleon will, sollte die diesem Paket beiliegende Version des Chameleons verwenden. Diese wurde so gepatcht, das 1. das beim Nachladen eines ACC's nicht mehr automatisch ein AC_OPEN an es versendet wird, und 2. der nachvollziehbare Absturz beim appl_find("?AGI") behoben ist. Da von einigen Freedom-Benutzern der Wunsch ge„užert wurde, (zwecks Ausmerzung des st”renden freien Speicherplatzes ;-)) Freedom zusammen mit Selectric zu installieren, besteht diese M”glichkeit nun. Das zu diesem Zweck in Umlauf gebrachte Programm KILLFSEL, welches nur Selectric's Eintrag im Cookiejar l”scht, ist berfssig geworden. Freedom ist nun selbst dazu in der Lage: Wenn FFSEL bei seiner Installation einen FSEL-Cookie mit Versionsnummer <2.00 vorfindet, ersetzt es dessen Wert durch einen Zeiger auf seine eigene Struktur. Wenn Sie nun noch das Glck haben, das FFSEL sich nach SLECTRIC ins GEM h„ngt, passiert genau das gewnschte: Freedom erscheint bei allen sauberen Programmen, Selectric bernimmt den Rest sowie die Behandlung des 'Programm starten..' Eintrags im MagiC-Popup. Alternativ zu FFSEL.PRG k”nnen sie auch den FFSELR.PRG in den Auto-Ordner packen. Der einzige Unterschied ist, das Fenster von gerade durch einen Fileselektor blockierten Applikationen, fr die eine Redraw-Anforderung kommt, nicht ausgeblendet, sondern, wie es in frheren Freedom-Versionen war, mit dem Freedom-Logo gefllt werden. Das ist h„žlicher und inkompatibler als das neue Verfahren, spart jedoch auf langsamen Rechnern uU einige berflssige Redraws ein (Man stelle sich vor, unter dem ausgeblendeten Fenster liegt zuf„llig eins von Calamus...). Dafr ist die Redraw-Version eine kBs gr”žer... 3. Funktionsweise (nur fr Programmierer interessant!) ====================================================== Freedom besteht aus zwei Teilen: - Einem Fileselektor/Alertboxen-'Server' (FREEDOM.APP), der als parallele Applikation bzw. Accessory l„uft, und darauf wartet, ber eine definierte Schnittstelle (bestehend aus einem Satz AES-Messages) aktiviert zu werden. Er kann (nur vom Speicherplatz und den verfgbaren Fenster-handles begrenzt) beliebig viele Nonmodale Alertboxen und Fileselektoren ”ffnen. Der Server meldet sich beim Start ber das XAcc-Protokoll an und fhrt im erweiterten XAcc-Namen (hochtrabend) "XFileSelect\0XFontAck". - Einem residenten Teil (FFSEL.PRG), der Applikationen, die einen Fileselektor bzw. eine Alertbox ausgeben wollen, den Programmfaden "abnimmt", einen entsprechenden Request an den Server sendet, den er ggf. vorher selbst parallel startet, und in einer Eventloop auf die Antwort- Nachricht des Servers wartet. Innerhalb dieser Eventloop wird gleichzeitig noch die Behandlung einiger anderer Messages (Fenster-Redraw, Moven, Sizen, Toppen, Lowern) fr die Zeit des aktiven Alerts/Fileselektors durchgefhrt, sowie die Menzeile des aufrufenden Programms dis- und wieder enabled. Durch ausgeklgelte Programmierung ist dieser Teil bis zu 8 mal reentrant, dh es k”nnen bis zu 8 verschiedene Applikationen einen Alert bzw. einen Fileselektor offen haben, bevor der Traphandler den Aufruf eines Fileselektors ignoriert bzw. einen Alert zum System durchreicht. Dieser Teil bernimmt nebenbei ggf. noch das Umsetzen der Server- Antwort in eines der 3 Selectric- Protokolle. Das dabei entstehende Problem, daž es nur einen Selectric-Cookie gibt, aber m”glicherweise mehrere Applikationen gleichzeitig ber ihn kommunizieren, wurde auf ein minimum reduziert... Da der residente Teil im Namen der Applikation Nachrichten empf„ngt, werden alle Nachrichten, bei denen es Sinn macht, der Applikation nachgereicht. Explizit 'geschluckt' werden die folgenden: (AC_CLOSE) ; Wegen Problemen mit dem Chameleon )o: AC_OPEN MN_SELECTED, WM_CLOSED,WM_FULLED,WM_ARROWED,WM_MOVED, WM_HSLID,WM_VSLID,WM_SIZED,WM_UNTOPPED,WM_TOPPED,WM_ONTOP, WM_NEWTOP,WM_ICONIFY,WM_UNICONIFY,WM_BOTTOMED VA_START,VA_STARTED,VA_DRAGACCWIND AV_SENDKEY ; AV-Server sollten das Freedom-Protkoll AV_STARTPROG ; untersttzen, wenn sie einen Fileselektor AV_OPENWIND ; aufrufen AV_OPENCONSOLE ; AP_DRAGDROP ; wird mit DD_NAK beantwortet 4. Bedienung ============ Freedom verfgt extra fr die Freunde der Mausbedienung ber eine schier unendliche Zahl von Popups. Die Meisten davon sind bei Freedom durch Klick auf die Box erreichbar, in der der aktuelle Pfad zu sehen ist. Wechsel des Laufwerks - per Maus - via Tastatur ------------------------------------------------------------------------- Klick auf Laufwerksbuchstabenbestandteil des Control-L ”ffnet Pfades ”ffnet ein Popup mit den vorhandenen das Popup ebenfalls Laufwerkskennungen. Alternativ: Alt-Laufwerksbuchstabe schaltet sofort um Ver„nderung der Anzeigemaske - per Maus - via Tastatur ------------------------------------------------------------------------- Klick auf die Anzeigemaske des Pfades zeigt bei einem .. .. Linksklick: die gerade sinnvollen Masken Control-Y .. Rechtsklick: die benutzerdefinierten Masken Control-X (+Shift, wenn Dateien selektiert sind) .. Doppelklick links: die Maskeneingabe Control-E ...Doppelklick rechts: Wechsel zwischen '*.*' und der vom Programm bergebenen Maske Alternativ: Control-Tastenblock-1..0 schaltet zwischen den ersten 10 benutzerdefin- ierten Masken um, Shift-Ctrl-Tastenblock-1..0 w„hlt Maske 11..20, Control-Tastenblock-. w„hlt die geklemmte Maske Control-Tastenblock-* w„hlt *.* als Maske Verzeichnisebene wechseln - per Maus - via Tastatur ------------------------------------------------------------------------- Klick mitten in den Pfad mit der linken Maustaste auf .. .. Verzeichnis: Popup mit alternativen Ver- zeichnissen ”ffnet sich .. Trenner (\): Der Pfad wird an dieser Stelle Control-1..0 geht 1..10 "abgeschnitten", was ein Ersatz Ebenen zurck fr das schnelle zurcksetzen mittels "Mac-Path" darstellt .. letzten \: Die Verzeichnisse in der aktuellen Ebene kommen in einem Popup Klick in den Closer (links neben dem Pfad) Control-Backspace oder geht eine Ebene zurck, mit einem Doppel-/ Control-Undo Rechtsklick gehts ins Wurzelverzeichnis Shift-Control-Backspace o. Shift-Cobtrol-Undo Direkter Einfach- oder Doppelklick (je nach Ordner mit den Pfeil- Einstellung) auf einen Ordner im Filefenster tasten anfahren und auf wechselt in diesen Ordner Return/Enter hauen Durch Doppel- bzw. Rechtsklick auf das Pfad- Control-P Objekt irgendwo vor dem letzen Trenner (\) erreicht man das Popup mit den benutzerde- Alternativ: finierten Pfaden. Alternate-1..0 schaltet zwischen den ersten 10 benutzerdefin- ierten Pfaden um, Alternate-Esc w„hlt den geklemmten Pfad Shift-Alternate-1..0 fr Pfad 11..20 Dateien (de-)selektieren - per Maus - via Tastatur ------------------------------------------------------------------------- Eine einzelne Datei kann durch einfachen Linksklick selektiert werden. Sollen mehrere Dateien selektiert werden, muss die Maustaste gedrcktgehalten werden. Dabei ist zu beachten, das die Aktion nach einer gewissen Ruhephase zu Beginn als 'Greifen' zwecks Drag&Drop interpretiert wird. Dieser Zeitraum ist jedoch konfigurierbar. Das Fenster wird automatisch gescrollt, wenn der Mauszeiger w„hrend des Selektierens an den oberen bzw. unteren Rand st”žt. M”chten Sie mehrere Dateien selektieren, die nicht nicht direkt aufeinander folgen, so klicken Sie sie einzeln an und halten dabei die Shift-Taste fest. Sie verhindert, das die schon selektierten Dateien wieder deselektiert werden. Alle Dateien k”nnen durch einfachen Links- Control-A klick auf den 'Alles selektieren'-Knopf rechts vom Pfad-Objekt (de-)selektiert werden. Durch einen Rechtsklick auf diesen Knopf wird Shift-Control-A die aktuelle Selektion invertiert. Dateien selelektieren nach Maske. Control-S Ein Doppelklick links auf den 'Alles selek- tieren'-Knopf ”ffnet einen Dialog, in dem Sie eine Maske eingeben k”nnen. Bei Bet„tigen von 'Ok' werden die auf die Maske passenden Dateien im aktuellen Fileselektor zus„tzlich selektiert. Dateien deselektieren nach Maske. Shift-Control-S Ein Doppelclick rechts auf denselben Knopf ”ffnet den Dialog zum deselektieren. Das Popup mit den voreingestellten Files l„žt Control-M sich durch Rechtsklick auf das Wort "Datei:" vor dem Editfeld erreichen. Mit einem Links- klick bekommt man das History-Popup, das die letzen (max. 20) ausgew„hlten Files zeigt. Control-< Wird beim Ausw„hlen einer Datei aus einem der beiden Popup's eine Umschalttaste festgehalten, so wird die Datei nur 'angefahren' und selek- tiert, nicht jedoch der Fileselektor geschlos- sen. Mit den Pfeiltasten kann die aktuell selektierte Datei wie ein Cursor ver- „ndert werden. Wird dabei Shift festge- halten, so gehts seiten- weise weiter, mit Control und auch mit ClrHome kann zum Anfang/Ende der Liste gesprungen werden, womit auch ein Scrollen per Tastatur erm”glicht ist (s. folgender Abschnitt) Wenn Sie Freedom so konfiguriert haben, k”nnen Sie auch mit einen Rechtsklick ins Filefenster einem Linksklick mit gedrckter Shift-Taste simulieren. Aktuellen Zustand ins Klemmbrett sichern. Control-C Zustand aus dem Klemmbrett wiederherstellen. Shift-Control-V In den Dateien scrollen - per Maus - via Tastatur -------------------------------------------------------------------------- Die einfachste M”glichkeit: Sie nehmen den (s.o.) Slider durch einen einfachen Linksklick in die Control-Up, Control-Down Hand. Das Dateifenster wird beim Scrollen in Echtzeit aktualisiert. Alle anderen Bedienele- mente des Sliders entsprechen denen von GEM- Fenstern. Wenn Sie Freedom so konfiguriert haben, k”nnen Sie auch durch einen Rechtsklick direkt in das Filefenster scrollen („hnlich wie beim Desktop 'Thing', allerdings mit dynam. Scrollweite) Ver„nderung der Sortierung - per Maus - via Tastatur -------------------------------------------------------------------------- Rechts- oder Doppelklick auf den Slider Control-J ”ffnet das Sortierungspopup (Sehr praktisch, denn wenn man eine Datei sucht und sich deshalb Alternativ: fr eine andere Sortierung entscheidet, hat man Control-H: nach Namen meist eh grad den Slider "in der Hand" Control-Z: nach Datum Control-G: nach Gr”že Control-T: nach Typ Control-K: Keine Sort. Control-R: Sort. revers Die Typsortierung kann zZt nur ber das Popup an- und ausgeschaltet werden Drag & Drop - per Maus - via Tastatur -------------------------------------------------------------------------- Wird ber selektierten Dateien die linke Maus- Alt-Taste festhalten, taste festgehalten, erscheint nach kurzer Zeit mit den Pfeiltasten den ein Geisterrahmen mit den Umrissen der selek- Mauszeiger ber die Da- tieren Objekte. Wird die Maustaste losgelassen, teien man”vrieren, und werden die Dateien an die Position unter dem mit Alt-Insert 'greifen'. Mauszeiger 'abgeworfen'. Freedom zeigt w„hrend Dann k”nnen Sie mit den der Drag&Drop Aktion unten im Infoobjekt an, Pfeiltasten berall hin- was fr eine Aktion durch das Drag&Drop ausge- transportiert werden. l”st wird. Werden die Dateien auf eine fremde (Zugegeben: Das ist kein Applikationen gezogen, kann Freedom die Aus- Feature von Freedom (o:) wirkungen nicht voraussehen ("tun Sie nichts unberlegtes" ;-)). Oft wird garnix passieren, es sei denn, die Fenster eines AV-Servers (wie 'Thing' oder 'Gemini'), oder eines Programms, das sich beim AV-Server angemeldet hat, sind das Ziel. Freedom kann auch mittels Drag&Drop kopieren bzw. verschieben, wenn Sie Dateien aus oder auf Fenster des AV-Servers ziehen, oder ein weiterer offener Freedom-Fileselektor das Ziel ist. Ein weiterer (nicht an eine Applikation gebundener) Freedom- auch mit Control-Help Fileselektor l„žt sich mit einem Doppel- bzw. oder Shift-Help Rechtsklick auf das Freedom-Logo rechts oben ”ffnen. Freedoms Funktionen - per Maus - via Tastatur -------------------------------------------------------------------------- L”schen: Selektieren Sie die zu l”schenden Control-D Objekte und klicken Sie auf den Mlleimer unten links. Alternativ k”nnen Sie die Objekte auch auf den Eimer ziehen. Neues Objekt: Klicken Sie auf das Ordner- Control-N Symbol unten links (das 2.). Ein Dialog erscheint, ber den Sie einen Ordner oder eine (leere) Datei in dem aktuellen Verzeich- nis anlegen k”nnen. Objekt-Information: Selektieren Sie ein oder Control-I (Tab) mehrere Objekte, deren Namen und/oder Attribute Sie ver„ndern m”chten und klicken Sie mit der linken Maustaste auf das Info-Symbol unten links (das 3.). Alternativ k”nnen Sie die Objekte auch aufs Icon ziehen. Gesamt-Information ("Dateien-Z„hlung"): Shift-Control-I W„hlen Sie, nachdem Sie eine oder mehrere Dateien selektiert haben, das Info-Symbol mit der rechten Maustaste an, so wird eine (rekursive) Dateien-Z„hlung ber alle zur Zeit selektieren Objekte in Gang gebracht. Laufwerks-Info ("Dateien-Z„hlung"): Shift-Control-I Klicken Sie das Info-Icon (mit links oder rechts), ohne das Dateien selektiert sind, so werden alle Dateien auf dem Laufwerk gez„hlt. Touch: Control-B Eine Funktion, die eher fr Programmierer interessant ist. Sie k”nnen sie nun auch per Maus erreichen, indem Sie Dateien auf das "Neuer Ordner"-Icon draggen. Klemmbrett-Export: Control-C,Control-X Der Zustand (Pfad und ggf. selektierte Dateien) wird ins Klemmbrett exportiert. Dateien selektieren und auf das Klemmbrett-Icon ziehen. Bei Control-X wird zus„tzlich eine Verschiebe-Markierung gesetzt Klemmbrett-Import (Kopieren/Verschieben) Control-V Klemmbrett mit links anklicken und Dateien ins Verzeichnisfenster draggen. Bei gedrckter Ctrl-Taste wird Verschoben. Wurden die Dateien mit Control-X geklemmt und nun mit Control-V geholt, wird ebenfalls verschoben. Klemmbrett-Import (Zustand wiederherstellen): Shift-Control-V Zustand aus dem Klemmbrett wiederherstellen. Klemmbrett-Icon mit rechts anklicken. So ist auch ein "Austausch" mit dem Desktop Gemini m”glich: In Gemini kann die aktuelle Selektion in einem Fenster mit ^C exportiert und dann in Freedom mit ^V wieder importiert werden. Leider geht's in die andere Richtung (wg. fehlender Funktion in Gemini) nicht! Aužerdem kann nun wieder eine Dateiliste Shift-Control-C formatiert mit einem Formatstring (#NICEFORMAT) ins Klemmbrett exportiert werden, etwa, um sie in einem anderen Programm einzubinden. Dazu ist nur das Anw„hlen der gewnschten Dateien und ein folgender Doppelklick auf das Klemmbrett- Icon n”tig. Die so exportierten Dateien k”nnen nicht wieder mit ^V Importiert werden. Dateien suchen: Lupe unten links anw„hlen. Control-F Ein Dialog erscheint, in dem Sie eine Such- Maske eintippen k”nnen, und angeben drfen, wo gesucht werden soll. Die Environment-Var. DRIVEMAP wird, wenn gesetzt, bei der Suche auf allen Laufwerken beachtet. Mit 'Ok' wird die Suche gestartet. ESC bricht die Suche ab. Wurde eine Datei gefunden, erscheint ihr Name in dem breiten Knopf unter der Suchmaske. In diesem Fall haben Sie 4 Auswahlm”glichkeiten: breiter Knopf: Datei wird im aufrufenden Fileselektor selektiert und an die Applikation ausgeliefert. Ok: Datei wird im aufrufenden Selektor selektiert. Bei einem Rechts-/Doppelklick die- selbe Wirkung der 'breite Knopf'.. Weiter: Es wird eine Weitere auf die Maske passende Datei gesucht. Abbruch: Suchdialog ohne Aktion schliežen. Freedom stellt normalerweise zwischen einem Suchdialog und dem aufrufenden Fileselektor eine "unsichtbare" Verbindung her um dann, wenn sie im Suchdialog eine Datei ausw„hlen, diese im zugeh”rigen Fileselektor zu selektieren. Da Sie so nur einen Suchdialog pro Fileselektor ”ffnen k”nnen, gibt es noch die M”glichkeit, bel. viele "ungebundenene" Suchdialoge mit Shift-Control-F einem Rechtsklick auf die Lupe zu ”ffnen. (Wenn sie das ihrer Platte antun wollen.. ;-)) Objekt ”ffnen: Ist vor allem fr Benutzer von Datei(en) selektieren Multitasking-Betriebssystemen wie MagiC oder und Control-O drcken MTOS interessant: Ein rechter Doppelklick auf ein Objekt bewirkt das '™ffnen' des Objektes, Alternativ Control-Return d.h.: Handelt es sich um ein Programm, so wird es gestartet, ansonsten wird ggf. einem konfigurierbaren Viewer eine Nachricht mit der selektierten Datei gesendet. Freedom startet den Viewer auch parallel nach, wenn er ihn nicht im Speicher antrifft. Da dies insgesamt nicht sehr flexibel ist, berl„žt Freedom das ™ffnen dem AV-Server, sofern ein solcher vorhanden ist. Der beachtet dabei dann die angemeldeten Applikationen usw. Ausserdem lassen sich dann auch Verzeichnisse '”ffnen'. Der Autolocator - eine Wissenschaft fr sich.. ---------------------------------------------- Der Autolocator eines gewissen anderen Fileselektors war noch einfach, doch mit Freedom wird auch das anders (o: Jetzt endlich kommen auch eingeschworene Feinde des Autolocators in den Genuss seiner Funktionalit„t. Mit Freedom kommt der 'Einmal-Autolocator', wie man ihn schon von diversen Commandline-Shells als 'Completion' kennt: Ist der st„ndige Autolocator abgeschaltet, kann mit Tab ein einmaliger Autolocator ausgel”st werden. Da hier ein offensichtlicher Konflikt mit der Funktionalit„t 'Objekt-Info' (auch Tab) vorhanden ist, und wir es (wie auch sonst) allen recht machen wollen, ist die Tab-Taste auf eine der beiden Funktionalit„ten konfigurierbar. Objekt-Info ist ja zus„tzlich mit Control-I erreichbar, der einmalige Autolocator liegt zus„tzlich (fest) auf Control-Tab. Freedoms Autolocator sucht standardm„žig nach Ordnern und Dateien. Wird zus„tzlich die Shift-Taste gedrckthalten, wird nur auf Dateien gematcht. Eine nochmalige Beschleunigung des Autolocatens bringt das 'Cycle'-Feature des einmaligen Autolocators. Wird derselbe n„mlich mehrfach hintereinander ausgel”st, geht er auch hintereinander alle Dateien durch, auf die das schon Eingetippte passt. Das Klemmbrett -------------- In der (aktuellen) Version 1.14 wurde die Klemmbrettfunktion erheblich verbessert und verfeinert. Prinzipiell dient das Klemmbrett nun dazu, Dateinamen zur sp„teren Verwendung oder zur Weitergabe an andere Programme zwischenzuspeichern (Die Datei SCRAP.TXT im System-Klemmbrett wird dazu benutzt). Um Dateien auf dem Klemmbrett zwischenzuspeichern, selektieren Sie sie einfach und ziehen sie dann auf das Klemmbretticon. Eine weitere M”glichkeit ist, ^C oder ^X zu drcken. Zum Zurckholen der Dateien klicken Sie mit links auf das Klemmbrett und halten sofort die Dateien "in der Hand". Nun haben sie die schon von vorherigen Versionen bekannten M”glichkeiten, die Dateien wieder abzuwerfen: šber anderen Applikationen, ber dem Mlleimer/Info-Icon/Eingabefeld/Pfadfeld und der Datei-Listbox (zum Kopieren). Das Kopieren/Verschieben bzw Dateien ausw„hlen (mit Shift) k”nnen sie auch per Tastatur, mittels ^V. Je nachdem, ob sie die Dateien mit ^C oder ^X auf das Klemmbrett bef”rdert haben, werden sie Ihnen bei ^V zum Kopieren oder Verschieben angeboten. Halten sie stattdessen zus„tzlich Shift fest, werden die Datei aus dem Klemmbrett wie gehabt selektiert. Das ist nebenbei eine gute M”glichkeit, wieder in den Herkunftspfad zu gelangen (Das, was man bei Selectric einstellen konnte), nachdem Sie mit dem Kopieren fertig sind. Das also, was in der Version 1.13 als "Zustand wiederherstellen" auf ^V lag, ist nun mit +^V zu erreichen. Ausserdem bietet Freedom ja auch noch das Feature, eine Dateilist nach einem Formatstring (#NICEFORMAT) formatiert ins System-Klemmbrett zu sichern. Diese Funktion liegt wie gehabt auf +^C bzw. Doppel/-Rechtsklick auf das Klemmbrett-Icon. Eine solche Dateiliste l„žt sich im Normalfall _nicht_ nach der oben beschriebenen Methode, etwa mit ^V, "zurckholen". Um es nochmal zu betonen: Es wird bei ^C/^X lediglich eine Liste von Dateinamen als SCRAP.TXT gemerkt. Es werden _keine_ Dateiinhalte gespeichert. Es ist demnach nicht m”glich, Dateien per ^C aufs Klemmbrett zu sichern, zu l”schen, und dann woanders wieder mit ^V "einzukleben". Die Herkunftsdateien sind dann einfach nicht mehr vorhanden!! Wer etwas verschieben will, sollte das zB ber ^X machen. Die Dateien werden hier (im Gegensatz zum "normalen" Verst„ndnis der Fkt. "Cut") erst w„hrend des sp„ter angeworfenen Verschiebe-Vorgangs gel”scht. Fr die Interessierten: Ob eine Dateiliste mit ^X oder ^V geklemmt wurde, merkt sich Freedom (frecherweise (o:) ber das Archiv-Bit der Datei SCRAP.TXT. Bei ^X wird das (normalerweise gesetzte) Bit gel”scht. Ganz nebenbei: Man kann nun auch Dateien draggen, wenn Freedom als modaler Dialog erscheint! Sechs kleine Helferlein ---------------------- - Das Filepopup: Mal ehrlich: Wie oft arbeiten sie tage- oder sogar wochenlang immer nur mit den gleichen 4 Dateien, und suchen sie aber tagt„glich wieder mit ihrem Fileselektor. Das muž nicht sein! (o: In der Freedom-Konfigurations- datei k”nnen Sie bis zu 40 Dateien mit ihrem vollen Pfad eintragen, die sie dann in Freedom durch einen einfachen Klick aus einem Popup holen. Ihr Fileselektor nimmt ihnen dann alles ab: Wechsel in das Verzeichnis, Datei selektieren und 'Ok' drcken. Dieses Popup kann gefiltert mit der aktuellen Maske und auch ungefiltert ge”ffnet werden (Doppelklick)! - Das History- popup: Nun hat Freedom endlich auch eine History. Diese bleibt (wenn in der Konfig-Datei ein History-File angegeben ist) auch erhalten, wenn Sie den Rechner ausschalten! In diesem Popup finden Sie immer die letzten (max. 40) Files mit vollem Pfad, die Sie in ihrem Fileselektor ausgew„hlt haben. Dieses Popup kann gefiltert mit der aktuellen Maske und auch ungefiltert ge”ffnet werden (Doppelklick)! - Das Masken- & - das Pfadpopup: Hatte beides auch schon der Fileselektor, den Sie vor Freedom benutzt haben. Auch mit Freedom k”nnen Sie Eintr„ge in diesen Popups 'ersetzen', indem Sie einen Doppel- oder Shift-Klick machen. So wird die aktuelle Auswahlmaske bzw. der komplette aktuelle Pfad in das jeweilige Popup bernommen. Das hat allerdings nur tempor„ren Charakter, da es sich (noch) nicht abspeichern l„žt. M”chten Sie also einen festen Eintrag in eines der Popups neu aufnehmen, fhrt zZt kein Weg an der Konfigurationsdatei vorbei. - Das 'm”gliche Masken'-Popup: In diesem Popup sind immer nur die Masken zu sehen, zu denen im aktuellen Verzeichnis auch passende Dateien existieren. Der erste Eintrag in diesem Popup ist immer '*.*'. - Das Dateityp- Popup: ..erreichen sie mit einem rechten Doppelklick auf die Extension. Es zeigt die Namen von allen in der Konfig- datei definierten Dateitypen. W„hlen Sie einen davon aus, so wird er in spitzen Klammern als Extension bernommen. Halten sie Shift dabei fest, so wird der ausgew„hlte Typ mit Komma getrennt an die aktuelle Extension angeh„ngt. Einige letzte Bemerkungen zur Bedienung --------------------------------------- - Das kleine Symbol unten rechts im Fileselektor dient dazu, Freedom in der Gr”že zu ver„ndern. Dabei wird online die resultierende Gr”že des Filefensters in Spalten/Zeilen angezeigt. - An vielen Stellen ist der Fileselektor so ausgelegt, das es 'zwei-Wege'-bedienbar ist, will sagen: Die einen halten lieber w„hrend einer Aktion die ganze Zeit die Maustaste fest, die anderen klicken lieber am Anfang und am Ende einmal kurz. Freedom kann beides, und zwar fast berall: Bei allen Popups, beim Slider, bei der Fluchecke (falls Freedom mal modal kommen muss), beim Aufziehen ('Sizen') des Fileselektors und schliežlich sogar beim Drag&Drop (Ctrl o. Alt beim 'Greifen' festhalten). - Der 'Weiter'-Knopf im Such-Dialog hat noch einige Besonderheiten: Fr Mausbenutzer ist er so gestaltet, das man die Maustaste auf ihm auch gedrckt halten kann, um so quasi schnell 'vorzuspulen', wenn viele Dateien gefunden werden, die einen eigentlich gar nicht interessieren. Dies l„žt sich auch per Tastatur (Alt-W) erreichen, wobei dabei der 'Nachlauf' von Tastatur-Events unterdrckt wird! - Wenn angeschaltet, k”nnen Freedom und seine Alertboxen vollst„ndig im Hintergrund bedient werden, ohne das die rechte Maustaste dabei gedrcktgehalten werden muss. Wollen Sie trotzdem einmal ein Fenster von Freedom in den Vordergrund holen, brauchen Sie nicht unbedingt auf die Fenstertitelzeile klicken: Ein kurzer Klick auf irgendeine "funktionslose" Stelle im Dialog hat dieselbe Wirkung! 5. Kurzšberblick ber alle Tastenkombinationen von Freedom ========================================================== ^ bedeutet "zusammen mit Control" + bedeutet "zusammen mit Shift" Alt A-Z: Laufwerk umschalten ^BS, ^Undo: Eine Direktory-Ebene zurck ^A: Alles Selektieren +^A: Selektion Invertieren ^D: Selektierte Dateien l”schen ^N: Neues Objekt ^I: Objekt-Information +^I: Dateien-Z„hlung bzw. Laufwerks-Infomation ^B: Touch Tab: Objekt-Information ODER Autolocator (Wenn '#SHELLTAB' gesetzt) ^Tab: einmaliger Autolocator (zyklisch, Ordner und Files) +^Tab: einmaliger Autolocator (zyklisch, nur Files) ^F: An aktuellen Filselektor gebundenen Suchdialog ”ffnen (F wie finde) +^F: Ungebundenen Suchdialog ”ffnen ^C: Momentanen Status ins Klemmbrett sichern ^X: Dateien auf dem klemmbrett sichern (mit Verschiebe-Markierung) ^V: Dateien aus dem Klemmbrett kopieren/verschieben +^V: Status aus dem Klemmbrett wiederherstellen +^C: Dateiliste nach Formatstring #NICEFORMAT ins Klemmbrett ^H, Sortierung nach Namen (H wie Selectric ;-)) ^Z, " " Datum (Z wie Zeit) ^G, " " Gr”že ^T, " " Endung (T wie Typ) ^K, unsortiert (K wie Keine) ^R: Sortierrichtung umkehren (R wie Richtung) +^S: Dateien deselektieren nach Maske ^S: Dateien selektieren nach Maske ^E: Neue Maske eingeben (E wie Extension) ^Y: Popup der vorhandenen Ext. ”ffnen (Y wie sch”n nah an Control ;-)) ^P: Pfad-Popup ”ffnen ^J: Sortierungs-Popup ”ffnen (J wie keine andere Taste mehr brig) +^X: Popup der User-Extensions ”ffnen (X wie eXtension) ^M: Datei-Popup (gefiltert) ”ffnen +^M: Datei-Popup (ungefiltert) ”ffnen ^<: History-Popup (gefiltert) ”ffnen +^<: History-Popup (ungefiltert) ”ffnen ^L: Drive-Popup ”ffnen (L wie Laufwerk) ^W: Fenster wechseln +^W: Fenster rckw„rts wechseln Alt ^W: Globaler Fensterwechsel (nur mit AV-Server) ^Return, ^O: Selektiertes Objekt ”ffnen ^1-0: 1 bis 10 Verzeichnisebenen zurckgehen Alt Esc: Den geklemmten Pfad ausw„hlen Alt 1-0: Einen der ersten 10 Benutzer-Pfade auswahlen +Alt 1-0: Benutzer-Pfad 11..20 ausw„hlen ^TB-.: Die geklemmte Extension ausw„hlen ^TB-1-0: Eine der ersten 10 Benutzer-Extensions w„hlen +^TB-1-0: Benutzer-Extension 11..20 ausw„hlen ^TB-*: *.* als Extension w„hlen TB +: Entspricht: Crs-Dn+Klick auf 'Ok' TB -: Entspricht: Crs-Up+Klick auf 'Ok' +Esc, ^Esc: Verzeichnis neu einlesen Esc: Editfeld l”schen Return, Enter: Bedient "Ok" (Wenn ein Ordner selektiert ist, wird er ge”ffnet) +Return, +Enter: Bedient "Ok", deselektiert vorher alle Dateien, so das ggf. der im Editfeld eingegebene Name zum Zuge kommt ^Q,^U, Undo: Bedient "Abbruch" Help: Freedom-Info +Help, ^Help: Neuen (nicht applikationsgebundenen) Fileselektor aufmachen Alt-^Space: aktuellen Fileselektor/Alert (de-)iconifizieren ^Up,^Dn: Scrollpfeile bedienen Up,Dn: Aktuell selektierte Datei wie einen Cursor bewegen +Up,+Dn: Aktuell selektierte Datei wie einen Cursor seitenweise bewegen ClrHome: Ersten Eintrag im aktuellen Verzeichnis selektieren +ClrHome: Letzten Eintrag im aktuellen Verzeichnis selektieren Die Funktionstasten F1..F10, Shift-F1..F10 (F11..F20) sind nun frei belegbar. 6. Nebenl„ufigkeit ================== Seit der Version 1.13 ist Freedom komplett nebenl„ufig. Genau wie in einem kooperativen Betriebssystem "dispatcht" (also verteilt) Freedom intern die Rechenzeit zwischen verschiedenen, gleichzeitig laufenden Aufgaben, und gibt dabei natrlich auch regelm„žig Rechenzeit an das System ab. Dadurch k”nnen sie nicht nur auch unter normalen (kooperativen) TOS-Versionen weiterarbeiten, w„hrend Freedom Dateien sucht bzw. z„hlt oder gerade ein sehr langes Verzeichnis einliežt, sondern sie k”nnen sogar _innerhalb_ von Freedom weiterarbeiten! Jede Aktion, die sie in Freedom anwerfen (Suchen, l”schen, Touch, Dateien z„hlen, Verzeichniss einlesen, Kopieren und Verschieben) wird durch Freedom als extra Aufgabe (Task) verwaltet. Sie k”nnen beliebig viele dieser Aufgaben anwerfen, sie laufen alle parallel ab, und sogar im Hintergrund weiter, wenn sie ein Popup ge”ffnet haben bzw. gerade ein Fenster oder einen Dialog verschieben! Beim nebenl„ufigen Kopieren und Verschieben kann man leider aufgrund des langsamen GEMDOS nur auf schnellen Rechnern mit schneller Platte einigermažen angenehm innerhalb von Freedom weiterarbeiten, w„hrend er ackert... Aus Grnden der šbersichtlichkeit k”nnen Sie pro Fileselektor nur einen an diesen gebundenen Such-Dialog ”ffnen. Durch Rechtsklick auf das Such-Icon bzw. durch Shift-Control-F lassen sich jedoch weitere ungebundene Such-Dialoge ”ffnen, falls sie weitere Suchvorg„nge parallel starten wollen (Der Kopf ihrer Platte will besch„ftigt werden! ;->). Die Aktionen Datei-Z„hlung, Laufwerks-Information, L”schen, Touch und Datei-Info lassen sich beliebig oft anwerfen! (Wenn Sie die bersicht behalten! ;-)) Die Dialoge "Neue Maske eingeben", "Dateien selektieren" und "Dateien deselektieren" lassen sich (natrlich) nur einmal, gebunden an einen Fileselektor, ”ffnen und werden mit dem Schliežen desselben ebenfalls geschlossen. 7. Drag n' Drop =============== Freedom kann nicht nur per Drag&Drop Dateien an andere Applikationen weitergeben, sondern auch selbst welche Empfangen (MTOS und AV-D&D). Allgemein bedeutet dabei: - Ein Drag mit Shift, das der Ziel-Fileselektor sich schliežen und die 'abgeworfenen' Dateien der aufrufenden Applikation weitergeben soll (Wer die Shift-Taste nicht drcken will, muž die Dateien direkt auf das Eingabefeld ("Datei:") des entsprechenden Fileselektors ziehen.) - Ein Drag ohne Umschalttasten: Kopieren (wenn m”glich). - Ein Drag mit Control-Taste: Verschieben (wenn m”glich). - Eine zus„tzlich gedrcktes Alt-Taste beim Kopieren/Verschieben: Objekte vorher umbennen - Drag auf die Icons: Je nach Icon (o: BTW: Freedoms Icons (L”schen, Info usw.) k”nnen nun auch von "aužerhalb" benutzt werden (einfach mal was draufdraggen) Die Vorgehensweise Ziehen Sie Dateien auf eine andere, nicht blockierte Applikation, so fragt Freedom zuallererst beim AV-Server nach, ob dem die Applikation bekannt ist, und bergibt dann die Dateien ggf. ber den Umweg AV-Server. Ist kein AV-Server da oder dem die Appl. unbekannt, wird (als letzter Versuch) ein VA_START an den Besitzer des Fensters (wenn nicht ermittelbar, an die Appl. 0) versendet. Einige Programme sind f„hig, Daten auch ber das MTOS-Drag&Drop (ber Pipes) zu empfangen (zB GemView). Sie k”nnen diese Programm in die Freedom-Konfigurationsdatei eintragen. Freedom k”nnte immer erstmal das MTOS-Drag&Drop probieren, dann mžte der Benutzer aber bei den meisten Programmen eine Wartezeit von einigen Sekunden ertragen. Neu: Auch das Draggen auf das Pfad-Objekt des Fileselektors ist jetzt mit einer Bedeutung belegt: Objekt(e) selektieren. Es enspricht dem Draggen von Objekten auf das Eingabefeld, mit dem Unterschied, das der Fileselektor nicht geschlossen wird. 8. Das Dateityp-Konzept ======================= Konnte man in alten Freedom-Versionen einem bestimmten Dateityp nur ein Bildchen zuordnen, so ist ab der V1.14 noch folgendes weitere Dateityp-abh„ngig konfigurierbar: - eine Typbezeichnung - Eine Sortierpriorit„t - Vorder- und Hintergrundfarben im de- und selektierten Zustand Eine Zeile aus der Konfigurationsdatei (#FILETYPES) als Beispiel: Program 19 1 0 1 1 0 *.PRG,*.TOS,*.ACC,*.TTP,*.GTP,*.APP | | | | | | | | | | | | | | | +--Maske fr diesen Dateityp | | | | | | +-------Textfarbe (Selektiert) | | | | | +---------Hintergrund (Selektiert) | | | | +-----------Textfarbe (Deselektiert) | | | +-------------Hintergrund (Deselektiert) | | +----------------Nummer des zugeh”rigen Images | +----------------------Sortierpriorit„t +-----------------------------Typname (sinnvoll sind krzere Bezeichnungen (siehe Desktop Thing) Der Typname l„žt sich per Formatstring (%X) auch in das Verzeichnisfenster einblenden und taucht ausserdem in einem neuen Popup auf. Im Sortierpopup l„žt sich nun zus„tzlich die (natrlich langsamere) Typsortierung aktivieren. Ist sie aktiviert, wird der Dateityp von Freedom als prim„res Sortierattribut verwendet. Erst, wenn zwei Dateien denselben Typ haben, werden sie nach dem aktuellen sekund„ren Attribut (Name, Datum, Gr”že, Endung) geordnet. Auch die Reihenfolge, in der die Dateitypen in der Konfigurationsdatei stehen, hat (wie bei vorherigen Freedom-Versionen) eine Bedeutung: In genau dieser Reihenfolge wird versucht, den passenden Typ zu ermitteln. Die allgemeineren Masken sollten also weiter hinten stehen. Steht beim ersten Dateityp als Maske gleich eine "*.*", so liegen die anderen Dateitypen natrlich brach!! 9. Konfiguration ================ Freedom l„žt sich in weiten Grenzen konfigurieren. Beeinflussen k”nnen Sie neben vielen Unwichtigkeiten folgendes: - Font, Gr”že, Farben und Zeilenabstand im Fileselektor - Position des Scrollbars (links/rechts) im Fileselektor - diverse Verz”gerungszeiten - Je einen Formatstring fr 8.3- und lange Dateinamen - Ob Grož- oder Kleinbuchstaben verwendet werden sollen - Ob der Autolocator aktiv ist und ob er auch Ordner matcht - Ob in Alertboxen alle Kn”pfe gleich breit sein sollen - Wo der Kobold liegt (Environment-Var wird auch gecheckt) - Wie der Viewer heižt - Wie Parafin heižt ;-) - Wie die Funktionstasten belegt sind - Welche Dateien als Programmdateien interpretiert werden - Ob Ordner erst auf Doppelklick ”ffnen - Ob der Rechtsklick ins Filefenster scrollt (wie bei Thing) oder (wie berall sonst) einem Doppelklick entspricht - Ob Hintergrundbedienung von Fensterdialogen aktiv ist - Ob der Fileselektor in Mausn„he ge”ffnet wird - Anzahl der Zeilen/Spalten des Fileselektors - Bis zu 40 voreinstellbare Files - Bis zu 40 voreinstellbare Pfade - Bis zu 40 voreinstellbare Extensions - Der Pfad, wo die Images (FREEDMxx.IMG) gesucht wird - Gltigkeitsmasken fr die Images - Applikationen, bei denen Freedom modal kommen soll - Max. 16 Applikationen, bei denen Freedom garnich kommen soll - Max. 64 Applikationen, bei denen Freedom den VA_START-Trick oder den Menubar-Trick anwenden soll - Ob Freedom auch Alertboxen in Fenster legt Diese Parameter k”nnen (immer noch) nur direkt in der Konfigurations- datei unter Zuhilfename eines Texteditors ver„ndert werden. Diese Datei ist aber ausfhrlich kommentiert, also keine Panik. In einer n„chsten Version wird es ein Setup-Programm geben, mit dem diese Datei komfortabel modifiziert werden kann. Bestimmte Parameter werden sich auch zur Laufzeit von Freedom noch ver„nderen lassen. Freedom sucht beim Start die Konfigurationsdatei zuerst unter einem Namen, den er aus der aktuellen Aufl”sung zusammensetzt (genau, wie die Shell Gemini) bei 640x400 zB '06400400.CNF', bei 1280x960 dann '12800960.CNF'. Wird eine solche Datei nicht gefunden, wird noch 'FREEDOM.CNF' versucht, ansonsten werden die Standardeinstellungen verwendet. Freedom sucht die Konfigurationsdateien mit shel_find(), was schlicht und einfach bedeutet, das es die Suche den AES berl„žt. Letzteres sucht in der aktuellen Direktory und allen Direktorys, die in der Environmentvariable $PATH stehen. Mittels des Imagepfades ('#IMAGEPATH') in der Konfigurationsdatei kann man auch fr jede Aufl”sung und Farbtiefe unterschiedliche Imagedateien laden bzw. mittels der Fonteinstellung via #FONTID etc. verschiedene Zeichens„tze fr unterschiedliche Aufl”sungen bestimmen. Ein Beispiel: ------------- akt. Ordner in dem sich auch Freedom befindet: 03200200.CNF hat Eintrag mit: #IMAGEPATH C:\FREEDOM\FDIMG\SMALL\ 06400400.CNF hat Eintrag mit: #IMAGEPATH C:\FREEDOM\FDIMG\NORMAL\ Dann werden die Icons bei 320x200 Pixel in "C:\FREEDOM\FDIMG\SMALL\" gesucht. Abh„ngig von der aktuellen Farbtiefe wird dann dort bei 16 Farben die Imagedatei 'FREEDM04.IMG' geladen (siehe auch unten). Bei 640x400 Pixeln in 256 Farben wrde aus "C:\FREEDOM\FDIMG\NORMAL\" die Datei 'FREEDM08.IMG' als Icon-Satz geladen werden. WICHTIGE NEUERUNG DER VERSION 1.14 !!!!! Ein neues Token '#IMAGES' legt fest, als aus wieviel Einzel-Images bestehend die Imagedatei interpretiert werden soll (was fr ein Satz ;-)) Wird kein solches Token in der Konfigurationsdatei gefunden, so wird garnicht versucht, einen Imagesatz zu laden, sondern gleich der Standard- satz (bestehend aus einem Ordner-Image ;-)) benutzt. Wird #IMAGES dagegen explizit auf 0 gesetzt, werden gar keine Images vor dem Text dargestellt. Erst ein positiver Wert veranlažt Freedom zu dem Versuch, eine Imagedatei zu laden. Schl„gt das dann fehl, werden ebenfalls keine Images dargestellt. Einige allgemeine Anmerkungen zum Aufbau der Konfigurationsdatei: Freedom liežt die Konfigurationsdatei zeilenweise. Zeilen, die mit einem Semikolon (;) beginnen, werden ignoriert. In allen anderen Zeilen wird versucht, eines der Schlsselw”rter (z.B. '#AUTOLOCATE') zu erkennen, die alle mit einem Doppelkreuz (#) beginnen. Wird kein Schlsselwort erkannt, wird die Zeile als zum letzen eingelesenen Schlsselwort zugeh”rig angenommen. Bei einigen Optionen wird davon auch Gebrauch gemacht, etwa bei '#PATHS', wo bis zu 40 Zeilen mit weiteren Pfaden folgen k”nnen. Genauere Informationen zu den einzelnen Optionen finden sich in der mitgelieferten Beispiel-Konfigurations-Datei, mit der Sie jetzt gleich mal ihrem Lieblings-Texteditor fttern sollten (Vorher eine Sicherheitskopie machen!) 9.0 Die Imagedateien Freedom versucht, nachdem es die Konfigurationsdatei eingelesen hat, auf dem in der Datei angegeben Pfad eine Datei 'FREEDMxx.IMG' wobei fr xx die aktuelle Anzahl von Planes des Screens eingesetzt wird, also bei einer monochromen Aufl”sung FREEDM01.IMG, bei 4 Farben 02, bei 16 Farben 04 usw. zu laden. Wurde diese Datei gefunden und handelt es sich um ein XIMG mit genau der angegebenen Anzahl Planes, wird die Datei eingelesen. Anschliežend wird das Image in der Breite durch durch die in der Konfigdatei angegebene Imageanzahl (#IMAGES) in lauter einzelne Bildchen geteilt. Ist beispielsweise das Images 64 pixel breit und 16 hoch, und #IMAGES 4, so wird es in vier Teile, je 16x16 Pixel gross, aufgeteilt. Die Images aus dieser Datei k”nnen sp„ter einzelnen Datei-Typen (siehe Kapitel "Typkonzept") zugeordnet werden. 9.1 Der Format-String Freedom erlaubt Ihnen, die Daten in dem Fileselektor-Fenster auf fast beliebige Weise zu formatieren. Ausserdem kann jeweils fr normale 8.3-Filesysteme und Filesysteme mit langen Dateinamen ein verschiedener Formatstring angegeben werden. Es handelt es sich dabei einfach nur um eine Aneinanderreihung von Zeichen, wobei dem '%' (Prozent) eine Spezialbedeutung zukommt. Am einfachsten geht's mit einem Beispiel: Sie m”chen, das die Dateien in einer Zeile wie folgt formatiert werden: : EVEREST PRG 154.510 29.10.94 09:41 EVEREST INF 840 09.01.95 11:36 : Also erst der Name, dann die Endung, dann die Gr”že (mit max. 9 Ziffern), dann das Datum und schliežlich die Uhrzeit ohne Sekunden. Der Formatstring dafr k”nnte etwa wie folgt aussehen: #FORMAT %-F %-E%9P %2D.%2M.%2Y %T%h:%m Die Stellen, an denen ein '%' steht, weisen Freedom an, eine ganz bestimmtes Attribut (Name, Gr”že, Stunde, Minute usw.) der gerade formatierten Datei an genau dieser Stelle einzusetzen. Welches Attribut das ist, bestimmt Freedom aus den auf das '%'-Zeichen folgenden Zeichen. Zur Auswahl stehen: 'F': Dateiname bis zum letzen Punkt (also ohne Endung) 'E': Dateiname ab dem letzten Punkt (also die Endung) 'N': Voller Dateiname (unformatiert) 'D': Tag (1..31) 'M': Monat (1..12) 'Y': Jahreszahl (ohne Jahrhundert, 00..99) 'h': Stunden 'm': Minuten 's': Sekunden 'S': Gr”že (in Bytes) der Datei ("1345678"), bei Ordnern nichts 'P': 'Punktierte' Gr”že der Datei ("1.345.678"), bei Ordnern nichts 'K': Gr”že (in Bytes) der Datei ("1345678"), bei Ordnern '' 'T': Das Uhrensymbol, wenn die Datei tagesaktuell ist, sonst nichts 'A[xx]': Attribut-Bit des Files, default-Zeichen: [-a] 'W[xx]': Schreibgeschtzt-Status eines Files, default-Zeichen: [-r] 'H[xx]': Versteckt-Bit des Files, default-Zeichen: [-h] 'Z[xx]': System-Bit des Files, default-Zeichen: [-s] 'X': Typname 'a': Beliebiges ASCII-Zeichen (zB %13a fr CR oder %10a fr LF) '%': Das Prozentzeichen Tabulatoren (als Pseudo-Attribute): 'L': linksbndiger Tabulator (zeichenweise) 'C': zentrierter Tabulator (zeichenweise) 'R': rechtsbndiger Tabulator (zeichenweise) 'l': linksbndiger Tabulator (pixelweise) 'c': zentrierter Tabulator (pixelweise) 'r': rechtsbndiger Tabulator (pixelweise) (Liste ist fr Erweiterungsvorschl„ge offen) Das jeweilige Attribut wird von Freedom auf eine Defaultbreite formatiert. M”chten Sie das Attribut lieber breiter oder schmaler, k”nnen Sie die gewnschte Breite als Wert zwischen dem '%' und dem Attributbuchstaben eintragen. Freedom formatiert Attribute, die schmaler als die angegebene Breite sind, rechtsbndig. M”chten Sie ein Attribut lieber linksbndig formatiert haben, dann platzieren Sie ein '-' (Minus) direkt hinter das '%' Symbol des Attributes (siehe auch die noch folgenden Beispiele). Auf einem Filesystem mit langen Dateinamen ist die Aufsplittung eines Dateinamens in Prefix und Endung nicht mehr so sinnvoll, hier bietet sich etwa folgender Formatstring an: #LONGFORMAT %-20N%9P %2D.%2M.%2Y der als Ergebnis die folgende Ausgabe liefert: : EVEREST.PRG 154.510 29.10.94 EVEREST.INF 840 09.01.95 : welche etwas mehr Platz auch fr l„ngere Dateinamen l„žt. Proportionale Fonts Die Verwendung eines proportionalen Zeichensatzes in Freedom macht nur im Zusammenspiel mit Freedom's Tabulatoren (%L,%C,%R,%l,%c,%r) Sinn. Eigens fr die Tabulatoren merkt sich Freedom beim Parsen des Formatstrings einen horizontalen "Cursor". Ein Tabulator in einem Formatstring bewirkt dabei folgendes: Der Tabulator-Cursor wird um die Breite des Tabulator- Attributes nach rechts bewegt und dann der Text und die weiteren "normalen" Attribute hinter diese Tabulator entsprechend der Ausrichtung dieses Tabulators um diese Cursorposition herum formatiert. %l oder %L bewirken eine linksbndige Ausgabe rechts von der Cursorposition, %c und %C bewirken eine zentrierte Ausgabe, wobei die Cursorposition in der Mitte liegt und schliežlich %r bzw. %R bewirken eine rechtsbndige Ausgabe links vom Cursor. Ein Tabulator formatiert alle Attribute, die nach ihm kommen, bis zum n„chsten Tabulator bzw. bis zum Ende des Formatstrings, als einen String. Der Offset-Wert jedes weiteren Tabulators wird auf die aktuelle Tabulator-Cursor-Position aufaddiert, der Wert ist also immer relativ zum vorherigen Tabulator. Negative Tabulatoren sind erlaubt und Text darf auch mehrfach bereinander ausgegeben werden, die Ausgabe erfolgt dann transparent. Ist kein Tabulator aktiv, haben alle Attribute (wie bisher) eine Default-Breite, bis zu der durch Einfgen von Leerzeichen links oder rechts des Attributes aufgefllt wird. Dies ist bei proportionalen Fonts nicht sinnvoll, weshalb bei aktivem Tabulator die Attribute defaultm„žig alle ohne Leerzeichen ausgegeben werden (Die Formatierung soll ja durch den Tabulator erledigt werden). Deshalb sollte gleich das erste "Attribut" in einem Formatstring fr proportionale Fonts ein Tabulator sein. Ein (h„žliches) Beispiel: %12R%N%6C%P%6L%2D.%2M.%2Y %T%h:%m das Teilstck "%N" des Formatstrings wird auf 12 Zeichenbreiten rechtsbndig formatiert. Der Cursor steht dannach 12 Zeichenbreiten vom linken Rand entfernt. Jetzt kommt ein Zentrier-Tabulator, der den Cursor zuerst um weitere 4 Zeichen nach rechts bewegt, um dann das Teilstck "%P" zentriert um diesen Cursor auszugeben. Schliežlich kommt ein linksbndiger Tabulator, der den Cursur um 6 Zeichenbreiten bewegt, um dann rechts davon den Rest des Formatstrings ("%2D.%2M.%2Y %T%h:%m") auszugeben. 9.2 Der VA_START Trick Einige Programme, vor allem solche, die Dateien nur anzeigen, k”nnen von Freedom ausgetrickst werden, und w„hrend der Fileselektion sogar weiterlaufen! Die Idee ist sehr einfach: Dem Programm wird beim Aufruf des Fileselektors vorgegaukelt, der Benutzter h„tte sofort 'Abbruch' gedrckt (das Programm l„uft also gleich weiter), in Wirklichkeit ist der Fileselektor aber noch da, und wenn der Benutzer dann Dateien ausw„hlt, werden diese dem Programm einfach per VA_START 'nachgereicht'. Einige Programme, mit denen das klappt, stehen sogar schon in Freedoms Konfigurationsdatei. Viele Programme machen allerdings Probleme, wenn sie ber VA_START Dateien geliefert bekommen, die nicht existieren, etwa solche, die der Benutzer gerade neu erzeugen will.. Eine rhmliche Ausnahme ist der Texteditor Evererst, dem so gut wie alles per VA_START senden kann. (o: Ein Nachteil der VA_START-Methode ist, das die Applikation den ver„nderten Verzeichnispfad nicht mitbekommt und deshalb beim n„chsten ™ffnen eines Fileselektors wieder den alten Pfad bergibt. Wenn eine Applikation aber sowieso VA_START versteht und sie genug Platz auf dem Screen haben, so behalten sie doch einfach immer einen Freedom-Fileselektor offen. Aus ihm k”nnen Sie dann jederzeit Dateien auf Fenster einer VA_START verstehenden Applikation draggen. Der Aufbau einer #VA_START Zeile aus der Konfigdatei: PAULA Load MODfile | | | +--Fileselektortitel, mit dem Freedom vergleichen soll +---------AES-Programmname 9.3 Der Menubar Trick Und schon wieder ein neuer Trick: Applikationen, bei denen ein Fileselektor-Aufruf direkt mit einem Men-Eintrag verbunden ist, k”nnen in einer neuen Liste in der Konfigdatei (#MENUBAR) fr eine uneingeschr„nkt nonmodale _Mehrfach_selektion eingetragen werden. Dieses Verfahren hat gegenber dem vorher beschriebenen VA_START-Trick den Vorteil, das die Applikation auch das neue Verzeichnis und die neue Extension mitbekommt. Die Nummern der Menueintr„ge k”nnen mit dem beiliegendem Programm MENU_ID.APP ermittelt werden. Wie bei der VA_START Methode kehrt der Fileselektor beim ersten Aufruf mit Abbruch zurck, und liefert die Files nachtr„glich aus. Dazu wird der betreffenden Applikation eine MN_SELECTED Nachricht gesendet (und damit die Anwahl eine Menpunktes simuliert), auf die das Programm dann fsel_[ex]input aufruft. Statt jetzt einen neuen Fileselektor zu ”ffnen, wird einfach eins der selektierten Files zurckgegeben und ggf. erneut MN_SELECTED verschickt. Fertig ist die Mehrfachselektion. Auch dieses Verfahren klappt nicht immer, es gibt Programme ohne Menzeile und solche, die den Fileselektor aus Dialogen aufrufen. Wir raten ausserdem davon ab, Fileselektoraufrufe der Form "Speichern als..." hier einzutragen. Dieses Verfahren beinhaltet (noch?) kein Ged„chtnis, welches Applikationsfenster zum Zeitpunkt des Fsel-Aufrufs das oberste war. Genau das wird aber bei "Speichern als..." im Normalfall gesichert!! Sinnvoll sind also in dieser Liste nur vollkommen kontextunabh„ngige Fileselektor-Aufrufe! Der Aufbau einer #MENUBAR Zeile aus der Konfigdatei: PC 8 76 Select Project... | | | | | | | +--Fileselektortitel, mit dem Freedom vergleichen soll | | +--------Objektnummer des zugeh”rigen Menueintrages (item) | +----------Objektnummer des zugeh”rigen Menutitels (title) +-------------AES-Programmname (hier Pure C) Die Werte von title und item k”nnen mit dem (Schweine- ;-))Programm MENU_ID.APP (installierbar auch als ACC) einmalig ermittelt werden. Das Programm ist nur zum Konfigurieren gedacht, und kann (und sollte) danach wieder terminiert/entfernt werden. Da es auf die Menubars anderer Programme zugreift, l„uft es (im Gegensatz zu Freedom selbst) nicht unter protected MiNT. Natrlich ist auch die VDI-Ausgabe oben in der Ecke unsch”n, aber wie gesagt, man muž das Programm ja nicht dauerhaft installiert haben. Beachten Sie aužerdem, das sich bei einer neuen Version einer Applikation die Menpunkte verschieben k”nnten (sich also der Wert von "item" und sogar der von "title" „ndern k”nnten) und Sie deshalb ihre Freedom-Konfiguration uU updaten mssen. Wir haben den Trick schon mit einer ganzen Menge Programmen ausprobiert. Als prinzipieller Schwachpunkt stellte sich heraus, daž Freedom sich darauf verlassen muž, daž die versendete MN_SELECTED Nachricht auch wirklich vom Programm ausgewertet und mit einem fsel_[ex]input-Call beantwortet wird (nur so kann das n„chste File ausgeliefert werden). Nun kann es vorkommen, das die Applikation das Ausw„hlen des betreffenden Menpunktes genau zu diesem Zeitpunkt nicht zul„žt, etwa, weil es gerade noch das vorherige File einliežt, und deshalb das MN_SELECTED leider verwirft. Bei dem Programm Everest gengte es, eine Wartezeit von 0.5sec vor dem Versenden des n„chsten MN_SELECTED in Freedom zu integrieren, bei Pure C funktioniert es (zu unserer Freude ;-)) an sich immer, bei einigen anderen Programmen wiederum gar nicht. Freedom wartet nach dem versenden des MN_SELECTED 10sec, bevor es ggf. noch nicht "abgeholte" Dateien freigibt. Sollte die Applikation das MN_SELECTED geschluckt haben, und der Benutzer w„hlt manuell den betreffenen Menpunkt noch innerhalb der 10sec an, erscheint deshalb natrlich kein Fileselektor, sondern die weiteren Files werden so eins nach dem anderen ausgeliefert (also nicht wundern). Nach Ablauf der 10sec. erscheint bei Anwahl des Mentitels dann wieder der Fileselektor. In folgenden F„llen l„žt sich das Verfahren leider gar nicht oder nur sehr schlecht anwenden: - Applikation hat keine Menzeile - Die Applikation benutzt fsel_input statt fsel_exinput, mit dem Erfolg, das der Fileselektor keinen Titel hat (Defaulttitel "Datei ausw„hlen..." kommt) und damit keine Unterscheidungsm”glichkeit zu m”glichen anderen Fileselektoraufrufen desselben Programmes besteht (Bsp. SCOOTER), es sei denn, das Programm ruft nur an einer einzigen Stelle einen Fileselektor auf. - Die Applikation benutzt fsel_exinput, bergibt aber schwachsinnigerweise bei unterschiedlichen Fileselektoraufrufen denselben Titel. Es gilt dasselbe wie oben (keine Unterscheidungsm”glichkeit) - Die Applikation ”ffnet bei Anwahl des betreffenden Menpunktes erstmal bzw nach Einlesen der Datei nochmal einen Dialog, um irgendwas vom Benutzer zu erfragen (wenn sie den schnell genug wegklicken, gehts vielleicht..) 9.4 Funktionstastenbelegung Neu seit Freedom 1.11: Die Funktionstasten lassen sich nun vollkommen frei belegen! Dazu gibt es in der Konfigurationsdatei eine Option #FKTKEYS. Dahinter wird eine Zeichenkette erwartet, in der die Zeichen von links nach rechts gelesen die Belegung der Funktionstasten F1 bis F20 (F11 = Shift-F1) mit einer Auswahl aus Freedom's Funktionen bestimmen. Beispiel: 'A-JKDEFGIH' belegt F1 mit der Funktion A (siehe Liste unten), l„žt F2 unbelegt, belegt F3 mit Fkt. J usw. Alle unbelegten Funktionstasten werden an den AV-Server durchgereicht und k”nnen dort dann zB Beispiel das Starten von Programmen usw ausl”sen. Speziell fr Gemini 1.a Benutzer gibt es (auch neu) eine Option #NOSENDKEY, durch welche Freedom das Weitergeben von unbelegten Tastendrcken an den AV-Server generell verboten werden kann. Hier nun die m”glichen Funktionsbuchstaben: A = Laufwerks-Popup B = Datei-Popup (gefiltert mit akt. Maske) C = Extension-Popup D = Sortierungs-Popup E = Pfad-Popup F = M”gliche Extensions-Popup G = Selektieren nach Maske H = Deselektieren nach Maske I = Neue Maske eingeben J = Objekt suchen (an Selektor gebunden) K = Neues Objekt erzeugen L = momentanen Zustand ins Klemmbrett sichern M = Datei ”ffnen (anzeigen oder ausfhren) N = Aktuelle Selektion rekursiv z„hlen O = History-Popup (gefiltert mit akt. Maske) P = rekursives Touch ausl”sen Q = Zustand aus dem Klemmbrett wiederherstellen R = Einzel-Info aller selek. Dateien S = Dateienz„hlung auf aktuellem Laufwerk T = Nicht an einem Selektor gebundener Suchdialog ”ffnen U = Dateiliste nach Formatstring #NICEFORMAT ins Klemmbrett V = Datei-Popup (ungefiltert) W = History-Popup (ungefiltert) X = Dateityp-Popup - = Keine Belegung (Weiterleiten an AV-Server) Zur Konfigurationsdatei noch eine Anmerkung: Alle Pfade und Masken, die Freedom einliest, werden sofort (je nach Einstellung durch '#LOWERCASE') (aus optischen Grnden) in Grož- bzw. Kleinbuchstaben gewandelt. (Ist das nicht gewnscht, bspw. weil ein Pfad auf ein casesensitives Filesystem weist), kann dem Pfad oder der Maske ein Ausrufezeichen ('!') vorange- stellt werden. Freedoms Expressionmatch-Routine unterscheidet allerdings nie zwischen Grož- und Kleinschreibung, auch nicht auf case-sensitiven Filesystemen. 10. Sie programmieren selbst? ============================= Freedom kann direkt untersttzt werden. Genaueres dazu finden Sie in der beiliegenden Datei FDMPROTO.H, sowie SLECTRIC.H und BEISPIEL.C. Wichtig fr Programmierer, die ihrere Programme noch weiterentwickeln und Konflikten mit Freedom (bzw. seinen Benutzern (o:) aus dem Weg gehen wollen: Ist der FSEL-Cookie installiert und die Versionsnummer >= 2.00, sollte der fsel_[ex]input Aufruf NICHT mit BEG/END_MCTRL geklammert werden, ansonsten IMMER! Mit BEG/END_UPDATE sollte sowieso IMMER geklammert werden! 11. Still to come ================= - Umsetzung als eCPX unter dem erweiterten Kontrollfeld "Space" von Christian Grunenberg - Ein "Set" Feature. Bei beiden Tricks (VA_START/Menubar) und beim Freedom-Protokoll selbst ist es durchaus m”glich, die Dateien zwar an das betreffene Programm auszuliefern, den Selektor aber fr die Auswahl weiterer Dateien offen zu halten (eben ein Set) - Beim Konflikt-Dialog (Kopieren/Verschieben) ist es auch denkbar, ein Umbennen der Originaldatei zuzulassen - MTOS Path-Drag&Drop (fr NEWDESK) - verbesserter Menubar-Trick - Ein Setup-Programm, mit dem die Freedom-Konfigurationsdatei komfortabel editiert werden kann - Signal- und AP_TERM-Auswertung im Trapper 12. Bekannte Einschr„nkungen ============================ - Kein Aufruf aus TOS-Programmen. Prinzipiell geht das zwar, wenn dieselben im VT52/TOSWIN-Fenster laufen), dazu mžte allerdings das TOS-Programm vom residenten Teil kurzzeitig bei den AES (per appl_init) angemeldet werden, damit der Datenaustausch mit dem Fileselektor-Server, der ja ber AES-Messages abl„uft, funktioniert - Mit VRAM mssen die Programmflags 'lalt' und 'malt' gel”scht werden! - Das Zusammenwirken mit vielen "Schweineprogrammen" wurde noch nicht sehr intensiv getestet - Der Server verbraucht ber 160kB Speicherplatz (Ihr wolltet das Kopieren/Verschieben!) . Es gibt aus unserer Sicht jedoch keine Alternative zur Benutzung von EnhancedGEM. Der Verlust vieler Features und eine um vieles l„ngere Entwicklungsdauer w„ren die Folge. - Im MagiC-Singel-Mode wird der Freedom-Server gefreezed, was zur Folge hat, daž der residente Teil ihn nicht erreicht (Systemselektor kommt), bzw. einen zweiten nachstartet, wenn ihm ein Pfad in FFSEL.INF gegeben wurde. Ohne vernnftige MagiC-Doku wird sich an diesem Zustand nichts „ndern... - Signale unter MiNT werden vom residenten Teil nicht ausgewertet => mit jedem Prozess, den Sie mit offenem Fileselektor/Alert terminieren, (KILL/TERM) geht ihnen einer der 8 'Slots' im Traphandler verloren. 13. Problemkinder ================= - Alte Versionen der CD-Tools, die bisher mit Freedom funktioniert haben, strzen nun beim Aufruf von Dxreaddir durch Freedom ab! Abhilfe: Neuere Version besorgen. Das gilt fr alle MetaDOS-Treiber, die mit dem neuen Freedom Probleme machen. Freedom ist nicht das einzige Programm, welches Dxreaddir benutzt, also dulden sie keinen Treiber, der kein Dxreaddir kann!! - Falcon TOSe haben ein "erweitertes" Dsetdrv(), das im Zusammenspiel mit Metados bis zur Version 2.5 dazu fhren kann, das bei Programmen, die die Konstruktion Dsetdrv(Dgetdrv()) benutzen (wie Freedom oder Gemini), uU Laufwerke pl”tzlich verschwinden. Metados 2.6 sollte mit diesem Feature umgehen k”nnen. - MultiDialog. Gute Idee, drftige Umsetzung. Dieses Programm sollte berhaupt nicht verwendet werden! - STZip (2.6) fhrt keine Redraws aus, wenn sein Fenster im Hintergrund liegt - Fr das Menzeilen-Disablen wird das Men kurz ab- und wieder angemeldet, im Zusammenhang mit Let' em Fly's Nicelines gibt mit einigen Programmen das Problem, das sich Meneintr„ge verschieben (B”””se!!). Daran ist Freedom nicht schuld, Letemfly eigentlich auch nicht. šbelt„ter: Pixart (1.2), "Rastaman". Abhilfe: Nicelines abschalten oder Programme nicht benutzen.. - Letemfly: Wenn sie es unbedingt installieren mssen, dann _nach_ FFSEL.PRG, ansonsten kommt sich offensichtlich die Alertbehandlung beider Programme ins Gehege. 14. Fragen ber Fragen ====================== F: Warum ist Freedom aufeinmal 20kB gr”žer?! A: Wie vorausgesagt, ist der Einbau des Kopierens/Verschiebens mit kompletter Fehler- und Konfliktbehandlung (Speicherm„žig) etwas teuer (ca. 10kB) geworden. Ausserdem kommen noch der neue Menubar-Trick und das Typkonzept dazu. Trotzdem bedenke man folgendes: Dafr, das Freedom inzwischen schon fast die Funktionalit„t eines Desktops hat, ist er mehr als sparsam. Selbst MagXDesk ist ohne Fenster-Dialoge und Kobold- Untersttzung nur genauso grož. Von den anderen alternativen Desktops ganz zu schweigen (und jetzt sagt nicht, das w„ren alles nur die Farbicons! (o:) Aužerdem: Mit welchem anderen Programm k”nnt Ihr weiterarbeiten, wenn es kopiert? F: Immer nach einer bestimmen Zeit erscheint Freedom bei mir aus allen Programmen nur noch modal, solange, bis ich den ACC-Eintrag anw„hle. Es h„ngt wohl mit Papyrus zusammen. A: Offensichtlich wird hier von irgendeinem Programm ein form_dial gesetzt und nicht mehr zurckgenommen. Dadurch nimmt der Freedom-Trapper fehlerhafterweise an, es bef„nde sich noch ein Dialog auf dem Screen. Als (unhandlichen) Workaround haben wir schon vor einiger Zeit eingebaut, das bei Anwahl des ACC-Eintrages von Freedom das interne form_dial Feld gel”scht wird. In Freedom 1.14 gibt es zus„tzlich noch die M”glichkeit, die form_dial Abfrage im Trapper ganz auszuschalten (#NOFORMDIAL), mit dem Risiko, das Freedom bei bestimmten Programmen als Fenster ber einem Dialog erscheint und Bildschirmmll produziert. Zu Glck gibt es nur noch ganz wenige Programme, die ihre Dialoge mittels form_dial/form_do auf den Screen packen und dann aus diesen Dialogen auch noch einen Fileselektor aufrufen (Mir f„llt grad nur noch GemView ein). Beim Thema Dialoge sollte man als Programmierer wirklich die Multitaskingf„higkeit h”her werten als die l„cherliche Platzersparnis, die man durch den Verzicht auf Fensterdialogroutinen erreicht (Zumal es letztere in Massen als Freeware gibt!) Zu Papyrus: Sollte Papyrus wirklich der šbert„ter sein, so ist sp„testens ab Papyrus 4.0 ja Schluss damit, da die Entwicklung auf eine vernnftige Dialoglib umgestellt wurde... (o: F: ™rgs! Freedoms Radiobuttons sind ja jetzt unter monochrom achteckig! A: Chrisker hat bei dem Versuch, AES-Font-unabh„ngige runde Radiobuttons einzubauen, mehrere Stunden mit den VDI-Kreisen gek„mpft. Man wird den Verdacht nicht los, das die Programmierer des VDI nichts von Algorithmen zum Kreisezeichnen wužten und stattdessen lieber auf die Random() zurckgegriffen haben.. )o: Der eigentliche Erfolg von Chriskers Mhen ist deshalb nur zu bewundern, wenn man Freedom unter >=16 Farben und einem 3D-AES startet. Die Achtecke sind bei kleinerem AES-Font jedoch nicht mehr von Kreisen bzw. Elipsen zu unterscheiden. F: Warum bei CPXen der Systemfileselektor? A: Das ist erstmal eine Sicherheitsmažname, theoretisch k”nnte Freedom auch hier funktionieren, mžte dafr aber deutlich tiefer ins System einsteigen... Bis auf das das NVDI3 Font-CPX gibt es ja auch keinen Grund, sich diese Arbeit zu machen, zumal CPXe normalerweise keinen Fileselector aufrufen, sowieso zu klein, unhandlich und multitaskingfeindlich sind, ausserdem XControl unsauber programmiert ist, und... (Aber das wrde jetzt zu weit fhren.. ;-)) F: Warum kommt bei bestimmten Programmen ohne ersichtlichen Grund der Systemfileselektor? A: 1. Das Programm macht AES-Aufrufe vor dem appl_init bzw. macht gar kein appl_init (Fachbegriff: "Schweineprogramm"..) 2. Bestimmte Programme machen AES-Aufrufe auf unsaubere Weise. Es wird bei einigen Aufrufen nicht dasselbe global-Feld im AES-Parameter-Block bergeben, das appl_init initialisiert hat. Oft liegt das daran, das die Programme mit einer GEM-Lib entwickelt sind, die fr einige "neuere" AES-Funktionen (zB fsel_exinput) keine Bindings hat, so das der Programmierer sich eigene Bindings machen muss. In denen benutzt er dann ein anderes global-Feld als die Lib, oft sogar gezwungenermassen, wenn n„mlich gar keine M”glichkeit besteht, an den GEMPARBLK der Lib zu kommen, weil die Lib in Pascal, Basic o.ae. geschrieben ist. Die GEM-Lib von Pure Pascal benutzt sogar von sich aus schon falsche global-Felder. Unter Pure C dagegen ist es sehr einfach, fr eigene Bindings denselben GEMPARBLK wie die Lib zu verwenden. Unter MiNT macht das bergeben eines ungltigen global-Feldes sogar den AES selbst Probleme: In diesem Fall muž n„mlich immer erst die MiNT-ID der Applikation in die Appl-ID gewandelt werden. Sobald Andreas den Zugriff auf bestimmte AES-interne Informationen von MagiC3 dokumentiert, wird sich dieses Problem dann (zumindest unter MagiC) erledigen. F: Freedom kommt ohne ersichtlichen Grund als modaler Dialog?! A: Freedom benutzt die MCTRL-Semaphore der AES zur Erkennung von fliegenden Dialogen, da es in dieseme Fall natrlich nicht als Fenster kommen darf .. Einige wenige Programme klammern auch den Fileselektor mit MCTRL (zB Gemini), so daž Freedom annehmen muž, der Fileselektor wurde aus einem fliegenden Dialog aufgerufen. Wenn dies bei einem Programm nie der Fall ist, k”nnen Sie es in die Ausnahmenliste ('#IGNOREMCTRL') in der Konfigurationsdatei eintragen, Kandidaten dafr sind zB Gemview, Imploid und Gemini, NICHT jedoch zB CAT und Maxidat, die beide den Fileselektor auch aus fliegenden Dialogen aufrufen. Fr Programmierer nochmal die folgende Richtlinie: Ist der FSEL-Cookie installiert und die Versionsnummer >= 2.00, sollte der fsel_[ex]input Aufruf NICHT mit MCTRL geklammert werden, ansonsten IMMER! Mit UPDATE sollte sowieso IMMER geklammert werden! F: Wenn ich Freedom verschiebe, verschwinden urpl”tzlich die Fenster der aufrufenden Applikation, sind aber nach Schliežen von Freedom alle wieder da? A: Es handelt sich um ein prizipielles Problem von Freedom. Da die aufrufende Applikation auf den Fileselektor wartet, ist niemand da, der ihre Fenster ggf. neuzeichnen kann. Um Bildschirm-Mll zu vermeiden, hat Freedom in allen vorherigen Versionen Fenster, fr die es eine Redraw-Anforderung bekommt, mit dem "Freedom"-Logo gefllt. Das ist vielfach auf Ablehnung gestožen, aužerdem ist es wenig sinnvoll, die zu diesem Zeitpunkt funktionslosen Fenster berhaupt auf dem Screen zu behalten. Der Benutzer kam nur in die "Versuchung", sie zu verschieben, um in darunterliegenden Fenstern etwas zu machen, und viele Programme kamen dannach nicht mit den ge„nderten Fensterpositionen klar. Das neue Verfahren umgeht alle diese Probleme. Es mag auf den ersten Blick noch ungew”hlicher sein als das alte, ist jedoch kompatibler und eleganter, und mit deutlich weniger Aufwand seitens Freedom verbunden. Fr Programmierer: Das alte Verfahren hatte ein weiteres entscheidenes Problem: Freedom hat zwar nach dem Verschieben von Fenstern der Applikation ein WM_MOVED, gefolgt von einem WM_REDRAW nachgesendet. Aber 1. werten viele Applikationen direkt nach der Fileselektion erst mal keine Nachrichten aus, und 2. kam manchmal ein weiteres, von den AES verschicktes WM_REDRAW dazwischen, weshalb das WM_MOVED nicht mehr als erste Nachricht bei der Applikation ankam und damit das Fenster an einer falschen Position neugezeichnet wurde. Auch k”nnen bei etwas mehr durch Freedom nachgereichte Nachrichten, welche bei Protkollen wie XAcc zwangsl„ufig anfallen, uU Nachrichten verlorengehen, was ab einer bestimmten Obergrenze mit alle bekannten AES-Versionen passiert. Der (mildeste) Effekt ist, das Applikations-Fenster, die sie w„hrend der Fileselektion verschoben haben, keine Redraw/Moved-Nachrichten erhalten, obwohl diese (im Sysmon nachvollziehbar!) abgeschickt wurden. Unter MagiC w„hre bei vielen Fenstern uU als Workaround statt dem Versenden der vieler Redraws das Ausl”sen von SMC_TIDY_UP denkbar... F: Wenn Kobold oder Parafin, von Freedom aufgerufen, ihr Fenster schliessen, toppt sich unter MagiC scheinbar zuf„lliges Fenster? A: Dieses fehlerhafte Toppen geht von MagiC aus! MagiC versucht zu verhindern, das das Topwindow und die aktuelle Menzeile zu unterschiedlichen Programmen geh”ren. Dazu l„žt es (zur Freude des Users) beim Schliežen des letzten Fensters einer Applikation den Fensterstapel aužer acht. Normalerweise wrde dieser Effekt auch jedesmal auftreten, wenn Freedom sein letztes Fenster schliežt (und das tut es sehr oft!) Zum Glck ist uns da ein Trick eingefallen: Wenn MagiC vorhanden ist, lowert Freedom das entsprechende Fenster vor dem Schliežen (Wenn man ganz genau hinkuckt, sieht man das auch). Wenn das letzte Fenster n„mlich beim Schliežen nicht das oberste ist, verh„lt sich MagiC ganz "normal". Bleibt nur zu hoffen, das Andreas sich in diesem Punkt doch noch ber den Willen seine Betatester hinwegsetzt... Schliežlich kann man doch nicht von allen Programmierern verlangen, diesen Trick einzusetzen... F: šbersteht Freedom eigentlich einen Aufl”sungswechsel? A: Eigentlich ja. Wenn sie ganz sicher gehen wollen, schliežen Sie auf jeden Fall alle Fileselektoren/Alerts von Freedom!!! F: Warum kommt unter MiNT bei "Load ...." der Systemalert + Fileselektor? A: Dieser Alert/Fileselektor wird vom AESSYS aufgerufen, und diesem Prozess sollte man tunlichst NICHT den Faden abnehmen... F: Warum kommt beim MagiC-Popup "Programm starten.." der Systemfileselektor, obwohl Selectric da funktioniert? A: Fr diesen Fall hat MagiC eine seperate Fileselektorschnittstelle, die sich jedoch fr Freedom's Zwecke als nicht brauchbar herausgestellt hat. Deshalb wird an dieser Stelle immer der Systemselektor kommen! (bzw Selectric, wenn Sie den vor FFSEL in den AUTO-Ordner packen) F: Ab und zu mal strzt Gemini 1.a ab, wenn ich in Freedom Tasten drcke, die Freedom nicht belegt hat! A: Freedom gibt Tastendrcke an den AV-Server weiter, wenn er sie nicht kennt. In Gemini 1.a scheint sich ein Fehler eingeschlichen zu haben, der es beim Emfang von AV_SENDKEY abstrzen l„žt. Siehe auch die Option #NOSENDKEY in Freedom's Konfigurationsdatei. F: Es gab einen Systemdeadlock/Absturz, w„hrend ich Freedom testete... A: Wir selbst haben Freedom jetzt schon einige Monate bei uns im Einsatz und keine Schwierigkeiten festgestellt. Allerdings haben wir natrlich nur mit den Programmen testen k”nnen, die wir selbst besitzen. Wenn Sie also einen "šbelt„ter" ausmachen k”nnen, der unbedingt noch in Problemkind-Liste oben reinmuž: Programmname, Version und Effekte an uns schicken (email-Addressen am Ende dieses Textes) F: Muss es sein, das Freedom unter SingelTOS einen ACC-Slot belegt? A: Ja. Es geh”rt zum Konzept von Freedom, das die eigentliche Funktionalit„t des Fileselectors/Alerts in einer parallel laufenden Applikation realisiert ist und unter SingelTOS geht dies eben leider nur ber Accessories. Mit der eCPX-Umsetzung wird sich das allerdings „ndern! F: Kann es sein, das einige Einstellungen in der Konfigdatei von Freedom erst beim 2. Aufruf Wirkung haben (#VASTART, #MENUBAR, #NOALERTS), wenn Freedom im Nachlademodus betrieben wird? A: Stimmt, das ist ein prinzipielles Problem, das sich mit dem demn„chst geplanten Umsetzung von Freedom als ein eCPX unter Space l”st. F: Warum sind die drei Images„tze (FREDOMxx.IMG) so h„žlich? A: Weil Chrisker sie entworfen hat. F: Warum sind die Funktions-Icons unten links in Freedom so h„žlich? A: Weil Kolja sie entworfen hat. 14. Fast vergessen ================== Wir bernehmen keine Haftung oder Verantworung fr direkte oder indirekte Sch„den jedweder Art, seien sie finanzieller, materieller oder sonstiger Art, die aus dem Gebrauch, Nichtgebrauch oder Mižbrauch von Freedom ent- stehen. Aužerdem darf Freedom nicht ohne schriftliches Einverst„ndnis unsererseits in irgendwelche kommerziellen PD- und Shareware-Sammlungen aufgenommen werden. Jetzt ist aber endgltig Schluž: 15. Hau to register: ==================== 1. Moeglichkeit: ---------------- DM 30,- (bar, V-Scheck) und ein frankierter und adressierter Rckumschlag in einen Brief und ab an: Kolja Koischwitz Sandhauser Straže 21 13505 Berlin 2. Moeglichkeit: ---------------- 30,- berweisen/einzahlen auf das folgende Konto: Kolja Koischwitz, Konto-Nr. 705 92-100, beim PGiroamt Berlin, BLZ 10010010. mit einem _eindeutigen_ Vermerk, wer der šberweiser ist!! Parallel sollten Sie mit uns ber Email/Sackpost Kontakt aufnehmen. Zur Errechnung eines Schlssels brauchen wir _auf jeden Fall_ folgende Daten von Ihnen: Name: ........................ Straže: ........................ PLZ/Ort: ........................ In beiden F„llen erhalten Sie schnellstm”glich einen Schlssel, mit dem Sie das Registrierungsprogramm dazu bringen k”nnen, ihnen eine pers”nliche, uneingeschr„nkte Programmdatei FREEDOM.APP auuszupacken! Falls Sie eine Email-Addresse haben, bevorzugt per Email, ansonsten muss ein frankierter Rckumschlag in ihrem Brief beiliegen. Ganz nebenbei: Wenn sie unbedingt die neueste Version auf Diskette zugeschickt haben wollen, dann sollten sie auch eine solche beilegen und vor allem Rckumschlag/Rckporto nicht vergessen!! Besonders nett w„re, wenn sie fr den zus„tzlichen Aufwand unsererseits vielleicht ihren Sharewarebeitrag von sich aus etwas erh”hen. (o: Da wir drei nur je einen Anteil an den 30,- erhalten, registrieren wir ansonsten n„mlich manchmal zum Nulltarif oder mssen sogar noch draufzahlen! Nachfragen k”nnen per Email gerichtet werden an: Kolja: joust@cs.tu-berlin.de Chrisker: chrisker@cs.tu-berlin.de Criss: Christian_Grunenberg@lb.maus.de (EnhancedGEM-Library) Das wars, Kolja & Chrisker