Development :  K-Meleon Forum
K-Meleon development related discussions. 
Browser Frame / View in MDI children...
Posted by: MonkeeSage
Date: March 10, 2003 07:03PM

Andrew, asmpgmr & others:

I'm going to be playing around over the next week or so with turning the main window frame into a mdi container and inserting a child into the container, and then inserting the browser frame / view into that child window...if this works, it should be possible to then link the toolbar button, menus, URLbar & statusbar to the current child window, and then open multiple children. And if that works, that means that the layers plugin can be replaced by a new layers plugin that simply lists and switches between mdi children. In other words, K-M would have *real* tabs (e.g., Opera uses mdi children for its windows)...

Has anyone ever tried this?

Anyways, I have to see if I can even get it to embed into an mdi child first of all before I get too excited. I'll keep you informed of what I find out.


Shelumi`El
Jordan

S.D.G

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: asmpgmr
Date: March 10, 2003 09:49PM

Please do NOT under any circumstances make K-Meleon an MDI browser, some of us hate MDI. Leave the MDI stuff to the layers plugin so that those of us who can stand MDI don't have to load it.

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: MonkeeSage
Date: March 10, 2003 10:20PM

asmpgmr:

You'll have to not use my builds if I get it working, because I'm trying my best to make it MDI, heh. ;)

But also, if you mean you hate the way MDI looks, you won't have to worry about that, because if I can get it working correctly then it will not look different at all from how it currently does (i.e., you won't see any child window system buttons in the top right and they will always be maximized). If all goes well, the children will be non-distinguishable from the standard frame--the only difference being that they are controlled by a single client process and take up alot less memory.


Shelumi`El
Jordan

S.D.G

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: asmpgmr
Date: March 10, 2003 10:54PM

MonkeeSage,

I really think all of the MDI stuff should be kept in the layers plugin separate from the main browser. MDI is one of the main reasons why I don't like Opera (the other being catering to dummies). I absolutely do not want a pseudo SDI mode operating in MDI mode like Opera 7 does.

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: jsnj
Date: March 11, 2003 12:07AM

Just curious, assuming KM looks the same, what are the negatives or drawbacks of MDI. I'm not a fan of Opera mainly because of the lack of customization in their UI and I always had java problems in Opera, but it is the only browser I've found that is slightly faster than KM...but I'm assuming that has nothing to do with MDI. Does it effect performance in some way?

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: asmpgmr
Date: March 11, 2003 12:59AM

Well personally I think MDI sucks.

SDI = Single Document Interface, multiple windows of app appear in separate OS windows. This is how graphical browsers have worked since the beginning. MDI = Multiple Document Interface, multiple windows of an app appear within a single OS window. This is tabbed browsing/layers/whatever and how M$ Word "works". Once an app is MDI then SDI suffers even if they attempt to make an SDI-like mode (Opera 7). It should be one or the other, either by design or a way to select one but not a mix, a mix will be MDI with pseudo SDI. This is a VERY big deal for me as I absolutely HATE MDI. Please do not advocate adding MDI to K-Meleon's base, leave it in the layers plugin so that it is true SDI by default. I'm all for user choice and I'm certainly not saying to remove layers but lobotomizing SDI for the sake of MDI is definitely a bad idea.

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: MonkeeSage
Date: March 11, 2003 02:04AM
Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: jsnj
Date: March 11, 2003 02:35AM

Yeah, I assumed the definition correctly. I guess I phrased my question poorly. What I meant was, what performance issues come into play when choosing to view an MDI app in SDI mode? How does SDI suffer specifically? Does the fact that it's design is MDI make a difference in speed, stability or something else when viewing it in SDI? In other words, does Opera's performance suffer when viewed in SDI mode? I didn't notice any difference but perhaps I wasn't using certain features in which I would notice the difference.

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: MonkeeSage
Date: March 11, 2003 03:02AM

jsnj:

Using MDI should decrease K-M's overall memory use by aprox. 2-15 megs per open window. I'm not sure what asmpgmr means about "pseudo SDI." As far as I know MDI is just a control that sits on an SDI window like any other control (MFC for example), and provides easy access to complex API routines (in this case, for manipulating mutiple documents within the control).

The only drawback I've ever heard of has nothing to do with proformace, but with coding--it is supposedly harder to get information about the children processes--but I've never hard any problems getting or setting any of their attributes myself.


