[MPlayer-G2-dev] Developing a GTK2 GUI
Gustavo Sverzut Barbieri
gsbarbieri at yahoo.com.br
Sun Aug 3 09:23:19 CEST 2003
--- Charles Ezell <ardneh2 at hotmail.com> escreveu: >
> >Wouldn't be easier if we use something like libglade to design the
> >I mean, it's good to have a window builder, but they can become ugly
> >and non functional at a certain point, if no layout info is provided
> I was waiting for this. :)
> It's a good idea, but the answer (for the config windows) is no.
I imagined that, I myself was not that convinced because of the twice
work needed :)
But I want to comment/ask on some points...
> Please keep reading for as to why. If I am not clear enough or you
> more info, please ask. :)
> >However, putting too much layout info in mplayer's config would
> Worse, the layout info would be worthless for some toolkits /
> I do not know of a way to represent it in a meaningful way for enough
> They are too different.
> For instance, writing a gui builder for GTK is much
> easier than writing one for win32. Why? Because GTK uses
> to hold controls.
> In GTK, you just put controls in boxes and don't worry about the
> because those are handled automatically. This is so nice, because
> windows always tend to look good --even when they are resized.
Yes, I know that... win32 is the other way (coordinates-based) and I
don't know Mac to tell...
> >What about have a window builder that constructs glade's xml and
> >one could go there and manually tweak the look.
> > Mplayer gtk ui could be as easy as calling libglade!
> There are a couple problems with this.
> First, you would be doing the work twice, something I never like to
Neither do I :(
> 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
> 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?
> Third, the core gui builder code isn't that complex and
> the config design is well thought out. This makes things much
> 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?
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
And (just to make you crazy ;) sometimes it's cool to have small items
arranged in 2/3 columns
> >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
> to write some algorithms for control placement (mainly how many
> controls on
> 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 :(
> >PS: IMHO grouping is something that could be in mplayer config
> >and with that we can get a almost good GUI. Maybe just on releases
> Yes, I believe you are correct about this (i.e more than just a
> I'm working on it. But, as I said earlier, I'm going to make sure it
> and the impact on the rest of the system is minimal.
> Thank you for your ideas + comments,
Conheça o novo Cadê? - Mais rápido, mais fácil e mais preciso.
Toda a web, 42 milhões de páginas brasileiras e nova busca por imagens!
More information about the MPlayer-G2-dev