OpWiC6

Opera Windows Controller for Opera 6
version 1.00       14 November, 2001
by Josef W. Segur

  Contents:

  1. General Description
  2. Disclaimer
  3. Installation
  4. Background
  5. Usage
    1. General
    2. N   Normal restored window size.
    3. F   Full maximize modes.
    4. H   Floating Hotlist size and placement.
    5. X   Transfer Window size and placement.
    6. P   Popup window special handling.
    7. A   Aggressive modes.
    8. I   Ignore minimized Opera windows.
    9. S   Remove unnecessary horizontal Scrollbars.
    10. R   Run "commandline" if Opera isn't running.
    11. D   Use DDE to tell Opera to open a file or URL.
    12. M   Start OpWiC6 minimized.
    13. Q   Quit OpWiC6 when Opera quits.
    14. T   Set timer interval.
    15. L   List Opera windows.
    16. W   OpWiC display size.
    17. V   Visibility options.
    18. G   GlobalCompact function.
  6. Suggestions & Examples
  7. Contacts
  8. Change History

-- I. General Description --

OpWiC6 is a program which provides additional control of MDI child windows opened by the Opera browser. It is based on Hugh Allen's marvelous OperaMax program, but in addition to the pseudo-maximized mode of OperaMax, windows can be any desired size including fully maximized. Options are available to control the Transfer Window or (floating) Hotlist separately from other windows. And there can be a clickable list of all open windows for quick switching.

OpWiC6 is a 16 bit Windows program intended for use on either 16 or 32 bit Windows systems. It is intended only for Opera 6.0 and later running in MDI mode.

-- II. Disclaimer --

OpWiC6 is freeware. If you decide to use the program, the following applies:

This software is offered for use as is, and no warranty is stated or implied. The author is not responsible for any loss of data, damage to hardware nor any resulting loss of time or revenue resulting from the use of this program. Like all software, this program is utilized entirely at the user's risk.

-- III. Installation --

Files in zip:

  OPWIC6.EXE    The program.
  OPWIC6.TXT    This document in plain text form.
  OPWIC6.C      Main source code.
  OPWIC6.RC     Resource script source.
  OPWIC6.ICO    Icon source.

There's no installation routine. Just put OPWIC6.EXE in any directory (folder) you choose. OpWiC6 doesn't create any additional files nor any registry entries, but you may want to add an OPWIC.CFG file and/or modify some file associations as explained later.

-- IV. Background --

Opera uses Windows' Multiple Document Interface (MDI). Opera 3.21 has obvious performance problems switching between large documents in maximized windows. This is because switching between maximized MDI child windows causes TWO to receive WM_SIZE messages. When Opera reformats their text, any difference in width between the maximized and restored size causes a significant delay. Later versions of Opera have improved, but there may still be a noticeable delay. OperaMax is Hugh Allen's very effective solution; "it sits around, looking at Opera's windows, and resizes them when necessary to fit the available area. Thus you have windows almost as big as if they were maximised, without incurring the performance penalty." (Quote from the OperaMax readme.txt)

OpWiC started as a 16 bit port of OperaMax, then grew with additions and modifications. Without Hugh's work as a base, I probably wouldn't have tackled this project.

Opera 4.x and 5.x implemented a modified MDI system which made the original window size control feature unnecessary. Users found other variations still useful, so OpWiC lived on.

With the release of 6.0 beta 1, Opera can be run in either MDI mode or SDI mode, and can also be run at the same time as an earlier version of Opera or another instance of Opera 6. These changes were accompanied by changed Classnames for the Opera windows which OpWiC did not recognize. OpWiC6 uses the new Classnames and will only work with Opera 6 and any subsequent Opera versions with the same Classnames. The only other change allows one instance of OpWiC and one of OpWiC6 to run at the same time.

-- V. Usage --

-- i. General --

