================================================================= == == == I n s t r u c t i o n s 'F e n s t e r 3' == == == ================================================================= == == == 'Fenster 3' is SHAREWARE ! If you want to get the full == == version and the manual (16 pages), send me US$ 20 (US $15 == == or DM 22 if you live in Europe [lower postage]). Please add == == US$ 2 or DM 3 if you use an Eurocheck (bank charge). == == == == Roger Fischlin, Steigerwaldweg 6, D-6450 Hanau 7, Germany == == == == Phone : (06181) 650266 == == == ================================================================= == == == INPORTANT : The demo version handles only one screen. The == == other ones will be ignored ! == == == ================================================================= -------------------------------------------------------------------- 1 Introduction -------------------------------------------------------------------- 1.1 About 'Fenster 3' 'Fenster 3' supports the Intuition environment. It offers tools for users (e.g. hardcopy) and for programmers (e.g. saving a brush taken from the 'DPaint' screen as raw data). {...} 1.4 Facts About 'Fenster 3' 'Fenster 3' was written by Roger Fischlin from November 1990 until August 1991 on an Amiga 2000. The 'DevPac' Assembler and the OS 2.0 include files (taken from the 'SAS-C' Compiler) were used to assemble the 500.000 bytes of the source code. The manual was created using 'WordPerfect'. {...} -------------------------------------------------------------------- 2 How to use 'Fenster 3' -------------------------------------------------------------------- 2.1 How To Run 'Fenster 3' Just double-click the icon or enter 'Fenster3' as a CLI command. If you type 'run >NIL: Fenster3' you can close the CLI using 'endcli'. 'Fenster 3' will open a small window on the Workbench. If you click the window, the program will open the screen. 2.2 Using 'Fenster 3' You can use the mouse or the keyboard to control 'Fenster 3'. Shortcuts are displayed in same way as the 'gadtools.library' V37 (Kickstart 2.0) does it (e.g. 'OK'). In every case you can cancel a requester by pressing [ESC]. Generally speaking to give a positive response to a requester you may also use [left AMIGA] + [V], to give a negative response press [left AMIGA] + [B]. 'Fenster 3' uses cycle gadgets. To get the next item just click it and to get the previous one press [SHIFT], too. 'Fenster 3' keeps screens, windows and requests on different levels: 1.st level : screens 2.nd level : windows 3.rd level : request You will start at the first level. Use the cursor keys to change the current entry (to move to the first or last entry press [SHIFT], too). 'Fenster 3' offers also a proportional gadget and two arrow gadgets. If you want to get to the lower level of the current entry, press [RETURN] or [ENTER]. The program will create a special entry to get back to the upper level. Click the update gadget or press [U] to update the list. But don't worry 'Fenster 3' always checks if the selected item still exists. If you have the new OS 2.0 there will be a fourth list which contains all public screens. A public screen will also appear under the screen title (which need not to be identical to its public name) at the screen list. So if the public name is needed (e.g. to take this public screen as default public screen) you must be at the public screen list. Commands which require the screen pointer e.g. to open a colour requester) can be executed from both lists. click 'Leave' or press [Q] to return to the small window on the Workbench screen. Select 'About' to get information about the author and the program (version, copyright etc.). -------------------------------------------------------------------- 3 Menus -------------------------------------------------------------------- 3.1 Settings You may select your own settings for 'Fenster 3'. It supports all known libraries and the settings also include the screen type and mode. You can choose between 'Custom' and 'Public' as 'Screen Type'. For a public screen at least Kickstart 2.0 is needed. The screen mode includes 'Interlace' and 'Overscan' (only Kickstart 2.0 or higher). 'Refresh Mode' determines which refresh mode should be used for the window. 'SMART' is very fast but takes up to 30 KB of chip memory. On the other hand 'SIMPLE' is slower but does not need any extra memory. 'File Requester', 'Color Requester' and 'Font Requester' determine which libraries should be used by 'Fenster 3'. The 'asl.library' requires Kickstart 2.0 and 'No Library' means that 'Fenster 3' offers you just a string gadget. 'Input Handler Pri.' is the priority of the input handler used by 'Set Range'. It must be higher than 50 (e.g. 51) to avoid conflicts with Intuition. Increase it, if you have troubles with a mouse accelerator. 'SNAP Mouse Pointer' determines if you want to have a cross instead of the default pointer when snapping. Click 'OK' to use the new settings (screen settings will be used when the screen will be opened the next time). They also include the screen colours (use 'Palette' to edit them). To get the default colours select 'Old Colors'. 'Save' uses the settings and writes them to 's:Fenster3.pref'. So they will be automatically used the next time you run 'Fenster 3'. 3.2 NewShell The 'NewShell' command (Workbench 1.3 or higher) is executed. 3.3 About System Some fields of the 'intuition.library' and the 'graphics.library' are displayed and may be modified. But if you use Kickstart 2.0 most of these fields have lost their importance. 'Version' and 'Revision' describe the release of the library (not the Workbench release !).'IDString' is an additional text. All fields of the IntuitionBase are private (these fields are gone if you use Kickstart 2.0) and the 'Amiga Development Guidelines' do not allow to modify them. But if you use Kickstart 1.2 / 1.3 you may find it useful in some special cases. The 'Mouse' fields describe the maximum and minimum coordinates of the mouse pointer for all screens (including hires and interlaced screens). 'MaxDisplayHeight' contains the maximum height of an interlaced screen and 'MaxDisplayRow' is the highest line number of an interlaced screen ('MaxDisplayHeight'-1). 'MaxDisplayRow' describes the maximum width of a hires screen. If you use Kickstart 2.0, the 'DataBase' replaced many of the fields of the 'graphics.library'. 'DisplayFlags' contains information about the display ('PAL' / 'NTSC') or if you use a genlock. 'MaxDisplayRow', 'MinDisplayColumn' and 'MaxDisplayColumn' are the minimum and maximum dimensions which the hardware can display. 'NormalDisplayRows' and 'NormalDisplayColumns' describe the default size of a hires screen. 'NormalDPMX' and 'NormalDPMY' contain the dots per meter of an non- interlaced lores screen. 'ChipRevBits0' exists if you use OS 2.0 and offers information about the custom chips you use (e.g. ECS-Agnus and ECS-Denise). Select 'OK' to quit the requester or 'Change' if you want to use the modified values. 3.4 Preferences You can use 'Fenster 3' to modify some of the fields of 'Preferences'. Select 'Font' to choose between 'Topaz-80' and 'Topaz-60' or 'Workbench' to choose between 'Interlaced' and 'Non-interlaced'. To move the screen position on your display use the proportional gadget in the middle of the requester. You may also press the cursor keys with or without [SHIFT]. On the left side there are two gadgets to increase the default size of a screen. These fields cannot be modified using 'Preferences' but 'MoreRows' (Public Domain, Fish #54) takes advantage of this feature. The width and height may be increased up to 255 pixels. To use the new dimension save the Preferences as 'DEVS:system-configuration' and then boot from that device. On the right side there are gadgets for the dimension of the Workbench. These are offically documented but the Amiga does not care about them... Select 'Default' to get a copy of the default settings and 'OK' to use the Preferences. If you change 'Font' or 'Workench' 'Fenster 3' tries to reset the Workbench screen which will fail if there is any non- Workbench window. If you want to save the settings click 'Save'. The settings are written to the file (a file requester will appear if the string gadget is disabled) but they are not used as current Preferences. Write the data to 'DEVS:system-configuration' to use them if you boot from that device. 3.5 View Database (requires OS 2.0) Kickstart 2.0 has new way of storing information about display modes (DisplayIDs) and screen dimensions. Select a DisplayID from the list on the left and 'Fenster 3' will show you information about the display modes's properties ('DisplayInfo') its dimensions ('DimensionInfo') and its monitor specification ('MonitorInfo'): NotAvailable : This word describes why the display mode is not available (e.g. ECS is missing). If it is zero the mode can be used. Resolution : ticks-per-pixel x/y PixelSpeed : How many nanoseconds is a pixel been displayed. NumStdSprites : number of hardware sprites SpritesRes. : sprite ticks-per-pixel x/y MaxDepth : maximum number of bitplanes Monitor Comp. : how this coexists with others MinRaster : minimum dimension MaxRaster : maximum dimension Nominal : position and size of a standard screen MaxOverscan : position and size of a screen (maximum overscan) VideoOverscan : position and size of a screen (video overscan) TextOverscan : position and size of a screen (text overscan) StdOverscan : position and size of a screen (standard overscan) Position and size are stored in a 'rectangle' structure. This contains the minimum and maximum coordinates of the display. To get the width you have to subtract the minimum value from the maximum value and add one. For example, '-36/-15/325/267' means that the screen's width is 362 [ 325-(-36)+1 = 362 ] and the height is 283 [ 267-(-15)+1 = 283 ]. You may select a new ID or click 'OK' to exit. 3.6 Reset WB Screen 'Fenster 3' will close and then open the Workbench screen again. So the interlace mode is turned on/off and under OS 1.2 and 1.3 the (patched) fields of 'IntuitionBase' are used. There must not be any window which does not belong to the Workbench (e.g. a CLI window). You may alo use this command to open the Workbench. 3.7 Show Title Bar If a BACKDOP window hides the screen title bar, use this command to put the bar in front of the window. Non-BACKDROP windows will still be in front of the screen title. 3.8 Hide Title Bar The screen title bar will be displayed behind BACKDROP windows on that screen. 3.9 Set Default PubScreen (requires OS 2.0) The selected public screen will be the new default public screen. 3.10 PubScreen Mode (requires OS 2.0) Currently there are two public screen modes : 'SHANGHAI' and 'POPPUBSCREEN'. 'SHANGHAI' means that all windows which should be opened on the Workbench will appear on the default public screen. This modes was created for programs which do not handle public screens. 'POPPUBSCREEN' will pop any public screen to the front if a visitor window appears on that screen. 3.11 Open Public Screen (requires OS 2.0) To open a public screen you need an unique name. Enter that name into the string gadget and select the displayID for the screen. Choose the dimension and the number of bitplanes (called 'depth'). To get the standard width or height just click the gadget on the right side. A sign will show if you have entered the standard width or height. Use the cycle gadget to select the overscan mode and the last two gadgets to describe the font. If you do not specify a font the default font will be used. 'Fenster 3' takes care that all values will match the limits and if it cannot open the screen you will get the reason why it failed. 3.12 Set Mouse Queue (requires OS 2.0) This command changes the number of mouse message that the 'intuition.library' will allow to be outstanding of the selected window. To get the default number (5), just click 'Default'. 3.13 Gadtools IDCMP (requires OS 2.0) The 'gadtools.library' has its own IDCMP flags which are combinations of the standard IDCMP flags. This command uses the names of the 'gadtools.library' instead of those combinations. The window must already have an user port and at least one IDCMP flag must still be set when clicking 'OK'. -------------------------------------------------------------------- 4 Gadgets -------------------------------------------------------------------- 4.1 Palette 'Fenster 3' will open a colour requester on the screen using the specified library ('color.library' or 'req.library'). The screen will be moved to the top left edge and brought to the front of your display. 4.2 Screen Mode Under Kickstart 1.2 and 1.3 the display mode of a screen and its depth can be modified after it has been opened. If you use the new Operation System 2.0, you cannot change it anymore. 'Mode' contains the new screen view mode and 'Depth' the new number of bitplanes. 'SPRITES' describes that Intuition uses sprites in the screen's viewport. 'GENLOCK VIDEO' determines if the background is replaced by an external video source. If 'DUALPF' is set, the viewport to which the screen belongs has two playfields and uses the dualplayfield mode. For example, 'WBPic' (written by Fridtjof Siebert, public domain, Fish #234) uses that mode which Kickstart 1.2/1.3 doesn't really support. 'PFBA' changes the priority of the playfield in the dualplayfield mode. Click 'OK' to use the new mode and depth. 'Fenster 3' checks if you use six bitplanes for HAM or EHB and not more than four bitplanes for a hires screen. 4.3 Redraw Gadgets The gadgets of a window or requester are redrawn. Under OS 2.0 this also includes the gadgets of the 'gadtools.library'. 4.4 Close An unused screen, window or requests stays at the display if a program crashes or just forgets to close it. You may also use this command to close a public screen which is not needed anymore. Just select the item and click the 'Close' gadget.'Fenster 3' will ask you if you are really sure before it closes the item. Do not close the Workbench or the Amiga will crash ! If you try to close a public screen from the screen list, it will be closed without regarding any locks or visitor windows on that screen ! It might be useful if the program which holds the lock crashed and will not use it anymore. On the other hand if you close a public screen from the public screen list, 'Fenster 3' will regard all locks and visitor windows. Be careful, 'Close' can easily cause a system crash ! 4.5 Info Each item (public screen, screen, window and request) has a structure which contains interesting fields. Some fields only exists under Kickstart 2.0 (e.g. 'DisplayID', 'MonitorID', 'ReqImage' or 'MoreFlags'). 4.6 Save This command can be used to save a screen or window. The requester contains following gadgets : File Name : Enter the file name. If you have selected a file requester this gadget is disabled. Format : This gadget describes the format of the file. 'IFF/ILBM' is the standard exchange format used by 'DPaint'. 'IFF/ILBM comp.' is the same format except that the data bytes are compressed. The file gets shorter but it takes longer to display the picture. 'IFF/ACBM' is a special format only used by some 'AmigaBasic' programs on the extra disk supplied with the Workbench set. 'Raw' means that only the data are written to the file. The format 'Raw & Colortable' also contains the colortable. 'Colortable & Raw' means that the colortable is written in front of the raw data. These three formats are useful for programmers who want to include the data to their programs. Boundary : For the Amiga Operation System and for 'IFF' all lines must be padded out to a 'Word (16 pixels)' boundary. Old and baldy done 'IFF' reader sometimes need a 'Byte (8 pixels)' boundary. Picture : You may save the 'Whole Range' or just a 'Range'. In that case enter the size into the string gadgets on the right side. Delay : The gadget contains the delay before 'Fenster 3' starts to save the picture. That might be useful if you want to save the menu layout and have to press the right mouse button. An empty gadget means 0 seconds. Bitmap : If that gadget is selected 'Fenster 3' will copy the bitmap to its buffer. For example, you can release the the right mouse button when the program saves the copy of the menu layout. If you save a window, 'Fenster 3' always uses a copy. Colors : The gadget contains the number of entries of the colortable. Other formats ignore this value. If you want to save a range you have to enter its position ('x' and 'y') and size ('w'idth and 'h'eight). If 'w' or 'h' are lower than 1 they get a special meaning. Then they describe the coordinates of the right bottom edge relative to the screen/window size. Some examples : 20/20/50/50 : A range (50x50) starting at 20/20 is written. 0/0/0/0 : The whole screen/window is saved. 10/0/-10/0 : The whole range except a 10 pixel width border on the left and right side is written to the file. 0/0/50/-10 : A 50 pixel width stripe starting at the top up to 10 pixel from the bottom is saved. Sometimes it will not be easy to get the right coordinates so 'Fenster 3' also offers a 'SNAP' command. Click 'Set Range' and the screen or window will be brought to the front. But BACKDROP windows might still be behind other windows. Use the left mouse button to set the other edge and the right mouse button to exit. Instead of the mouse buttons you may press the [ALT] keys, too. The mouse pointer can also be moved using the cursor keys and [right AMIGA]. If you press [ESC] the old coordinates will remain. Select 'Save' to save the picture or 'Cancel' to exit the requester. 4.7 Move Screens and window can be moved, you may also change the size of the window. To move a screen just enter the new coordinates or select 'Top Left' to move the screen to 0/0. If you use Kickstart 1.2/1.3 screens cannot be moved to the left or right side. If you have selected a window, the requester contains gadgets for the size and limits, too. 'Fenster 3' will check if your input matches the screen size. To get the maximum limits (screen size) just enter '-1'. All values will be reseted if you click 'Undo'. If you select 'OK' it might take a little time (it seems that the system has crashed) until the new values are used. User of Kickstart 2.0 or higher may click 'Zip Window' which is identical to the ZOOM gadget of a window and toggles between two sizes. 4.8 Print 'Fenster 3' may be used to get a hardcopy of a screen, a window or a request. Nearly all settings of 'Preferences' can be modified : Aspect : This value describes how the picture should be printed ('Horizontal' or 'Vertical'). Image : Select either 'Positive' or 'Negative' image. 'Negative' means that the image is inverted before it is printed. So bright areas become dark and dark areas become bright. 'Image' is ignored for coloured hardcopy. Shade : Select the type of hardcopy : 'Black & White', 'Gray Scale I', 'Gray Scale II' or 'Color'. 'Gray Scale II' should be used by A2024 users (this monitor displays four gray shades). Density : Select the graphic print density. Not all printer drivers support up to eight densities. One is the default value. Dithering : This gadget determines how the printer driver should generate different colours shades. 'Ordered' used ordered patterns, 'Halftone' uses halftones and 'Floyd-Steinberg' uses the 'F-S' method. Correct : If a gadget ('Red', 'Green' or 'Blue') is selected, the printer driver tries to adjust the printer colours to the display colours. Threshold : This value determines the threshold for a 'Black & While' hardcopy. Background : If this gadget is activated 'Fenster 3' changes the background colour to white. It means that the background is not printed ('Image' must be positive). Size : The cycle gadget contains the measure used for the gadgets on the right side. You can choose between 'mm x mm' (millimeter), 'Columns x Rows' (in printer pixels), 'Percent x Percent' (relative to the paper size) and 'm.Inch x m.Inch' (1/1000 inch). Center : Turn horizontal centering on or off. Keep Aspect : The size may be modified to keep the correct aspect. No Form Feed : This gadget enables the mixing of text and graphics or multiple graphic dumps on page oriented prints (e.g. laser jet printers). If the gadget is selected, the paper will not be ejected after the graphics dump. Anti Alias : Select smoothing of diagonal lines on or off. That mode mutally exclusives with 'Floyd-Steinberg' dithering. Picture : You may print just a 'Range' or the 'Whole Range'. If only a range should be printed, enter the coordinates on the right side. Delay : Delay in seconds before 'Fenster 3' prints the picture. An empty gadget means 0 seconds. Bitmap : If you select this gadget, the screen bitmap is copied to a buffer and then that copy is sent to the printer. 'Fenster 3' always uses a copy of a window or request. 'Print' and 'Save' use the same snap routine ('Set Range'). Click the 'Print' gadget to get a hardcopy or select 'Cancel' to exit. If an error occurs, the Operation System might take a litte time before the error is displayed. 4.9 To Front The command brings the selected screen to the front of the display or puts the window (if is not a BACKDROP window) to the front. Requests cannot be moved. 4.10 To Back The command sends the selected screen to the back of the display or puts the window behind the other windows on the screen. Requests cannot be moved. 4.11 Font Use 'Font' to change the font of a screen or window. It causes no trouble to replace a font by another font of the same size. If you want to get a disk based font (currently any font execept 'Topaz-60' and 'Topaz-80'), the 'diskfont.library' must be available. Some font requesters allow the set the style, too. 4.12 Redraw Frame The window frame is refreshed. 4.13 Std Pointer Click 'Std Pointer' to use the default mouse pointer for the selected window. So you can replace the window's mouse pointer by the standard pointer. 4.14 IDCMP ('Intuition Direct Communication Message Port') The IDCMP flags tell Intuition which actions should generate a message for the window's user port. These flags can be modified later (e.g. you have forgotten one), if at least one flag has already been set. You will find the OS 2.0 IDCMP flags 'IDCMPUPDATE', 'MENUHELP' and 'CHANGEWINDOW', too. At least one flag has to be set if you click 'OK' because a different task must not close a window's user port.