MadMoose 2.0 by Khaled Mardam-Bey revised - 17th May 1988 I wrote this little program sometime waaaay back in march. Basically, it's just a modified MachMouse. I used the MachMouse1.6 C source. The back bone of the program is the input-handler, that remained the same. However, I took out a few bits and added some of my own. Best way to tell you is to just tell you, so here goes.. You have to use Left-Amiga in conjunction with : M - switch screens. The difference here is that when you switch screens, the first window under the pointer is activated. If there isn't a window under the pointer, then the last window opened on that screen is activated. IF there is only ONE screen in existence, then this key sequence is the same as using Left-Amiga-V (see below). N - Switches to the WorkBench screen. The window under the pointer is activated. If there isn't a window under the pointer, then the last window you opened on the WB screen is activated. again, if there is only ONE screen in existence, then this key sequence is the same as using Left-Amiga-V (see below). V - this key cycles through all the windows on the current screen. It brings a window to the front of all the others, and activates it. This is great for those dim-witted programs which don't use depth gadgets . Please remember, some programs open quite a few windows you can't see. WorkBench opens it's backdrop window, so sooner or later you'll end up with that... I could have avoided this, but I found it useful in some cases.. C - this cycles through the screen colours. This is neat because it checks the bitmap of the current screen to determine the number of colours it is using, and then cycles through all of those colours. This is great for when your eyes are about to pop out from looking at the same colour screen for the last 5 hours while you've been programming/CBing/and so forth.. If you are on the WorkBench screen, then preferences colours are cycled. This way any program that uses WorkBench colours to determine it's own screen colours, WILL do so. (changing the RGB values of WB doesnt do it). When you switch colours on a screen other than WorkBench, only their RGB values are changed. Z - this cycles the pointer's preferences colours. EACH screen remembers it's own pointer colour. So if you change the pointer color to RED on ACCESS's screen, and change the pointer colour to WHITE on the WorkBench screen, they will remember their own colours. (I did this by mistake, but hey, I won't tell if you won't... ;-) I - this toggles workbench screen into an 80 x 48 interlaced screen or back to an 80 x 24 normal screen. you HAVE to close all the windows on the WB screen first though.. otherwise nothing happens. When the screen is changed, a CLI is opened at the bottom of the screen. L - this toggles normal interlace for all screens.. ` - this is the key underneath the ESC key. It simply opens up a CLI on the CURRENT screen. This is just like Andry Rachmats Xpopcli, darned useful !! B - this toggles the Drag Bar on a screen. SOME screens won't let me do this; i'm not sure why.. haven't looked into it that much, but I still find it useful.. ARROW KEYS - using these keys with the Left-Amiga sequence shifts the screen around. NOTE : using Left-Amiga with the right and left arrow keys, shifts ALL screens left or right. However, Using the up and down arrow keys acts like a DRAG BAR, and drags the screen down or up. There IS a limit on how far you can drag your screen down, BUT it is WAAAAY down there. :-) DEL - Left-Amiga-DEL exits the program. SunMouse - also implemented - activates screen under the mouse pointer. The AIM of this program is to minimize use of the MOUSE. I find it much simpler while i'm typing to just press a few key sequences, and continue typing, instead of moving over to the mouse, pressing a gadget (or mouse button sequences) and then moving back to the keyboard to restart typing. The code size is pretty small AND it can be RUNBACK'ed.. so it doesn't take up much memory or a CLI, respectively. It doesn't have millions of features.. it's a small, compact 7500 bytes.. no command line options. Some things I didn't need, like a mouse accelerator, a clock, a mouse and screen blanker. I'm implementing things which *I* personally use ALL the time. If anyone wants something specific implemented, or even something taken out, ask me, and i'll *TRY* to do it for you.. If you RUN this, then you will get the Usage Info.. if you RUNBACK it you will NOT get the usage info, because the program is now detached from the cli. If the MadMoose is running, and you try to run it AGAIN, then you will simply get the usage info. Well, I hope you folks enjoy this.. I didn't think the C source was worth posting, because the most important part is the Input-Handler, and there's the MachMouse1.6 source code for that. However, if you DO want my source code, just ask, and I'll gladly give it to you. MadMoosely yours, Khaled Mardam-Bey PeopleLink ID : LAD NOTE : I'd like to thank SCARY, DJJAMES and SCOTT E (all on peoplelink) for their invaluable help.. thanks guys..!