I've attached a patch for ide\main.pp (rev 18847) which provides a more coherent window layout. Its not exactly what I had in my mind (an approximation of which can be seen when you open a default early Delphi installation) mostly because there doesn't seem to be a method to obtain the real window boundaries including the titlebar and frame (as a sidenote, this is something that should be addressed since this functionality is required for automatic alignment of multiwindow applications). So I did what I could with the existing resources.

Some modifications I did has to do with the "first look" of the program. I believe that 0.9.26 leaves much to be desired regarding the initial look. So I modified the code in order to:

1. The component bar ("MainIDEBar")'s height is calculated to match the contents and current window size. 2. Line up the windows so they don't appear inconsistent and they don't overlap each other. 3. Make the default new form size to cover a large area made up of the area left by the object inspector, the main bar and the messages window. 4. Resize the source editor window to be smaller than the default new form size but similar in aspect. 5. When a new project is made (or the IDE starts), the form is brought on top instead of the source editor.
6. Try to not mess it up with other themes :-)

I did #1 and #2 to make Lazarus look less chaotic and more consistent. I really believe it looks better now. I did #3, #4 and #5 to focus on the visual side of Lazarus. Lazarus's strength is the RAD, which means the user doesn't have to type code. By showing the form (#5) instead of the code this is highlighted, especially since the form is not a tiny little form (#3). I made the source window a little smaller to enhance even more this aspect of the IDE: the design part is more important than the code part so the code editor is hidden behind the form (#4).
Lastly I did #6, or at least I tried to, for practical reasons.

This is how Lazarus looks with my patch after an initial launch (I just launched the program):

Aero: http://gimme.badsectoracula.com/winlazarus_aero.png
Basic: http://gimme.badsectoracula.com/winlazarus_vistabasic.png
Classic: http://gimme.badsectoracula.com/winlazarus_classic.png

I would like to make Classic look more tight, but the frame width of Aero and Basic makes the windows to overlap. Here is where I wanted to be able to use the real window bounds instead of the client areas. I compromised a bit and I gave more weight to the Aero/Basic themes since this is what most people will use in the near future. Also from my experience from Linux, many window managers look more like Aero/Basic than Classic.

So here it is, I hope this patch will be added (after maybe tested in other platforms - I only have Windows Vista available at the moment). I really believe it makes Lazarus look more "professional" and coherent.

Kostas

Attachment: lazarus-mainide-winlayout.patch
Description: Binary data

_______________________________________________
Lazarus mailing list
[email protected]
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to