OpWiC6 will control only MDI windows, and is useless if you prefer to run Opera 6 in SDI mode. It will find the main window of SDI Opera 6 and become active, but there's nothing it can control. Essentially it just sits there checking periodically for windows to control and going back to sleep, so there's no harm done.

The basic design of OpWiC6 makes only one instance possible. If you run multiple instances of Opera 6 in MDI mode, OpWiC6 will find one of them and control it's windows, but there's no way to control which Opera instance will be found.

OpWiC6 with no command line arguments and no OPWIC.CFG file uses defaults which behave this way:
Start it and leave it running while you browse with Opera. Whenever you switch to a new window in Opera it will be sized to fit the available area, but then you'll be able to resize it. If you resize Opera, the active window will readjust to fit.

The OpWiC6 title bar provides 5 possible status indications:

To modify how OpWiC6 operates, there are codes to use as command line options or in an OPWIC.CFG file. You create an OPWIC.CFG in the same directory as OPWIC6.EXE using any text editor such as Notepad, simply putting in the codes either all on one line or on separate lines. When you start OpWiC6 it reads the OPWIC.CFG codes before the command line codes. There are also default settings which are in place before reading OPWIC.CFG. Each code has a possible entry to restore the default in case you want to undo an OPWIC.CFG code with a command line code.

Each code starts with a letter (case insensitive). Numerical entries are needed for some options, indicated with # characters. These may be multidigit numbers and OpWiC6 will adjust any out of range values. Numbers which control window size or position are on a scale where 0 is the left or top and 1000 is the right or bottom. Think of them as percent of maximum times ten.

You can put spaces between options, but only the D option with an unquoted name _needs_ a trailing space.

When you start OpWiC6 it forces a previous instance of OpWiC6 to shut down. This allows changing options by using different command lines.

Here's a quick reference to the codes:
** Codes Affecting Opera Window Displays **
N#,#Normal restored window size.
F#Full maximize modes.
H#,#,#,#,#Floating Hotlist size and placement.
X#,#,#,#,#Transfer Window size and placement.
P#,#,#,#,#Popup window special handling.
A#Aggressive modes.
IIgnore minimized Opera windows.
S#Remove unnecessary horizontal Scrollbars.
R commandlineRun "commandline" if Opera isn't running.
D#"name"Use DDE to tell Opera to open a file or URL.
** Codes for controlling OpWiC6 **
MStart OpWiC6 minimized.
QQuit OpWiC6 when Opera quits.
T#Set timer interval to # ticks.
L#,#,Face,#,#List Opera windows.
W#,#,#,#OpWiC6 display size.
V#Visibility options.
** Other **
G#,#GlobalCompact Function.

Control code details:

-- ii. N#,# --

Normal restored window size horizontal,vertical (default N1000,1000). Range 100-1100,10-1100. If you use a number greater than 1000, OpWiC6 doesn't adjust window position for that axis. N- may be used if you want to keep OpWiC6 from changing the size of restored browse windows.

The N#,# code may be used instead of Opera's NewWinSize opera.ini setting. Like that setting, it doesn't specify the position for new windows, but it will adjust the position if needed to keep all of the window within the MDI frame when you use a width or height less than 1001.

-- iii. F# --

The F# codes are for those who prefer to browse with a single fully maximized window.

F0=none(default).

F1 just maximizes the first window then does nothing unless you close all windows and again start with a first window.

F2 does a maximize each time you switch to a different window.

F3 and F4 are like F1 and F2, but when they maximize a window they also set it so a restore will go to the N#,# size.

F5 and F6 are like F1 and F2, but make pseudo-maximized windows with the titlebar hidden (this doesn't work with Opera 2.12 or 3.21). These are intended for those running Opera in a full-screen setup, but can be used by anyone who can do without the titlebar information. (Note that the OpWiC6 window list can be used to show the window title, and Alt+dash[minus sign] brings up an MDI document window's system menu.)

