Hi.

Tommi Komulainen ([EMAIL PROTECTED]) wrote:
> Essentially the change would be to introduce a new widget (maybe
> HildonWindow or something) that would replace current HildonAppView. The
> new widget would be a real GtkWindow / toplevel X window which will
> require code changes when migrating the the new API, but in the longer
> term, once we drop the old views, reduce overall complexity.

Yeah, the concept of multiple views in an app struck me odd. I can see
reasons for having multiple views, but I don't see what is the benefit
over having multiple "GtkWindows" aka HildonApps.

When we are talking about the ease of porting it should be possible
to hide the differences between native GTK and Hildon in some #defines,
like e.g. this:

  window = g_object_new (
#ifdef HILDON
                         HILDON_TYPE_APP,
                         "app-title", "Sudoku",
#else
                         GTK_TYPE_WINDOW,
#endif
                         "type", GTK_WINDOW_TOPLEVEL,
                         "events", GDK_KEY_PRESS_MASK,
                         "title", "Sudoku",
                         NULL);

Of course it is a personal preference thing to #ifdef the whole call to
g_object_new(), but I think you see the point.

Right now the code has to dive into different codepaths for native GTK
vs. Hildon, so that hildon gets an appview into the window and the rest
of the UI gets packed into the appview, it would be cool to get rid of
that need.

> Below is a rough, unordered list of goals for (or because of) the new
> widget. Feel free to comment if you think there's something important
> missing:

Some random thoughts on the points you raise.

>       * unmodified gtk+ applications using GtkWindows will be accessible
>         through the task switcher

This cannot be solved by a new widget. This needs to be solved at the
taskswitcher-level, preferrably by implementing the relevant parts of
the freedesktop wm-spec standards. This will give you a list of the top
level windows and you then can retrieve the icons as provided by the
application.

>       * porting from GtkWindows to the new API should be trivial to get
>         the basic looks, not more complicated than currently to get the
>         toolbars etc. look and feel as with AppViews

See above for an approach with #define, I think this is quite trivial.
If it would be necessary to have a different widget hierarchy it becomes
more of a hurdle.

>       * the new API should be as similar (toolbars) as possible, or in
>         places more sane (key handling, fullscreening) than with
>         AppViews

Just from looking at the hildon header files: deprecate
hildon_appview_set_fullscreen() and use gtk_window_(un)fullscreen()
instead.

Yeah, I am aware that an appview is not a window, but this is something
that needs to be cleared up. It does not really make sense to have two
appviews that both belong to the same hildonapp (read GtkWindow) and one
is fullscreen and the other is not.

For me the semantics of having multiple appviews is more like a big
GtkNotebook with invisible tabs. If the individual appviews should
appear in the task switcher might depend on the application and might
need to use an additional method to inform the task switcher about the
appviews, the task switcher then probably should display the appviews in
a kind of menu. It confuses the heck out of me to see two globes in the
task switcher, click on the lower one and suddenly the upper one gets
active (yeah, I know it is not like that, but it looks like that).

Thats it for now - I'll followup if something else comes to my mind.

Oh yeah - GIMP-like coding style for the headerfiles and the code  :-)

Bye,
        Simon
-- 
              [EMAIL PROTECTED]              http://simon.budig.de/
_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers

Reply via email to