EClock Version 1.00 from 22.05.94 Upgrade of Clock V2.2 (totally rewritten) Copyright (C) 1992-1994 by Bernd Grunwald Zugspitzstr.78 82223 Eichenau Germany (Europe) The passing-on will be only allowed if the author's name and the note of the copyright have NOT been removed, if the passing-on is free or ONLY the copy-fees are covered and this doc-file is always included ! The passing-on of the Key-File is NOT allowed! THE AUTHOR WILL NOT BE LIABLE FOR ANY DAMAGES CAUSED BY THIS PROGRAM What is EClock? *************** EClock is a Clock-prog (what else :-)) which can be started from the CLI as well as from the Workbench. It's not extraordinary but it includes some usefull features: EClock is able to pop up on the momentary screen automatically, you can choose as many alert times as you like ... Why have I renamed Clock v2.2 into EClock? Clock started as a little assembler program with a source code length of about 4KB. Because many improvements were sent to me I included most of them in this source to please your needs :-). But then suddenly I reached a point from that on I was searching longer for where to insert the improvement than coding that feature. (1) That's why I decided to completely recode Clock, and change the name. Because I had to learn Modula II at my university I bought a compiler for my Amiga. I liked it so much that I decided to write the new EClock in Modula II, to make it easier to include new features and remove bugs ... The key-file for registered Clock users is of course the same one as the one for registered EClock users. That means all registered (See Registration) Clock Users can use EClock without that requester going on your nerves, when you start EClock. ---------- Footnotes ---------- (1) Among programers known as spaghetti code :-) Differences Clock/EClock ************************ * There are two modi of EClock: - UsePublicScreens only (See Main window gadgets) (use only PublicScreens to appear on) and therefore is mostly system conform. - UseEveryScreen (uses every screen to appear on) is not as system conform, but perhaps you want to have a clock that appears also on screens like DPaint, PPaint ... * EClock now consists of three parts. - EClock, the main program (See EClock), that is active the hole time. - EClockPrefs, the configuration program (See EClockPrefs). - And ERequester (See ERequester), that is started, whenever you wish an alert requester to appear. This division was made, because you don't often have to use the configuration program and therefore don't have to waste the memory for this part of EClock. * EClock has no limitation of the number of alert times. (See EClockPrefs timer window). They are depending only of the amount of memory you have and from the amount of processor time you want EClock to give for handling the alert times. * EClock supports wildcards. That means you can use e.g. "??:00:00#?" for an hourly alert or "(??:00:00#?|??:30:00#?)" for an half hourly alert. * EClock is now also able to start an alert at a special date or day. Wirldcards are of course supported so that you can e.g. enter "(Thu#?|Fr#?)" for Thursday and Friday. (Be carefull this is localized) * EClock will replace the following 3 characters in the requester text: \ This character will be changed to a return, so that a new line is started in the requester window. Now you are able to create nicer looking requesters with as many lines as you like :-). %t This character will be replaced by the time the requester is started. %d This character will be replaced by the date the requester is started. * Now, you can define as many screens, as you like to open EClock on. (See EClockPrefs screen window). You can select the x- and y-position ... where EClock should open its window on that screen. EClock will always prefer screens, that are placed above other ones in the listview gadget. Installation ************ At first you have to copy the file ERequester somewhere, where it can be found by the system (be sure you added it in the path list), but you should prefer the "c:" directory. You need this file to use the requester feature of EClock. Now you should copy the EClock program (and its icon) in the "SYS:WBStartup" drawer or somewhere else, but then you have to start it by hand in the "S:User-Startup" sequence. This is the main program of the EClock package. Then you should copy EClockPrefs (and its icon) in the "SYS:Prefs" drawer, because EClock searches for it in that drawer. If you have installed the locale.library (WB2.1+) and you want to install the german catalog file (Sorry I have nobody, who translates my catalog file in other languages than english and german, so if you would do that and sent it to me you will get the newest registered version of EClock from me for free!) you have to copy the file "EClPrefs.catalog" to "locale:Catalogs/Deutsch". Now you have to run EClockPrefs and save a configuration, because EClock needs a proper one to start, otherwise EClock will inform you, that it couldn't find the prefs file "env:EClock.config" ... Now you can start EClock and admire it :-) Or just use the installation script ... Program explanations ******************** EClock ====== EClock menu ----------- The menu of the EClock main program consists of the following parts: Change Prefs Starts the program "SYS:Prefs/EClockPrefs" Change Colors starts the reqtools color requester on the screen EClock is currently on. But you have to be aware that EClock is not running as long as you close the requester again, so that no alert can be recognized when you don't close the requester ... About starts the program ERequester and shows my address ... Quit What do you think that will do? :-) EClock window ------------- There are two possiblilties to control EClock: The zoom gadget If you click on that gadget EClock will immediately disappear from the screen it currently is on and will never appear on it again. But there is only one screen (by address) saved on which EClock should not appear, so if you want to bring EClock back to the screen you once pressed the zoom gadget on, you only have to press that gadget on another screen, so that EClock can disapear from that screen and so on ... This gadget was designed for you to close public screens EClock has its window open on at the moment. Close gadget What do you think that will do? :-) EClock shell startup -------------------- To start EClock with another config file EClock supports a CLI argument. e.g. "EClock ENV:EClock.config" EClockPrefs =========== EClockPrefs main window ----------------------- Main window menus ................. The EClockPrefs main window consists of the following parts: Open... With this menu item you can load another config file. An ASL-Requester will be started for you to select the config file to load. Save As... With this menu item you can save the config file with another filename. An ASL-Requester will be started for you to select the config file to save. About My address ... is shown in a requester. Quit What do you think that will do? :-) Main window gadgets ................... The gadgets in the EClockPrefs main window consist of the following 4 parts: Global Settings German Time Activates the 24 hour mode. Long Day String... Activates the full day names, otherwise 2 letters. Date with "." Activates the date division by ".", otherwise by "-". Use Only PubScreens Activates a system conform way to handle screens. But this means, EClock is only able to appear on public screens. Priority Here you can select the task priority EClock should run with. If you want to use the alert feature try a priority of 6 to 1. Screen Prefs Listview Doubble clicking on one element of the List will activate the EClockPrefs screen window (See EClockPrefs screen window). The higher an entry is located in the list the earlier it is compared to the screen names and if one screen name matches the the first pattern it will appear on it without checking the other entries. ADD Adding a new entry to the list. (Will always be appended at the end of the list.) DEL Deletes a selected entry. UP The activated entry will step one place up in the list. DOWN The activated entry will step one place down in the list. TimerPrefs Listview Doubble clicking on one element of the list will activate the EClockPrefs screen window (See EClockPrefs timer window). ADD Adding a new entry to the list. (Will always be appended at the end of the list.) DEL Deletes a selected entry. UP The activated entry will step one place up in the list. DOWN The activated entry will step one place down in the list. Actions SAVE Saves the file EClock.config in the ENV: and ENVARC: drawer. If a config file was given at the start of EClockPrefs or if you selected a config file with the menu item "Open..." then the config file is only saved under that name. USE Saves the file EClock.config in the ENV: drawer. If a config file was given at the start of EClockPrefs or if you selected a config file with the menu item "Open..." then the config file is saved under that name. CANCEL Cancels the made changes without saving (the same as the close gadget). EClockPrefs screen window ------------------------- Screen pattern Here you can enter a pattern with wildcards (#? ...) (It is not case sensitiv). If the pattern matches with the momentary screen then EClock will appear on it. You have to remember, that the list is scanned from the 1. entry in the list and the first matching entry will be used. XPOS Here you can select the x-position, where EClock should open its window on the "Screen pattern" screen(s). YPOS Here you can select the y-position, where EClock should open its window on the "Screen pattern" screen(s). Show Date Activates the date display in the EClock window on that screen. Show memory Activates the memory display in the EClock window on that screen. OK Will copy changes to the list. CANCEL Cancels the made changes (the same as the close gadget). EClockPrefs timer window ------------------------ Weekly If this gadget is activated then it will not be compared the datestring for matching to an alert, but the daystring will be used. Thats why it is possible to start an alert at special days (every week) and not only on special dates. (e.g. "(Th#?|Fr#?)" as "Date Pattern") Date Pattern Here you can enter a pattern with wildcards (#? ...) (It is not case sensitiv). If the pattern matches with the actual date and the "Time Pattern" matches then EClock will start an alert. e.g. "Th#?" + activated "Weekly" => only on Thursdays something happens. Time Pattern Here you can enter a pattern with wildcards (#? ...) (It is not case sensitiv). If the pattern matches with the actual time and the "Date Pattern" matches then EClock will start an alert. German e.g. "#?:00:00" => every full hour an alert is started. English e.g. "(#?:30:00#?|#?:00:00#?)" => every half hour an alert is started. The "#?" after "#?:30:00" and "#?:00:00" is important because an english time will end with "PM" or "AM". Req Activates a requester, that is started every time an alert occurs. This requester will be created by the program ERequester, that is started at an alert with the arguments selected in "Req. Text". Req. Text Here you can enter the text you want to appear in the requester. The ASCII code 254 is not allowed and will be filtered out in all string gadgets. The character "\" is used for a linefeed. You can therefore create nicer looking requesters as you could with Clock 2.2. The requester is startet always on the momentary public screen, or if no one is in front it will use the Workbench. File Activates a program, that is started when an alert occurs. (it will be started with "RUN NIL:") If this gadget is activated the program, with the name selected in the "Filename" gadget, will be started. Filename Here you can enter the filename with arguments, that is started on an alert. G Opens an ASL-filerequester to select the program in the "Filename" gadget. DisplayBeep Activates a DisplayBeep on an alert. OK Will copy changes to the list. CANCEL Cancels the made changes (the same as the close gadget). EClockPrefs shell startup ------------------------- You can start EClockPrefs with an argument (the config file name). (This is used by EClock if it starts EClockPrefs by menu) ERequester ========== ERequester is a little program that shows a requester on the visible public screen or, if no one is in front, on the Workbench. The text shown in the requester is given to ERequester by a CLI argument at the start. The character "\" will be converted to a return, to be able to create requesters with several lines. e.g. `ERequester "Hello it is very late now\:-)"' Registration ************ If you use EClock longer than 1 week you have to register. Then you will either get a key-file via Fido or Z-Net, or a disc with the new EClock Version, key-file and a few little bonus programs. For interested persons, I will include the source code of Clock v2.3. If they can't stand the new EClock, they can edit Clock and fullfill their needs with that new program. But you then have to send me a copy of that program for free (and every new version) if you pass your version on (in any way). My name and address have to be left in that modified versions, but you are free to add your name ... If you´ve got the key-file the info window will not be shown anymore in the beginning. The key-file will also be usable (who knows; see keyfilemaker for LHA ... ) with later versions of EClock so I think it is affordable for everyone. If you then get a new EClock Version via Net or PD disc you can use it without any windows or requesters going on your nerves. In the key-file your name and address are saved, so that I can quickly say from whom this file is. So don´t pass-on this key-file, because it is not allowed! For the costs of registration see the included registration form. (please only use this form) The newest EClock Version will be put in the "Avalon Magic" Mailbox where you can easily get it from like this: As username you type "SAUGER" then you type "CD /SAUGER/AMIGA" and with "INH *" you can take a look at the files that are in that area. To download the newest EClock version you just type "LE xx" (where xx = is the number of EClock in the filelist). The telefon number of the AMC: 1200 - 14400 Bps HST V32 V32bis V42 V42bis Tel: +49-(0)89-3130290 24h Online If you are a registered Clock or EClock user you can also get a new version, if you sent me a letter with a disc and enough money for the stamps to sent the disc back to you. Remarks ******* If you have suggestions or improvement proposals ... I can be reached by email: Zerberus-Net: EMBO@AMC.zer.sub.org or Fidonet: Bernd Grunwald of 2:2480/3508.100 if nothing else works (1) also InterNet: embo@eikon.e-technik.tu-muenchen.de Have fun with that program! Flames => NIL: If the program doesn't work as its name promises, please send me your equipment-list (computer, kick-version, workbench, startup-sequence)! Don't forget a detailed error report! ... Many thanx to: Toni Günzel Peltner (WEGAR@AMC.zer.sub.org) for betatesting and for the SUPER progam TheAnswer III !! Holgi (H_LEVSEN@BINGO.zer.sub.org) Peter Fröhlich (P.FROEHLICH@AMC.zer.sub.org) Thomas Strauß (THOMAS_STRAUSS@SAARAG.zer.sub.org) Stefan Brandes and all other people, computers, coffee-cups (I hate coffee :-) ) ... ---------- Footnotes ---------- (1) that can last a long time, because I am not very often at my University to read mails ... History ******* Nothing yet :-) Tips & hints ************ Index ***** Differences Clock/EClock Differences Clock-EClock EClock EClock EClock menu EClock menu EClock shell startup EClock shell startup EClock window EClock window EClockPrefs EClockPrefs EClockPrefs main window EClockPrefs main window EClockPrefs screen window EClockPrefs screen window EClockPrefs shell startup EClockPrefs shell startup EClockPrefs timer window EClockPrefs timer window ERequester ERequester History History Installation Installation Main window gadgets Main window gadgets Main window menus Main window menus Program explanations Program explanations Registration Registration Remarks Remarks Tips & hints Tips & hints What is EClock? What is EClock?