WindowDaemon 1.9 Copyright (C)1992,93,94 David Swasbrook. ================ If you are upgrading from version 1.8 or earlier then you may wish to know that the configuration is now stored in the ENV: and ENVARC: directories and no longer as tool types. Disclaimer Legal information Shareware Shareware information Requirements Whats needed Introduction Introduction to WindowDaemon Update Information How to get the latest WindowDaemon version Special Thanks Thankyou for your ideas/support History A very brief history of WindowDaemon Index A brief index Disclaimer ********** I hereby reject any liability or responsibility for these or any other consequences from the use of WindowDaemon whatsoever. This includes, but is not limited to, damage to your equipment, to your data, personal injuries, financial loss or any other kinds of side effects. Although WindowDaemon has been tested thoroughly on several different machines, I cannot rule out the possibility that WindowDaemon o is somehow incompatible to your equipment o has bugs that show up on your equipment o does not do what it is supposed to do on your equipment It is your responsiblity to take any precautions necessary to protect yourself from these or any other effects. I explicitly reject any liability or responsibility from the consequences of you using WindowDaemon. Swaz. Shareware ********* WindowDaemon is shareware. The program may be freely distributed and copied, as long as the following conditions are fulfilled: o The sales price must not be higher than the cost of an (empty) disk plus a nominal copying fee plus costs for shipping. The total price must not be higher than 5 US$. o All parts of the program and the documentation must be complete. The distribution of single parts or incomplete subsets of the original distribution is NOT ALLOWED. o WindowDaemon or parts of it may not be sold in combination with or as part of commercial software. o Program and documentation may not be changed in any way. o Permission has been given for distribution through Aminet and Fred Fish. WindowDaemon is shareware, this means I request those users, who use WindowDaemon, to send me the shareware fee of 10 US$ (20 $NZ) (or any other contributions gratefully accepted) to the following address: Postal: David Swasbrook, 43 Pickwick Parade, Howick, Auckland, New Zealand. Internet: swaz@iconz.co.nz (private) or msd@iconz.co.nz Please include the following information in your registration: o your name, address (electronic mail addresses preferred) o your Amiga model(s) o Kickstart and Workbench versions o the WindowDaemon version number I assure you that the information you send me will be treated confidentially. I will try and inform everybody, who has registered with me as described above, when a new version of WindowDaemon becomes available. If you have sent a sharware donation, if possible, you will recieve an update through mail (preferably email). Thank you very much in advance ! Requirements ************ The following are required for WindowDaemon to run: o Kickstart V37 or higher. o matrix.library version 23.1916 or higher o For additional features for WindowDaemon you should be using kickstart V39 or higher. MatrixLibrary ************* Copyright © David Swasbrook, All Rights Reserved. o Yet another library to put in your LIBS: drawer. o Matrix.library is a development tool which will be used in fourthcoming releases of programs I have written. o The name "matrix" came from "The Matrix" - The computer system used by the TimeLords (Re: Dr Who). Introduction ************ WindowDaemon gives you more control over intuition windows and screens. Arexx Control via arexx Commodities Standard commodities interface Configuring How to configure List of Hotkeys Assign keys to perform actions Locale Interface available in different languages Screen/Window Requestor Goto a screen or window easily Sounds Sound effects Workbench Enhancements Workbench improvements Screen/Window Requestor *********************** This provides a way to find a screen or window by simply pressing the right mouse button in the top right hand corner of a screen. The requestor will list all named screens and windows (or just screens only). Double clicking on a screen or window will bring the screen and window to the front of the display... saving you the trouble of looking for it. Commodities Support ******************* WindowDaemon is a commodity and supports standard commodities features. The following arguments may be specified as either ToolTypes or entered in on the command line. If possible WindowDaemon will load the tooltypes from the icon (if available) and any cli arguments will overide the tooltypes specified. CX_POPKEY - The hot key to display the WindowDaemon interface. Default = "CONTROL ALT w" CX_POPUP - Show the WindowDaemon interface. Default = FALSE. CX_PRIORITY - Set the priority of the WindowDaemon broker. Workbench Enhancements ********************** o Selecting the CLOSEWINDOW gadget and holding down the CONTROL key will open the drawers parent window. o Double clicking on a drawer while holding down the CONTROL key will close the current window (unless it is the main workbench window). NOTE: This is only available under V39 or higher kickstarts. o Selecting the CLOSEWINDOW gadget and holding down the ALT key will close all workbench drawer windows. o The HELP key may be used to obtain information on the currently selected icons. o The DEL key may be used to delete the currently selected icons. The About Window **************** This window may be displayed by either running WindowDaemon while it is currently installed, through the POPKEY, or through the Commodities Exchange. WindowDaemon Settings Editor ***************************** The editor for WindowDaemon settings may be activated through the WindowDaemon interface by selecting the "Settings" button from the about window. ALT patch - if checked then patches will be installed for the ALT-CloseWindow to perform the action of closing all workbench windows. WBWindow patch - if checked then a patch is installed such that when you double click on a drawer on workbench the currently active window will be closed if you are holding down the CONTROL key. And also when closing a drawer the parent drawer can be opened automatically. Reverse Close - if set then when a window is closed its parent window will be opened. Also when a drawer is opend its parent window will be closed. It is necessary to set the WBWindow patch for these features. Screen Select - if set then pressing the right mouse button in the top right hand corner of the screen will display a requestor to select a screen or window. Both Buttons - if checked this will enable the window to front or back action to be performed when both mouse buttons are down. MSDSounds - if checked this will send an Arexx command to the Arexx Port named "PLAY". See Sound Useage. Arexx Port - Sets the name of the arexx port. Listview - This is a list of all the hotkeys, double click on an entry in this list and you get a brief description on what that hotkey action does and you are able to define the hotkey. Help - If checked, then pressing the HELP key will display the information about the selected icons. (This is the same as selecting the "Information" menu item from the icons menu). Del - If checked, then pressing the DEL key will delete the selected icons. (This is the same as selecting the "Delete" menu item from the icons menu). Font - Sets the font to be used for the windows. WBWindow Qual - This is the qualifier for use with the WBWindow Patch. --------------------------------------------------------------------- Save - Save the current settings to the icon. Use - Use the current settings Cancel - Do nothing, thouch nothing, get Kryten! List of HotKeys *************** The following are a list of possible actions that you may assign a hotkey to: Action Brief Description ------ ----------------- BACK Push window to the back CLOSE Ask window to close CLOSEPARENT Ask parent window to close CLOSEWBWINDOWS Close all workbench drawer windows that are open. DECREASEPRI Decrease the priority of current task FORCECLOSE Close the window. This WILL close the window no matter what. This is a dangerous action to perform if the window is still in use. You should only use this if the task owning the window has crashed etc. FRONT Bring window to the front FRONTBACK Push window to front, or to the back if it is already at the front INCREASEPRI Increase the priority of current task MAKEBIG Size window to maximum size MAKEPUBSCREEN Make the active screen the default public screen. It must however be a public screen. MAKESMALL Size window to minimum size NEXTSCREEN Bring next screen to front NEXTWINDOW Activate the next window PUBSCREEN Bring default public screen to the front. PREVWINDOW Activate the previous window REMTASKOWNER Remove the task that owns the window from the system SCREENCLOSE Close the screen. This is a very dangerous action. See FORCECLOSE for more details. SCREENTOP Move screen to top of display TOGGLEREVERSECLOSE Toggle reverse close state. WSCREENFRONT Bring windows screen to front WBTOFRONT Bring the Workbench screen to the front ZIP Zip/unzip window Useage of WindowDaemon with Arexx ********************************** WindowDaemon has an arexx port named "WINDOWDAEMON" and it will accept the following commands: General Commands **************** HIDE - hide the interface window QUIT - ask the WindowDaemon to quit SHOW - display the interface window Window Commands *************** BACK - push active window to the back CLOSE - send a close message to the active window CLOSEPARENT - close the parent window of the active window CLOSEWBWINDOWS - closes all the drawer windows open on the workbench screen. FORCECLOSE - this will force the active window to be closed without informing any tasks using the window. This is only of use if an application crashes and leaves windows open. (NOTE: If you close windows that are still in use you may find that you will crash) FRONT - bring active window to the front FRONTBACK - push active window to the front or back INCREASEPRI - increase priority of task owning current window DECREASEPRI - decrease priority of task owning current window MAKEBIG - size active window to maximum dimensions MAKESMALL - size active window to minimum dimensions NEXTWINDOW - activate the next window PREVWINDOW - activate the previous window ZIP - zip/unzip the active window. Screen Commands *************** CLOSESCREEN - this will close the active screen without informing any tasks using the screen. If necessary any windows on the screen are also closed without informing the tasks that own them. This is only of use if an application crashes and leaves screens open. (NOTE: If you close screens that are still in use you may find that you will crash) MAKEPUBSCREEN - make the active screen the default public screen, it must however be a public screen. NEXTSCREEN - pop the next screen to the front of the display and activate its last window. PUBSCREENTOFRONT - bring the default public screen to the front SCREENTOP - pop the active screen to the top of the display at (0,0) WINDOWSCREENFRONT - bring the screen with the active window to the front. WORKBENCHTOFRONT - bring the Workbench screen to the front. Miscellaneous Commands ********************** REMTASKOWNER - this will *REMOVE* the task that owns the active window. TOGGLEREVERSECLOSE - this toggles the current state of the reverse close feature for CONTROL CLOSEWINDOW. The above commands may be executed from CLI via Arexx by typing rx ' address Examples: ********* 1) To quit the WindowDaemon rx ' address WINDOWDAEMON QUIT 2) To close the active window rx ' address WINDOWDAEMON CLOSE 3) To zip/unzip the active window rx ' address WINDOWDAEMON ZIP MSD/UPD Sounds ************** WindowDaemon will play sounds through a Sound Daemon such as MSD or UPD. These add an Arexx port to the system called "PLAY" and the following sound id's are sent to the port: WindowDaemon/CloseScreen - when a screen is closed WindowDaemon/CloseWindow - when a window is sent a CLOSEWINDOW WindowDaemon/CloseWindowTrue - when you FORCE a window to be closed WindowDaemon/DecreaseTaskPriority - task priority decreased WindowDaemon/DefaultPubScreen - when the default pub screen is brought WindowDaemon/IncreaseTaskPriority - task priority increased WindowDaemon/NextWindow - activation of next window WindowDaemon/NextScreen - activation of next screen and window WindowDaemon/RemTaskOwner - removal of task owning window WindowDaemon/ScreenToTop - screen has been moved to (0,0) WindowDaemon/WindowBig - window is made big WindowDaemon/WindowScreenToFront - the active windows screen has been brought to the front WindowDaemon/WindowSmall - window is made small WindowDaemon/WindowToBack - window pushed to back of display WindowDaemon/WindowToFront - window brought to front of display WindowDaemon/WorkbenchToFront - Workbench brought to the front WindowDaemon/ZipWindow - zip/unzip of active window Acknowledgements **************** UPD is Copyright © 1991 Jonas Petersson & Absolut Software (aka Sirius Soft) MSD is Copyright © 1992,93 David Swasbrook. (Not released yet) Update Information ****************** I will try and further improve WindowDaemon if I have time for it. Registered users will at least get a notification when new versions of WindowDaemon get available that contain significant changes or enhancements. New versions of WindowDaemon will also be available on the Internet per "anonymous FTP" (look on Aminet). In order to be able to improve and/or correct WindowDaemon, I would like to ask every user to do the following: o send me the registration fee of US$ 10 o send me bug reports, if you find any bugs o give me hints how to improve WindowDaemon Thank you very much in advance ! What is a HotKey? ***************** HotKey description strings have the following template: [CLASS] (([-]QUAL)|SYN)o [[-]UPSTROKE] [HIGHMAP|ANSICODE] CLASS QUAL SYN UPSTROKE HIGHMAP ANSICODE (o means zero or more occurances of the of the expression in brackets) Examples: ********* "CONTROL \\" This hot key is activated when the "\\" (backslash) key and the control key are pressed at the same time. "LALT SHIFT F10" This hot key is activated when the LEFT ALT key, either SHIFT key and F10 are pressed at the same time. "LCOMMAND A" - This is actually the equivalent of "LCOMMAND SHIFT a" CLASS ***** Is one of the following strings: RAWKEY, RAWMOUSE, EVENT, POINTERPOS, TIMER, NEWPREFS, DISKREMOVED, DISKINSERTED If not specified, the class is taken to be RAWKEY. QUAL **** Is one (or more) of the following strings: LSHIFT, RSHIFT, CAPSLOCK, CONTROL, LALT, RALT, LCOMMAND, RCOMMAND, NUMERICPAD, REPEAT, MIDBUTTON, RBUTTON, LEFTBUTTON, RELATIVEMOUSE A preceding '-' means that the value of the corresponding qualifier is to be considered irrelevant. SYN *** Syn (synonym) is one (or more) of the following strings: SHIFT, CAPS, ALT SHIFT - left or right shift CAPS - shift or capslock ALT - either alt key UPSTROKE ******** If this token is absent, only DOWNSTROKES are considered for RAWMOUSE (MOUSEBUTTONS) and RAWKEY events. If it is present alone, only UPSTROKES count. If it preceded by '-' it means that both up and down strokes are included. HIGHMAP ******* One of the following strings: COMMA, SPACE, BACKSPACE, TAB, ENTER, RETURN, ESC, DEL, UP, DOWN, RIGHT, LEFT, HELP, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, (, ), /, *, -, + ANSICODE ******** A single character token is interpreted as a character code, which is looked up in the system default keymap. Locale Support ************** The WindowDaemon interface supports locale, the built in language is english. Submitting a catalog: If you wish to send me a locale for WindowDaemon please could you send the actual text translation file rather than the completed catalog itself? Contributors ************ Thanks also to the following who reported bugs and suggestons: Jeffrey Peden Joachim Worringen Seth Harman Beta testing performed by: Barry McConnel Daryl Jay o I'm sorry if you have contributed and you name is not in the above lists. I try to reply to all email so if you have sent me some mail and not received a reply then it is more than likely that my mailer sent it to nil: accidentally. History Information ******************* `V1.9' o The configuration is no longer stored as tool types. Config file is saved in ENV: o The Workbench window open/close enchancement key may be selected from Control, Shift or MiddleMouseButton. o Bugfix in DEL/HELP code o Added screen/window selector o Aminet/IRC release `V1.8' o Added DEL and HELP key shortcuts to workbench. o Removed short versions of hotkey tooltypes. o Aminet release `V1.7' o Removed unecessary code o Fixed small problem with font settings o ALT-CloseWindow is working again. V1.6 was crashing. o Control-\ can now be disabled `V1.6' o Aminet release `V1.5' o Added task priority control of active window o Beta release only. `V1.4' o Fixed data-alignment problem o Added locale support. o Control-\ patch added to CONTROLKEYPATCHES to close the active window. This was added so you can close any window not just cli's with this key combination. o Hopefully have fixed the `bug' that would occasionally lock the system when you double clicked on an icon while holding down control. o Added option to reverse the CONTROL-CLOSEWINDOW and CONTROL-DOUBLECLICK on drawer. To get normal window actions you need to hold down control if this flag is set. This is toggleable via a hotkey or arexx command. New arguments REVERSECLOSE, RC=HOTKEY_TOGGLEREVERSECLOSE. o Beta release only. `V1.3' o Internal release only. `V1.2' o Internal release only. `V1.1' o Now has a user interface to configure all the hotkeys o Added new argument/tooltypes: CONTROLKEYPATCHES, MP=HOTKEY_MAKEPUBSCREEN, CW=HOTKEY_CLOSEWBWINDOWS o New arexx commands: MAKEPUBSCREEN, CLOSEWBWINDOWS o Can now open parent when you close a workbench drawer window when holding down the CONTROL key `V1.0' o Initial release on Aminet.