Working on bugs for low screen resolutions
Testing the IMT under Wine on my EEE PC at home reveal some problems due to the low screen res (800 x 480) of the EEE PC. Since I'm planning to present the project on the EEE PC in June, I need to work on these, and it makes sense to fix them anyway, because they may affect other users working under Wine.
The core problem is that the annotation category window shows up sized to the desktop height (which is 480px less the taskbar height). When this happens, the bottom two controls (OK and Cancel buttons) are chopped off, although oddly the status bar, which is below them, remains. Even though the window manager (IceWM in this case) is set up to allow windows to be bigger than the desktop, when you resize this window to try to get back the controls, you just get a black area with redraw failure artifacts.
There are various possible reasons for this, and these are my approaches to them:
- The form style of that particular window is unusual; it's fsStayOnTop, ensuring that it appears above the main window at all times. That could be screwing up IceWM or Wine, so I've added an option to hold down the Shift key while starting the app, which should set it back to fsNormal for testing purposes.
- The original window size was nearly 600 pixels, meaning that the window would have to be aggressively resized in order to fit on the screen. This might well happen before my own code for restoring the form state (including window size) kicks in, so the problem may occur before my code even tries to resize the window. To avoid this, I've reduced the original window height considerably, putting it well under 480px. I should be able to test starting the app with no previous window size settings (having deleted them from the user profile), and see if that successfully avoids the aggressive resizing, and if so, whether it solves the problem.
- There may be some constraint somewhere in the code which is interacting with the aggressive resizing done by the window manager. I've searched for this, but all I can find are MinHeight settings on two of the panels, one at 100px and one at 200px; these combined do not prevent the window from sizing to 480px, so I don't thinkt that's the problem.
I'll test these changes and see if they have any effect.