F7 through F10 keep a count of windows, and maximize whenever that count changes to one. (If you use the I code to ignore minimized windows, they aren't counted.) Each maximize also sets the restored size specified by the N code. The count is also used to autotile windows with F8 (horizontal) or F9 (vertical); tiling is done whenever the size of the MDI frame changes or the count changes and is greater than one (but is inhibited if the Shift and Ctrl keys are down for new windows in the background). F7 with Opera's autotile setting is similar to F9, but F9 will retile when the docked Hotlist is displayed or hidden, and doesn't prohibit opening windows in the background.

F10 also does not count the Transfer Window if an X code is controlling it, or the floating Hotlist if an H code is controlling it. When there's just one other window, it maximizes each time you activate that window rather than just when the count changes.

Notes:

F2, F4, or F6 will maximize popup windows, which could be a little confusing if you weren't expecting it.
The original delay problem when switching between maximized windows showing large documents seems to be mostly Opera redoing the word wrap if the restored width differs from the maximized width. F4 with 1000 for the first # of the N code (width) gives fully maximized windows which will switch relatively quickly. F6 involves no window mode change or resizing, so provides the same quickness as OperaMax.
F1 and F2 effectively include the N- code to inhibit adjusting restored windows. With N-, F3 and F5 become identical to F1, F4 and F6 become identical to F2.

-- iv. H#,#,#,#,# --

Hotlist (floating) left,top,right,bottom,mode. H with no numbers gives 0,0,250,1000,1. Mode 3 forces size and position continuously, mode 2 allows dragging the right side only, mode 1 allows any adjustment after OpWiC6 sizes it at activation. Use H- to restore the default 'off' state with the Hotlist window being treated like other windows.

The H code makes the floating Hotlist a special case with defined size and placement. Switching to that window will size and position it as specified and display it on top of any other windows. Those other windows will be forced to their 'restored' sizes. The H code doesn't have any effect on pre-3.0 Opera versions (or when the Hotlist is docked).

-- v. X#,#,#,#,# --

Transfer Window (Opera 3.5+) left,top,right,bottom,mode. X with no numbers gives 0,0,1000,125,1. Mode 3 forces size and position continuously, mode 2 allows dragging the bottom only, mode 1 allows any adjustment after OpWiC6 sizes it at activation. Use X- to restore the default 'off' state with the Transfer Window being treated like other windows.

The X code makes the Transfer Window a special case with defined size and placement. Switching to that window will size and position it as specified and display it on top of any other windows. Those other windows will be forced to their 'restored' sizes. The X code doesn't have any effect on pre-3.5 Opera versions.

-- vi. P#,#,#,#,# --

Popup window mode,delay,width,height,start. This attempts to detect popup windows and not handle them like normal windows. P0 is the default allowing popups to be treated like a normal window (i.e. resized by N or F codes). P1 simply leaves them at the size given by the popup code, P2 increases the window size once so the display area is the size of the original overall size. P3 or P4 normally just close popup windows, but they add a 'Kill Popups' item to the system menu which can be unchecked to allow popups to be shown. When that's unchecked, P3 acts like P1 and P4 acts like P2.

OpWiC6 defines a popup as any window which Opera resizes before expiration of the delay controlled by the second #, a multiplier for the T# value which controls how often OpWiC6 checks windows. The # can be anything from 0 to 50. A setting of 0 means that when OpWiC6 first sees a new window it's immediately classified as a normal window if it's normal size, or as a popup if either it's width or height isn't normal. A setting of 1 means that a window won't be classified as normal until it's seen the second time still at normal size. (Exceptions: 1. Any window first seen maximized is immediately classified as normal. 2. The floating Hotlist and the MDI Transfer windows are always classified normal. 3. A window which doesn't get the focus before the delay expires is classified normal.)

Note that Opera will only create a new window for a popup and resize it if the 'Allow Window Create From Documents' box on Preferences | Multimedia is checked. Unchecking that box will mean OpWiC6 can't recognize any popup.

The 'normal size' is controlled by the third and fourth #'s (width,height). If you're using a specific NewWinSize setting in opera.ini, you just copy those settings. If you're using Windows defaults either via a '-1' parameter in NewWinSize or by not having a NewWinSize, put 0(s) in P's corresponding parameter(s). For those 0's, OpWiC6 calculates the windows default value based on the MDI frame size and your system settings for Titlebar height and border width. The calculation is based on what my Win95a sytem does; I hope Microsoft hasn't used a different algorithm for other Windows versions.

The final # is a count of windows to be automatically classified as normal at startup of either OpWiC6 or Opera. The main purpose is to keep windows launched from a 'Saved Window Settings' file from being classified as popups, which they otherwise would be unless you were careful to save them at 'normal size'.

There's no OpWiC6 setting to keep new windows created with Opera's 'Tile when creating a new window' from being classified as popups. Avoid it unless you _want_ to make a window OpWiC6 won't mess with.

A list is maintained to keep track of window classification and status. For simplicity it's a fixed size which will allow tracking 127 windows. In the unlikely event you have more than that open the popup code will stop doing anything until you close enough to get back below 128. (Hint: if you want to test this, turn off the Address bars.) If you restart OpWiC6, the list is passed from the instance being shut down to the new instance. If the list isn't empty, then the final # isn't used to automatically classify windows normal.

-- vii. A# --

Aggressive modes. For most settings, the OpWiC6 default is to only size a window when it becomes the active window, allowing you to resize it after that. A0=default, A1=act on all windows when switching OpWiC6 from 'paused' to active state, A2=act on all windows every time, A3=act on all restored windows every time, but allow the active window to be maximized.

For the F8 and F9 autotiling modes, the default is to retile when the MDI frame changes size or the number of windows changes. A2 and A3 make the retile continuous as expected. There's a side effect that a switch to a different window automatically places it at the top left of the MDI frame. It's slightly disconcerting to click on a window and have it move out from under the cursor, but rather nice when switching windows from the keyboard not having to shift your eyes to another part of the screen. These combinations also inhibit the H and X codes to avoid a rapid switching between tiled and specified size of the floating Hotlist or Transfer Window.

The A2 code with no other sizing options makes OpWiC6 like OperaMax; you can't switch out of pseudo-maximized mode without pausing. F4 combined with A2 similarly forces fully maximized windows.

-- viii. I --

Ignore minimized Opera windows (I- for default 'off' state).

-- ix. S# --

Remove unnecessary horizontal scrollbars. S1 for fully maximized windows only, Opera 32 bit. S2 for any size window, 32 bit. S3 and S4 are the same as S1 and S2, but for 16 bit Opera. (default S0, no scrollbar control)

The S# codes take effect only after Opera has completed formatting a page. If the progress dialog is enabled, OpWiC6 waits for the window history ComboBox to reappear. In any case, it waits until the vertical scrollrange is stable. There may be a significant delay when viewing large documents, but the display is ugly if OpWiC6 tries to kill the scrollbar earlier. Note: The different parameters for 32 and 16 bit Opera are due to differences in the way Opera sets the scrollbars. I've tested with 32 bit Opera 2.12, 3.21, 3.51, and 3.60; and 16 bit Opera 3.51 and 3.60.

-- x. R commandline --

Commandline is executed if Opera isn't running. Give the full pathname of Opera on your system plus any Opera command line arguments. On 32 bit systems, it's safest to use the short version of the pathname (i.e. use RC:\Progra~1\Opera\opera.exe). On my Win95a system I can use the ...\Program Files\... version if I enclose it in double quotes, but a user has reported that only the short version without double quotes works on NT4.

Note that this option must be the last on the line. Everything after is arguments to Opera. In an OPWIC.CFG the commandline is terminated at an end of line, but no codes after that will be recognized. (R- gives the default 'no commandline', but still must be the last option).

The R option will actually execute any program, but is meant to start Opera if it isn't already running. If you need a long Opera commandline I suggest putting it in OPWIC.CFG, since Windows limits the total length of the arguments to OpWiC6 in a commandline to 127 characters.

If Windows indicates that execution failed, a message box is displayed with the title 'OpWiC6: can't execute', and the commandline as the text of the message.

-- xi. D#"name" --

Use DDE to tell Opera to open a file (full pathname) or URL. D1 and D3 cause Opera to open a new window, D2 and D4 use the last active non-minimized browse window. D1 and D2 cause Opera to come to the front, D3 and D4 don't. This works even if Opera is already running. (D0 to restore default no DDE) For backward compatibility, D"name" is the same as D1"name" and D- is the same as D0.

When OpWiC6 is starting Opera with an R option, there's a short delay so the window opened for the D option should end up on top of any other Opera windows. The D#"name" form can be replaced with just D#name if the name doesn't contain any spaces and you do put a space after the end of the name. The D codes are particularly useful for setting up an OpWiC6 plus Opera configuration as the default browser for files or protocols, see the examples section.

-- xii. M --

Start OpWiC6 minimized (M- for default normal window).

-- xiii. Q --

Quit OpWiC6 when Opera quits (Q- for default no quit).

-- xiv. T# --

Set timer interval to # ticks (default is 6). There are 18.2 ticks in a second, # may be set to anything in the range 1 to 59.

The T# code controls how often OpWiC6 checks to see if there's a window which needs to be resized. The default T6 checks about 3 (18.2 / 6) times a second and T1 would check 18 times a second. Each check of course uses some CPU time.

Windows NT/2000 (and I assume XP) have 1/100 second resolution, but the intervals are calculated based on the 9x/ME tick rate so the settings are equivalent no matter which version of Windows is in use.

-- xv. L#,#,Face,#,# --

List Opera windows. L0=none(default).

The L#,#,Face,#,# codes provide a clickable listing of Opera window titles. Titles longer than 70 characters are truncated and shown with two trailing dots. You may have to resize OpWiC6 vertically to show the list (the W code includes control of this). The list has both vertical and horizontal scrollbars. Click a line in the list or shift the highlite to a line and press the 'Enter' key to switch Opera to that window.

The first # is a multiplier for the T value which controls how often the list updates; if you're using the default T6 and add an L3, the effective value for updating the list is 18, or about once a second.

The second # for L controls the sort order and highlighted line for the list:
- If 0 or 3, the list is presented just as Windows delivers it in Z order where the active window is at the top. If you use Opera's 1 or 2 key while viewing the list, you'll see that either the top window is moved to the bottom causing the previous second window to become active, or the bottom window is moved to the top. Creating a new Opera window with Shift+Click adds it at the top. Creating a new window in the background with Shift+Ctrl+Click adds it immediately below the top.
- If 1 or 4, the listbox sorts alphabetically by title. Duplicate titles and changing titles as you browse to a new page make this somewhat less than ideal.
- If 2 or 5, OpWiC6 inserts the titles in window handle order, and the listbox doesn't sort. Since the window handle is unchanging from creation to destruction of a window, the list order doesn't change. But a new window may appear anyplace in the list since window handles are not necessarily created in order.
- If 0, 1, or 2, the highlight is positionally sticky; if you've moved it to the third line of the list it'll stay there until you move it again.
- If 3, 4, or 5, the highlight moves to indicate the active Opera window, even when you switch windows in Opera. To allow keyboard users to still be able to move the highlight the automatic move to the active window only takes place immediately after a window switch or when the list order changes. This isn't perfect: navigating the list while the active page is still loading could be interrupted by a popup or a redirect.

The L parameters Face,#,# control the font used in the window list. 'Face' is the name as usually shown in a font selection dialog, the first # is point size, and the second is font weight, which can range from 100 to 900. 400 is what a font dialog sets for 'regular' fonts, and 700 for 'bold' fonts. TrueType fonts will react to the full range, at least on Win95. (Note: if you don't add these parameters to the L option, the list will use the default system font.)

-- xvi. W#,#,#,# --

The OpWiC6 initial display left,top,width,height. (default W500,0,300,0 = origin at center top of screen, 30% of your screen width, minimal height) Height values 1-32 are height mode controls which automatically hide the list when another window is active (see below for more explanation), other values are scaled initial height. Height controls are only useful with the window list.

The final # for W#,#,#,# is used to control the height of the list. If that's 0 or greater than 32, it just sets the initial height scaled to screen height. If that's in the 1 to 32 range an autohide mode is activated so the list is only shown when OpWiC6 is the active window. 8 modes are implemented: Odd modes 1, 3, 5, and 7 initially show one line and remember any height change you make by dragging. Modes 2, 4, 6, and 8 automatically size the list to show all windows if possible. Modes 3, 4, 7, and 8 activate Opera when a window is selected, thereby deactivating OpWiC6 so the list immediately autohides. Modes 5, 6, 7, and 8 are supposed to activate OpWiC6 automatically when you move the mouse cursor over the title bar, but sometimes don't. It seems to work reliably if the previously active window belongs to a 16 bit program, but less so if a 32 bit program was active (7 and 8 seem to work correctly with 32 bit Opera after the first window switch from the list). The fallback is just to click the title bar as you would with modes 1 through 4. Here's a matrix of the modes:

 1  2  3  4  5  6  7  8
 X     X     X     X        Manual height adjustment
    X     X     X     X     Height from number of windows
       X  X        X  X     Switch to Opera on window select
             X  X  X  X     Auto Activate OpWiC6  on mouse over

-- xvii. V# --

Visibility of OpWiC6 . V0=always on top (default), V1=normal window which can be covered by other windows, V2=hidden, V3 and V4 are hidden when first launched or when replacing a visible OpWiC6 window, but are visible when replacing a hidden OpWiC6 window. When visible, V3 is always on top, V4 is a normal window.

When OpWiC6 is hidden by V2, V3, or V4 it can be shut down by the Q option, by the task list (Ctrl+Alt+Del in Win95), by shutting down Windows, or by starting a visible version (anything other than V2) then shutting down normally. Starting a visible version is also useful if you want to pause OpWiC6 or look at a windows list. The alternating hidden/visible action of V3 and V4 is meant to make this reasonably easy.

-- xviii. G#,# --

This is a feature for users on 16 bit Windows. All it does is perform a GlobalCompact function. The first # controls when the function is performed. It may be a period in minutes between automatic execution of the function, or it may be an asterisk to put a 'GlobalCompact' item on the system menu so you can click when you want to do the function. The second # is the amount of memory to free in Megabytes. 0 for the first # will inhibit the function, the default case. 0 or no entry for the second # will try to free 14 Megabytes.

For 16 bit Windows, the function is described as:

The GlobalCompact function rearranges memory currently allocated to the global heap so that the specified amount of memory is free. If the function cannot free the requested amount of memory, it frees as much as possible.

For 32 bit Windows, the function is described as:

The GlobalCompact function is obsolete. This function is provided only for compatibility with 16-bit versions of Windows. It has no meaning in the 32-bit environment.

As expected from that, there seems to be no effect on my Win95a system.

-- VI. Suggestions & Examples --

Notes:

I don't have a Win3.1 or Win NT testbed, so this is all based on operating under Win95.
In all examples you may need to adjust paths.

I suggest putting the options you usually want in OPWIC.CFG and using the command line only to add or modify settings.

Since OpWiC6 only reads the OPWIC.CFG file and never writes to it, you can leave the file open in your text editor while you're trying out options. Just save the file without closing it, then restart OpWiC6 to see the effect.

** Example 1: OperaMax emulation with file list. **

OPWIC.CFG:
-------------------
a2
i
t2
q
L9,1
rC:\Progra~1\Opera\opera.exe
-------------------

Shortcut Target:

"C:\internet\utils\opwic6.exe"

 

** Example 2: OpWiC6 plus Opera as default browser for HTML files. **

OPWIC.CFG:
-------------------
f4
a1
L3,0
rC:\Progra~1\Opera\opera.exe /nowin
-------------------

From the View menu of Windows Explorer or My Computer select Options..., then the File Types tab. Find and select the type which applies for .htm and .html extensions ('HTML Document' on my system), then click the Edit.. button. Click the New.. button. In the New Action dialog, name the action 'OpWiC6 open', then in 'Application used to perform action' put:

C:\internet\utils\opwic6.exe D1"%1"

Click OK for the New Action.
Back in the Edit File Type dialog, click the 'OpWiC6 open' action to highlite it, then the 'Set Default' button and the OK button, then close the Options dialog.

After this, double-clicking an html file will launch OpWiC6 and Opera and display the file fully maximized. Double-clicking another will create a new fully maximized Opera window to show it. If you open several, resizing OpWiC6 to show the list will provide that additional method to switch between them. Alternatively, you could use the D2 code in place of D1 to have the new document displayed in the same window, or if you normally want to click several before switching to Opera to see them you might prefer D3 or D4.

Since this just adds a new action, you can easily switch back to the previous default action using the 'Set Default' button on the Edit File Type dialog.

A similar procedure works for any file type or protocol which Opera can handle. For the protocols which may be launched by clicking a link in another application, you'll probably need to edit the 'open' action rather than adding a new action.

** Example 3: My configuration **

I run Win95 on a Pentium 200 MMX system with a 17 inch monitor at 1152 x 864 resolution. I prefer doing all web browsing with a single maximized Opera window, but I keep the titlebar, menu, toolbar+status, and progress bar visible. Opera itself isn't quite maximized, there's a little desktop space to its right and bottom where I can click an edge of Columbine Bookmark Merge or some other net apps I may also have running. My Internet connection is dial-up with at best a 28800 bps rate.

OPWIC.CFG:
-------------------
f3A1
n1000,865
x0,0,1000,313,2
L3,0,Arial Narrow,10,800
w500,0,333,8
h0,0,275,1000,2
i
RC:\INTERNET\OPERA60\OPERA.EXE /e
-------------------

The f3 code gives me an initial window that's maximized and the n height value makes it restore to less than the maximum restored height by just enough to let the top part of the Transfer Window show. The A1 is added so that if I somehow end up viewing a new window or adjust the existing window, I can right-click OpWiC6 twice to fix the window's restored size.

The x values set the Transfer Window size as I like it; full width with just enough height to show progress for two simultaneous downloads. I determined the 313 bottom setting by enabling 'Show Window Size' on Opera's Document Window preferences, then using a browse window to measure the overall height (753), the Transfer Window height (236), and the browse window height (651) when it was set to reveal just the top progress area of the Transfer Window. Then 236/753 = .313 (and 651/753 = .865 to get the n height value).

s2 removes the browse window horizontal scrollbar if appropriate even when the window is restored, since I'm trying to keep it useful for browsing in both states.

The L and W codes enable the Opera window list though I seldom need it. The W positioning puts the OpWiC6 title bar over a generally unused part of Opera's title bar so I'm not losing any useful screen space. The H and I codes are also seldom useful.

The R code runs Opera 6.0. The /e at the end is only there because Opera Software's default browser configurations always include it. I don't think it does anything here.

-- VII. Contacts --

Hugh Allen's OperaMax page: http://members.xoom.com/hfa/opera/operamax.html

Me: Josef W. Segur (Joe)

My email: jsegur@westelcom.com

My homepage: http://www.westelcom.com/users/jsegur/

The latest version of OpWiC6 will always be available for download at my homepage.

-- VIII. Change History --

***************************************
**** OpWiC6 1.00        14 November 2001 ****

Initial public version.

- End -