*************************************************************************** * * * PPrefs 1.0 Screen Promotion Utility * * Copyright © 1993 The Naughty Bits * * * * Olaf Gschweng * * Riefstahlstr. 33 * * 17235 Neustrelitz * * Germany * * * * EMail: gschweng@informatik.uni-rostock.de * * * *************************************************************************** INTRODUCTION PPrefs is a freely distributable screenmode promotion utiltity which allows you to promote every available screenmode of your system (including those that normally don't appear in screenmode requesters, e.g. HAM or EHB modes) with another mode. Besides it can keep exceptions of that normal promotions when you want that some very special programs get their very special screen or don't get promoted at all. Screen promotion could be useful for you if you only have a VGA monitor that cannot diplay those PAL and NTSC resolutions, or if you don't like that resyncing of your Multisync monitor (like on my NEC 3D, which stays black for 1 second) every time you change between screens with different modes, or if your monitor doesn't handle different positions and sizes for every mode and you have to manually adjust your monitor all the time or live with that screen that exceeds your overscan area a bit too much .. , or .. I wrote PPrefs because all the other promotion utilties I tried and used did not have the flexibility I needed. After trying several of them I used ForceMonitor but I was not fully satisfied with it. After I purchased my Picasso II gfx card, I needed a good promotion utility even more because I don't like that ChangeScreen utility included with the Picasso and ForceMonitor's inability to specify promotions for the exceptions made it less usefull because some programs do not like my Picasso very much :-(but fortunately these are few and hopefully get even fewer if I get the new software version; apart from that: I like my Picasso :o) REQUIREMENTS PPrefs requires Kickstart 2.0, but should be more useful with Kick 3.0 or the WB 2.1 :) (The next version will probably offer a possibilty to use the 3.0 BestModeID function but I will keep 2.0 compatibilty) You should have asl.library, iffparse.library, mathieeedoubbas.library and mathieeedoubtrans.library in your LIBS: directory. INSTALLATION PPrefs consists of two programs. The program PPrefs itself is a CLI program that patches the intuition.library/OpenScreen() and OpenScreenTagList() functions. You should put it in your C: directory or anywhere else on your Workbench disk, or just put it on top of another thing - you know there are too many things not lying on top of another .. (sorry, watched Pythons too much) The other program is the preferences editor of PPrefs which should be placed in the Prefs drawer of your WB disk. This GUI is localized, so if you have 2.1+ you can also install the catalog, but currently there is only a german one. To activate PPrefs you must run PPrefs from a shell. As it doesn't detach itself you should better use the 'Run' command. To install it permanently, add the following line to the startup-sequence or (preferably) your user-startup: Run NIL: PPrefs To remove it, send it a CTRL_C. But don't do this if another program patched the OpenScreen or OpenScreenTagList function AFTER PPrefs did - you must remove the other program first. THE PREFERENCES EDITOR Overview The 2 listview gadgets on the top left side are for the source and destination mode selection, the other pair below them shows various informations on the selected modes. The other listview on the right side is for the exceptions. Because of the many things to diplay in the window and the resulting small listviews I decided to build sublists for each monitor - ever tried clicking on the slider of the mode selector of DPaint 4.5 ? To enter a sublist just click on the monitor name, to leave it click on the top item of the sublist. Note: If you have the OS3.0 standard mode promotion enabled (yes, the little gadget in IControl that is not mentioned in the docs - remember how lucky you where as you, just fooling around with your brandnew A4000's Workbench, found it, and you felt that you looked for something like that the whole time ...), then the promoted (i.e. scandoubled modes) appear in the Default: monitor's list. I have it disabled and simply do not need it anymore. How to promote If you want to promote a mode, just single click on it on the source side so that its informations appear in the listview below. Then select the desired destination mode on the destination side (again a single click is enough) - that's all. If you click on a source mode that is already promoted, its destination mode will automatically appear on the right side; if it has not been promoted yet, the right side will show no selection. Note: The Kickstart 3.0 (i.e. GadTools V39) listviews highlight the selected entry rather than showing its name on the bottom of the gadget as they do under 2.0 - so they give you a much better view on what's going on. How to unpromote To remove a promotion you have to click on the 'Unpromote' gadget on the right side of the window. Alternatively you can select the 'Unpromote' menuitem in the 'Edit' menu. There is also an item to remove all promotions and one to remove all promotions of a monitor. The exceptions If you want to exclude a particular program from the promotion or if you want its screen(s) to be promoted differently than the normal promotion - that's where the exceptions come into action. You can specify this screens by its name or by the name of the program that opens the screen. You can choose the appropriate list by clicking on the cycle gadget below the listview. To add an entry click on the 'Add' gadget and then enter the desired name. (The new entry will be inserted above a previously selected entry or on the bottom if no entry was selected before.) The program will now get exactly the mode it wanted whether there is a promotion for that mode or not. The names can contain wildcards and are case insensitive. If you want to give a program a particular screen mode just select its entry in one of the exception lists and then select the desired mode in the destination listview. Options Under pre-AA chipsets the number of colors a mode is able to display, varies. So if you want to promote a mode through another one that only can display less colors than the original mode, it can happen that a program cannot get the number of colors it wants to get. For this case you can specify (separately for each promotion and exception) what should be done here by choosing between keeping the resolution or keeping the colors. The default is to keep the resolution, so the program gets the mode you wanted it to get but only as many colors as available. This may have the effect that on a particular application's screen you do not see everything you should - thats where you should better use the other option: to keep the colors and to reduce the resolution of that screen. In this case PPrefs will activate autoscroll (if needed) so you can shift the visible area to let you see all of the screen. Configuration If you quit the editor via the 'Use' gadget the configuration will be saved to ENV:promotion.prefs. You can edit your prefs even if PPrefs is not currently running. If you 'Save' the prefs, they will also be written to ENVARC: so they'll survive the next reset. THE PPREFS PROGRAM The PPrefs program patches the OpenScreen and OpenScreenTagList functions of intuition.library, so that OpenScreen is completely replaced by OpenScreenTagList. It looks for a promotion entry in the screenlist, the tasklist and the normal promotion array (in that order). If it finds one, it will check if the screen fits entirely on the new screen, and if not, then enables AutoScroll. It will also take the overscan dimensions into consideration. PPrefs will also set the new look for promoted screens. IF YOU HAVE PROBLEMS WITH PPREFS I cannot have all the programs you may have and so cannot test PPrefs with every program available for the Amiga. Of course I tested it with the programs I use and some problems that I could not imagine appeared with some of them and I changed PPrefs to work with those programs. So if your favourite program does not work well with PPrefs - I cannot do anything to fix this if I don't know about it - you have to tell me! I have included a special version of PPrefs called PPrefsDBug that prints a few informations when a screen is opened. To use it, you should break the normal PPrefs program and start PPrefsDBug in a shell. When you have a program that makes problems with PPrefs you should send me the output that PPrefsDBug makes. You could also use it to determine the mode ID or the screen/task name of some screens. FUTURE PLANS -add a 'Best mode' entry for each modelist (under 3.0) and one for the monitorlist on the destination side and add some checkboxes to ask for some properties to pass to BestModeID -add NONEWLOOK and maybe some other options -better error handling THANKS TO -Matt Dillon and Stefan Becker for making and distributing DICE -Sylvain Rougier and Pierre Carette for BrowserII - a fantastic program -Torsten "Tigy" Gebert for his oiginal 'all to VGA' patch that showed me that there's nothing magic about such a patch -Christoph Feck for his PrefsIcons (PPrefs' icon is in the same style) _________________ -------------------------------------- _________________ _\___\xox/___/_ | | _\___\_|,/___/_ _\___(*)___/_ | Olaf "Oil Hog" Gschweng | _\___(|)___/_ / \ | gschweng@informatik.uni-rostock.de | / \ |---| | | |---| "Greetings" from -------------------------------------- Oops, my gun jammed the mad Baron -so don't flame me!