Roadmap thoughts

Notes from roadmap discussion at the hackfest.

Highlevel ideas

Canvas

  • toplevel windows only
    • remove widget->window

    • what to do about GtkSocket ?

    • turn gtk_widget_queue_draw into a signal that is handled by the parent container
      • this is kind of bloated (memory & cpu), more efficient if child calls method on parent

  • window-less scrolling
  • input handling, bubbling up/down of events under the control of containers

Animation

  • paint clock
  • timelines
  • animation api

GTK 3.0 tasks

  • paint-clock (Ryan)
    • including geometry mgmt integrated in the paint cycle
    • including input handling integrated in the paint cycle
  • timelines (Ryan / Cody)
  • GdkWindow::event signal (Benjamin)

  • GDK rendering cleanup, part 4 (GdkDrawable, etc) (Benjamin))

  • GtkStyleContext (Carlos)

  • Action (Ryan)
  • GtkGrid (Matthias)

  • theme engines (Matthias, Carlos)

  • automated builds (Ryan, Cody)

GTK 3.x stuff

  • make toolbar animation use timelines
  • other animations (?)

GTK 4

  • toplevels only
  • window-less scrolling
  • input handling, ie propagate input events down through the container hierarchy (capture / bubble)
  • wayland backend

GLib 4

  • decruftify gobject
    • "QProperty" like property definition with setter+getter
    • "GstSimpleObject" like base type without signals and properties

  • generic marshaller ?
  • merge glib/gobject/gthread
  • turn hash tables, etc into simple objects
  • mainloop improvements
    • epoll
    • timerfd
    • monotonic clock

    • microsecond accuracy

Practical considerations

  • we want to have automatic builds
  • branches
    • master will be GTK3 for the time being
    • have a gtk4 integration branch that should stay working at some base level. temporary regressions are acceptable as long as there is a plan for putting things together again
    • use feature branches for experiments
    • aim for having many of the 4.0 items available in beta form at the end of 2011

Hackfests/GTK2010/RoadmapDiscussion (last edited 2011-03-14 12:24:59 by JavierJardon)