Shelumi`El
Jordan

S.D.G

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: asmpgmr
Date: March 11, 2003 03:09AM

jsnj,

Irrelevant, SDI and MDI are distinct modes and should NOT be combined. As for Opera, even though they say it can work as SDI it really is not, there are still MDI aspects in it's pseudo SDI mode because it is an MDI browser and that's how they want it to be (that and dummy oriented).

If Andrew or any developers are reading this then PLEASE DO NOT make K-Meleon an MDI browser, leave all MDI support localized in the layers plugin. This is an absolutely crucial issue. Where some people like MDI a lot, others (like me) despise MDI just as much. K-Meleon's goal should remain just as it is, a lightweight browser which is highly configurable, doesn't force you to work a specific way, and techie-oriented.

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: Andrew
Date: March 11, 2003 03:31AM

asmpgmr,

Not to worry, we hashed this over so many times I couldn't tell you how many times it's been discussed. Like you, Jeff doesn't do MDI. Ulf put together the Layers plugin after so many asked for tabs in the Forums but I don't think he's into them either. I personally use the Layers quite a bit now but I too prefer it as a plugin.

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: MonkeeSage
Date: March 11, 2003 05:15AM

I am by no means for K-Meleon remaining a memory hog (let's be honest, it hogs as much memory as any XUL app you want to name), and if MDI is the answer, I'm all for it.

If I find that I can get K-M working as MDI, and enough people like it, mabye I'll start another branch on the source tree or something. It is impossible to make an MDI plugin, however, because MDI has to do with the way you draw windows, not some type of extra features like lining up windows on top of each other (which is what the layers plugin does).

It either has to be MDI or not. But what would be possible is adding two modes, where a pref determines if it is to use MDI client windows or standard MFC / AFX windows. In any case, I'm not even sure I can get the browser view to embed right in an MDI child window, so I'm just thinking out loud atm.

Also, If anyone knows of another way to load multiple windows without giving them a separate handle and assigning them to a seperate window space (which is the whole reason K-M hogs so much memory right now), without using MDI, please let me know. The tabbox dialog resource is out of the question unless K-M becomes a full dialog app, which would be next to impossible, and those are the only two methods I know of.

Ps. If you've used mIRC, VC++, UltraEdit32, Kazaa, &c., then you have used an MDI ('pseudo SDI') program (for those who aren't sure of what it is).


Shelumi`El
Jordan

S.D.G

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: asmpgmr
Date: March 11, 2003 06:55AM

MonkeeSage,

I can assure you that K-Meleon normally uses less memory than Mozilla with its wretched XUL load of bloated crap. I use the bookmarks, history, toolbars, macros, and fullscreen plugins and have tried the rebarmenu plugin as well. While I'm definitely not opposed to making the layers better and more efficient for people who use that plugin, I am most definitely opposed to affecting the main program for it. If it has to be MDI or not then I will say not. Frankly if K-Meleon became an MDI program then I would be forced to use an older version of the M$-Borg browser which is something I really don't want to do though from what Andrew said that's highly unlikely.

By the way I would suggest checking out Opera's forum regarding this issue. When they combined SDI and MDI in Opera 7 beta (effectively making it MDI) they got numerous angry complaints about this. Worse they foolishly boasted about how they wouldn't give users the choice. Even in Opera 7.01 which I looked at briefly just out of curiosity to see if they addressed this, while they made it more SDI-like, it's still not truly SDI which is what I call pseudo SDI.

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: MonkeeSage
Date: March 11, 2003 08:13AM

asmpgmr:

You must be thinking of something other than MDI, because Opera has always been MDI.

Here is a simple MDI app that just opens new child windows and has a menu:

http://gratisDei.com/MdiShell.exe (36k).


That dark gray area is the MDI client area; that is what I'm going to try and replace the K-M browser view with and stick the view into a child window in that client area. It may not even work because of the WS_CHILD flag, I'm not sure how exactly netscape set up their class for embedding, I still have to go look at all that, &c. But I'm going to give it a try at least. smiling smiley


Shelumi`El
Jordan

S.D.G

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: asmpgmr
Date: March 11, 2003 10:50AM

MonkeeSage,

Opera 6.x had an option to select between the two modes. Previous versions supposedly were MDI only. Opera 7 beta was MDI only with a very poor pseudo SDI mode, Release versions of Opera 7 are better but still not 100% SDI because the Opera people like MDI and really don't want to support SDI but bent a little since they actually want money for the crummy browser. Anyway if you want to start a separate branch or something for this then that's up to you, it is open source. I only have a problem if the actual distribution of K-Meleon became an MDI browser and there was no alternative but older versions.

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: MonkeeSage
Date: March 11, 2003 11:10AM

asmpgmr:

I understand. If I do get it to work, I don't know if any of my tinkering will ever get on the main tree, but it sounds doubtful that it would if the head dev doesn't really like MDI that much. So if anything it will probably just be my own builds. And if I do get it working, I will also implement a pref that allows for selection between the standard window and the MDI client window, so tghat with a restart of K-M the styles can be switched.

But I have only laid out a dropline for what needs to go where to try it, I haven't even gotten around to sticking in the code, and its gonna take a bit of tweaking to see if it will work with just one viewport in one child window, let alone linking in all the controls. I just thought I'd throw it out and let it get beaten around for a bit. I mainly wanted to know if it had been attempted before. smiling smiley

Thanks for reminding me that not everyone likes MDI and that it should be optional. Its easy to be a bit myopic when you're thinking to yourself--''what else would I like in a browser"--and forget that not everyone is in your head with you. ;)


Shelumi`El
Jordan

S.D.G

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: skip
Date: March 15, 2003 05:41AM

Go for MDI, MonkeeSage!

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: jsnj
Date: April 03, 2003 06:58AM

Whatever became of this experiment if anything?

Options: ReplyQuote
Re: Browser Frame / View in MDI children...
Posted by: MonkeeSage
Date: April 03, 2003 12:46PM

jsnj:

I am still going to try it at some point, I'm just too lazy. ;)

I'll post updates if I ever get anywhere with it.


Shelumi`El
Jordan

S.D.G

Options: ReplyQuote


K-Meleon forum is powered by Phorum.