1. Roadmap thoughts
Notes from roadmap discussion at the hackfest.
1.1. 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
1.2. 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)
1.3. GTK 3.x stuff
- make toolbar animation use timelines
- other animations (?)
1.4. GTK 4
- toplevels only
- window-less scrolling
- input handling, ie propagate input events down through the container hierarchy (capture / bubble)
- wayland backend
1.5. 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
1.6. 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