home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga Shareware Floppies / ma28.dms / ma28.adf / PPrefs / PPrefs.doc < prev    next >
Text File  |  1993-10-26  |  13KB  |  290 lines

  1. ***************************************************************************
  2. *                                                                         *
  3. *                   PPrefs 1.1 Screen Promotion Utility                   *
  4. *                          Freely distributable                           *
  5. *                    Copyright © 1993 The Naughty Bits                    *
  6. *                                                                         *
  7. *                         Olaf Gschweng                                   *
  8. *                         Riefstahlstr. 33                                *
  9. *                         17235 Neustrelitz                               *
  10. *                         Germany                                         *
  11. *                                                                         *
  12. *                 EMail: gschweng@informatik.uni-rostock.de               *
  13. *                                                                         *
  14. ***************************************************************************
  15.  
  16.  
  17. DISTRIBUTION CONDITIONS
  18.  
  19.  
  20. The programs and files in this distribution may be freely distributed as
  21. long as no charge is made other than to cover time and copying costs. The
  22. files in this distribution must be kept together in original, unchanged
  23. form. If you want to include PPrefs as part of a commercial package you
  24. have to contact the author first.
  25.  
  26.  
  27. INTRODUCTION
  28.  
  29.  
  30. PPrefs is a screenmode promotion utiltity which allows you to promote every
  31. available screenmode of your system (including those that normally don't
  32. appear in screenmode requesters, e.g. HAM or EHB modes) with another mode.
  33. Besides it can keep exceptions of that normal promotions when you want that
  34. some very special programs get their very special screen or don't get
  35. promoted at all.
  36.  
  37. Screen promotion could be useful for you if you only have a VGA monitor
  38. that cannot diplay those PAL and NTSC resolutions, or if you don't like
  39. that resyncing of your Multisync monitor (like on my NEC 3D, which stays
  40. black for 1 second) every time you change between screens with different
  41. modes, or if your monitor doesn't handle different positions and sizes for
  42. every mode and you have to manually adjust your monitor all the time or
  43. live with that screen that exceeds your overscan area a bit too much .. ,
  44. or ..
  45.  
  46. I wrote PPrefs because all the other promotion utilties I tried and used
  47. did not have the flexibility I needed. After trying several of them I used
  48. ForceMonitor but I was not fully satisfied with it. After I bought my
  49. Picasso II gfx card, I needed a good promotion utility even more because I
  50. don't like that ChangeScreen utility included with the Picasso so much.
  51.  
  52.  
  53. REQUIREMENTS
  54.  
  55.  
  56. PPrefs requires Kickstart 2.0, but should be more useful with Kick 3.0 or
  57. the WB 2.1 :)
  58. You should have asl.library, iffparse.library, mathieeedoubbas.library and
  59. mathieeedoubtrans.library in your LIBS: directory.
  60.  
  61.  
  62. INSTALLATION
  63.  
  64.  
  65. PPrefs consists of two programs. The program PPrefs itself is a CLI program
  66. that patches the intuition.library/OpenScreen() and OpenScreenTagList()
  67. functions. You should put it in your C: directory or anywhere else on your
  68. Workbench disk, or just put it on top of another thing - you know there are
  69. too many things not lying on top of another .. (sorry, watched Pythons too
  70. much)
  71.  
  72. The other program is the preferences editor of PPrefs which should be
  73. placed in the Prefs drawer of your WB disk. This GUI is localized, so if
  74. you have 2.1 or above you can also install the catalog to get the editor in
  75. your language. To activate PPrefs you must run PPrefs from a shell. As it
  76. doesn't detach itself you should use the 'Run' command. To install it
  77. permanently, add the following line to the startup-sequence or (preferably)
  78. your user-startup:
  79.  
  80. Run <NIL: >NIL: PPrefs
  81.  
  82. To remove it, send it a CTRL_C. But don't do this if another program
  83. patched the OpenScreen or OpenScreenTagList function AFTER PPrefs did - you
  84. must remove the other program first.
  85.  
  86.  
  87. THE PREFERENCES EDITOR
  88.  
  89.  
  90. Overview
  91.  
  92. The 2 listview gadgets on the top left side are for the source and
  93. destination mode selection, the other pair below them shows various
  94. informations on the selected modes. The other listview on the right side is
  95. for the exceptions.
  96.  
  97. Because of the many things to diplay in the window and the resulting small
  98. listviews I decided to build sublists for each monitor - ever tried
  99. clicking on the slider of the mode selector of DPaint 4.5 ? To enter a
  100. sublist just click on the monitor name, to leave it click on the top item
  101. of the sublist.
  102.  
  103. Note: If you have the OS3.0 standard mode promotion enabled (yes, the
  104. little gadget in IControl that is not mentioned in the docs - remember how
  105. lucky you where as you, just fooling around with your brandnew A4000's
  106. Workbench, found it, and you felt that you looked for something like that
  107. the whole time ...), then the promoted (i.e. scandoubled modes) appear in
  108. the Default: monitor's list. I have it disabled and simply do not need it
  109. anymore.
  110.  
  111. How to promote
  112.  
  113. If you want to promote a mode, just single click on it on the source side
  114. so that its properties appear in the listview below. Then select the
  115. desired destination mode on the destination side (again a single click is
  116. enough) - that's all.
  117.  
  118. If you click on a source mode that is already promoted, its destination
  119. mode will automatically appear on the right side; if it has not been
  120. promoted yet, the right side will show no selection.
  121.  
  122. Note: The Kickstart 3.0 (i.e. GadTools V39) listviews highlight the
  123. selected entry rather than showing its name on the bottom of the gadget as
  124. they do under 2.0 - so they give you a much better view on what's going on.
  125.  
  126. How to unpromote
  127.  
  128. To remove a promotion you have to click on the 'Unpromote' gadget above the
  129. mode listviews. Alternatively you can select the 'Unpromote' menuitem in
  130. the 'Edit' menu. There is also an item to remove all promotions and one to
  131. remove all promotions of a monitor.
  132.  
  133. The exceptions
  134.  
  135. If you want to exclude a particular program from the promotion or if you
  136. want its screen(s) to be promoted differently than the normal promotion -
  137. that's where the exceptions come into action.
  138.  
  139. You can specify this screens by its name or by the name of the program that
  140. opens the screen. You can choose the appropriate list by clicking on the
  141. cycle gadget below the listview. To add an entry click on the 'Add' gadget
  142. and then enter the desired name. (The new entry will be inserted above a
  143. previously selected entry or on the bottom if no entry was selected
  144. before.) The program will now get exactly the mode it wanted whether there
  145. is a promotion for that mode or not. The names can contain wildcards and
  146. are case insensitive.
  147.  
  148. If you want to give a program a particular screen mode just select its
  149. entry in one of the exception lists and then select the desired mode in the
  150. destination listview.
  151.  
  152. Options
  153.  
  154. Under pre-AA chipsets the number of colors a mode is able to display,
  155. varies. So if you want to promote a mode to another one that only can
  156. display less colors than the original mode, it can happen that a program
  157. cannot get the number of colors it wants to get. For this case you can
  158. specify (separately for each promotion and exception) what should be done
  159. here by choosing between keeping the resolution or keeping the colors. The
  160. default is to keep the resolution, so the program gets the mode you wanted
  161. it to get, but only as many colors as available. This may have the effect
  162. that you can't see everything you should - perhaps you should then better
  163. use the other option: to keep the colors and to reduce the resolution of
  164. that screen. In this case PPrefs will activate autoscroll (if needed) so
  165. you can shift the visible area to let you see all of the screen.
  166.  
  167. Best mode
  168.  
  169. Under Kick 3.0 (or above:) you will find a "Best xxxx mode" entry in the
  170. monitor list and in every mode list (on the destination side). This lets
  171. PPrefs use the new BestModeID() function to determine a suitable display
  172. mode. If you select the global entry then the mode is searched in the whole
  173. display database - it will take a noticable amount of time before the
  174. screen is opened. If you selected the entry in one of the mode lists the
  175. returned display mode will use the monitor of the selected entry.
  176.  
  177. ###########################################################################
  178. WARNING: It seems that the BestModeID() function is hungry for stack, so be
  179. sure that the program you promote has enough stack!
  180. ###########################################################################
  181.  
  182. There are 4 checkboxes to give you the possibility to influence the
  183. selection of the best mode:
  184.  
  185. Source mode - this lets PPrefs pass the source mode ID to BestModeID() so
  186. that it can take care about a proper aspect ratio and some special
  187. properties like HAM etc.
  188.  
  189. Dimensions - this passes the width and height of the requested screen to
  190. BestModeID() to let it take care about the desired size of the screen.
  191.  
  192. Aspect ratio - this overrides the aspect ratio of the source mode and uses
  193. the width and height of the screen to determine the desired ratio.
  194.  
  195. No lace - this one lets PPrefs try to find a mode without interlace.
  196.  
  197. Configuration
  198.  
  199. If you quit the editor via the 'Use' gadget the configuration will be saved
  200. to ENV:promotion.prefs. You can edit your prefs even if PPrefs is not
  201. currently running. If you 'Save' the prefs, they will also be written to
  202. ENVARC: so they'll survive the next reset. If PPrefs is currently running
  203. it will immediately use the new configuration.
  204.  
  205.  
  206. THE PPREFS PROGRAM
  207.  
  208.  
  209. The PPrefs program patches the OpenScreen and OpenScreenTagList functions
  210. of intuition.library, so that OpenScreen is completely replaced by
  211. OpenScreenTagList.
  212.  
  213. It looks for a promotion entry in the screenlist, the tasklist and the
  214. normal promotion array (in that order). If it finds one, it searches for an
  215. appropriate overscan region, checks if it fits entirely on the screen, and
  216. if not, enables AutoScroll. It then will center the screen or at least look
  217. if the left/top coordinates don't exceed the overscan region.
  218.  
  219. PPrefs has now some commandline options:
  220.  
  221. NEWLOOK  - enable newlook for promoted screens
  222. NOCENTER - don't try to center the screen.
  223. STDOSCAN - set overscan only up to standard (graphics) overscan which is
  224.            editable via Preferences - default is maximum overscan which is not
  225.            editable but fixed
  226.  
  227.  
  228. IF YOU HAVE PROBLEMS WITH PPREFS
  229.  
  230.  
  231. I cannot have all the programs you may have and so cannot test PPrefs with
  232. every program available for the Amiga. Of course I tested it with the
  233. programs I use and some problems that I could not imagine appeared with
  234. some of them and I changed PPrefs to work with those programs. So if your
  235. favourite program does not work well with PPrefs - I cannot do anything to
  236. fix this if I don't know about it - you have to tell me!
  237.  
  238. I have included a special version of PPrefs called PPrefsDBug that prints a
  239. few informations when a screen is opened. To use it, you should abort the
  240. normal PPrefs program and start PPrefsDBug in a shell. When you have a
  241. program that makes problems with PPrefs you should send me the output that
  242. PPrefsDBug makes. You could also use it to determine the mode ID or the
  243. screen/task name of some screens.
  244.  
  245. If you use the best mode promotion, be sure that the patched program has
  246. enough stack - I really had some serious trouble before I realized that
  247. insufficient stack was the cause for all those mysterious crashes I had.
  248.  
  249.  
  250. FUTURE PLANS
  251.  
  252.  
  253. -self detaching PPrefs & stack swapping for BestID
  254. -maybe optionally center and setnewlook even for unpromoted screens
  255. -better error handling
  256.  
  257.  
  258. THANKS TO
  259.  
  260.  
  261. -Matt Dillon and Stefan Becker for making and distributing DICE
  262. -Sylvain Rougier and Pierre Carette for BrowserII - a fantastic program
  263. -Torsten "Tigy" Gebert for his oiginal 'all to VGA' patch that showed me
  264. that there's nothing magic about such a patch; and for testing PPrefs
  265. -Christoph Feck for his PrefsIcons (PPrefs' icon is in the same style)
  266. -Sylvain Rougier for the french translation
  267.  
  268.  
  269. HISTORY
  270.  
  271.  
  272. 1.0     (06.09.93)
  273.      -Initial release.
  274. 1.0a (13.09.93) (not released)
  275.      -added screen centering
  276.      -does not use any global data for the taglist extension anymore
  277. 1.1  (26.10.93)
  278.      -redesigned GUI and font-sensitive code, much nicer now :-O
  279.      -added "Best mode" promotion
  280.      -exceptions now work for CLI started programs
  281.      -added semaphore protection
  282.      -screen centering, left/top adjust, overscan handling reworked
  283.  
  284.  _________________ --------------------------------------  _________________
  285.   _\___\_o_/___/_  |                                    |   _\___\_|_/___/_
  286.    _\___(*)___/_   |      Olaf "Oil Hog" Gschweng       |    _\___(|)___/_
  287.         / \        | gschweng@informatik.uni-rostock.de |         / \
  288.        |---|       |                                    |        |---|
  289.                    --------------------------------------
  290.