Notes from GUADEC 2015

1. Roadmap

  • Themeing
  • GSK
  • Undo
  • Gestures state (touchpad)

2. Outstanding GLib/GIO issues

  • FileMonitor rewrite issues

  • GSlice is crashing with lots of threads
    • Reproducer from GNOME Software
    • Replace malloc?
      • Use system malloc everywhere
      • Apps should be able to replace the system malloc (tcmalloc, jemalloc) by themselves
      • Test allocators
    • Signal/property binding groups
      • Written for Builder
      • Set up delayed signal connections/property bindings
      • Deals with signal disconnection

3. CSS nodes update

  • Reworked the internal API/implementation
  • CSSStyle object (immutable, fully resolved)
  • Caching improvements
    • GtkCSSNode API
      • tree-like/CSS-DOM
      • supersedes widget paths when computing the style
      • validation
      • private API at least for 3.18
    • New API for adding more nodes per widget
      • Adds more CSS properties
      • Theme fallout of respecting CSS properties where we didn't
      • Inherited CSS classes
      • Theme designer input/feedback
    • Documentation & stability guarantees

      • Elements/nodes for each widget
      • Composite/complex widgets should probably not guarantee internal relationships
      • Review the use of all style classes, document them, and drop the unnecessary ones
    • Last planned themeing break
    • Drop use of type names and move to per-class identifiers
      • Inheritance of type names complicates the CSS matching

4. GSK

  • Separate library
  • Core almost nailed down
    • Branch on GitHub because of constant rebasing

    • Will start pushing to git.gnome.org
  • Separate library
    • Don't want to overload the GTK namespace
    • Could be a semi-private library in the beginning
  • alexl already started reviewing it
  • Additional work on top of the core is happening in topic branches
    • GL compositing
    • Animation API
    • Layout management
  • Design team should be thinking of animated components for widgets
  • First target: out of tree widgets
    • No guarantees of stability like for internal widgets
  • CSS transformations?
  • Could we rewrite GNOME Shell on top of it?
    • Only if you want to rewrite the whole Shell
    • Also needs a KMS/libinput backend for GDK

5. Undo

  • Experimental, currently for GtkEntry

    • applications in the GNOME stack
  • Expectations and prior art
  • What do we do for GtkTextView?

    • other apps have undo for that
    • opt in/out
  • How to display the state of the undo stack
  • Undoing text editing is not entirely covered by action-based undo frameworks
    • Private API for GtkEntry only for the time being

6. Gestures (state)

  • How close are we to be able to drop non-public internal GDK windows for input?
    • Some widgets need porting, but most widgets already use GtkGestures for pointer/touch/touchpad handling

    • We should put some effort in porting the remaining widgets
  • Touchpad gestures should go in before 3.18
    • No settings yet
    • Possible to rush it for 3.18
    • No X11 support (needs a revised XInput 2 extension)

7. Inspector use

  • Saving/restore state?
  • Display properties that were changed from the inspector with a different style

8. Design patterns/widget requirements

  • drop down completion pattern
  • Combo box replacement
  • In-app notification
    • Handled similar to popups to avoid additional GtkOverlay

    • Do not specify widgets to attach to
    • API similar to system notification
    • Optional constraint to a specific area of the top-level for widgets with menu/tool bars

Projects/GTK/Guadec2015 (last edited 2018-12-05 15:45:56 by EmmanueleBassi)