[MPlayer-G2-dev] Developing a GTK2 GUI

Charles Ezell ardneh2 at hotmail.com
Sun Aug 3 10:37:46 CEST 2003

Gustavo writes:

>Yes, I know that... win32 is the other way (coordinates-based) and I
>don't know Mac to tell...

Don't know either. :)  But it is probably coord based.  I was also thinking
about Qt (which I know next to nothing about).

> > Second, if I understand A'rpi correctly, is that the whole system
> > is supposed to be dynamic.  If I do my job correctly,
> > you guys should be able to add dozens of modules to mplayer and the
> > users
> > will not have to upgrade the GUI.  This isn't going to be possible
> > if xml tweaking is involved.
>How dynamic it would be... it will generate those windows at compile
>time or at run time?

Run time.  Completely dynamic.  Also, I only want to create windows as
they are needed.
Example: (please see gedit2's prefs for a visual of the layout, if possible)
you open the preferences and it generates the first
page (because it is showing) but nothing else.  Then you click on
"Audio" (I am going to need help with internationalization)
from the list on the left and it will create and show the
audio options, complete with a list of audio plugins.  Fun, huh?

> > Third, the core gui builder code isn't that complex and
> > the config design is well thought out.  This makes things much
> > easier.
> > If I run into problems, we'll work things out.
>My only hope is that the ui doesn't become something unlogical and
>non-intuitive... sometimes it's better to put things together because
>they're related, but doesn't worth to put them in a Frame or a Tab...
>so maybe we can have at least 2 kind of groups: Visual (Frames, Tabs)
>and Non-Visual.... or 3: Frames, Tabs, Non-Visual...
>    Any ideas on that?

I do not want that either.

Yep. First I'm going to avoid tabs.  If there are so many options
they have to be used OK (like if one group of options is really large),
but hopefully that won't be often.

Second, a frame in GTK is a group box in win32.  Does this help?
Even a single item can look good in a frame (Anjuta's preferences are
proof of that...)

Third, I'm hoping to have unamed / anonymous groups.  So if I group of
options doesn't fit anywhere else they can be grouped together (probably
without a frame / box).

Fourth:  What did you mean by non-visual?

>Also, maybe we could have the tab-order specified somewhere, so we can
>arrange items based on that order... maybe that list could be other

I think the options should be in the same order as in the config_t.

If you mean for the case where there are so many options several tabs are
needed, then that is worth thinking about.  Since I would be generating tabs
on the fly it would be next to impossible to come up with good names for 
1, 2, 3 does not cut it.

I think maybe you have best solution below.

>And (just to make you crazy ;) sometimes it's cool to have small items
>arranged in 2/3 columns

I was actually planning to do that. :)  Not necessarily based on size,
but on how many options there are.  Not based on size because of the way GTK
works.  This is definatley going to take some work.

> > >But, there comes a problem: how to keep track from human (manual)
> > >interventions? Maybe the window builder could try to keep the old
> > >layout (and maybe learn with it). Maybe we could keep the manual
> > >changes as patches and apply it over and over (ugly, but easier).
> >
> > That would be very hard to do and maintain.  I am probably going to
> > have
> > to write some algorithms for control placement (mainly how many
> > controls on
> > a
> > page is too many),  I will tweak those as necessary.
> > The most important thing is not jamming stuff together.
>IDEA: Every page you put, please I beg you to use a scroll-able content
>(automatic scrollbars), so if someone have a 800x600 with big fonts,
>things that generally looks well in 1024x768 will probably overflow the
>screen... that happens a lot with linux gui apps :(

Done.  Really good idea.  I usually run at 1280x1024 and admit I
tend not to think about lower resolutions. :(

Actually, I think I might just do this instead of tabs.
I should be able to make the scrolling view look good, too.
I have never tried anything like that so I'm going to have to get
back to you.

> > Thank you for your ideas + comments,
>You're welcome.


MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*.  

More information about the MPlayer-G2-dev mailing list