Denis Auroux - 2016-04-08

Hi Axel,

  1. What you would need is glade2, not glade3. (there are two kinds of
    GTK2 glades. One could probably port fairly easily to glade3/GTK2, but
    right now the main xournal codebase is based on glade2). So yes, glade
    2.12 is what you need. It feels old, it's old, it's buggy, but you can
    also just edit the glade file by hand and run "glade-2 -w xournal.glade"
    to regenerate the .c source files. Or bypass glade and edit directly
    the c source in src/ since in glade2 xournal.glade is only used to
    generate the c source, not at runtime.

  2. Upgrading xournal to GTK3 has been essentially done by Daniel German,
    but there are performance issues -- apparently the canvas widgets
    available for gtk3 are much slower than libgnomecanvas, so last time I
    checked with Daniel, xournal-gtk3 wouldn't work well on low-end tablets.
    Still, if you want to use it, you can try:
    https://github.com/dmgerman/xournal/tree/gtk3

I think Daniel's repository also has a branch that uses glade3 / GTK2,
https://github.com/dmgerman/xournal/tree/glade
I think I was supposed to review and merge this one into upstream, but
somehow life got in the way and it's difficult to find time.

The long-term way to the future, of course, is to go to settle on the
least problematic of the GTK3 canvas widgets, and try to
simplify/optimize things to get rid of all the stuff that's there to
work around GTK and libgnomecanvas bugs. I have no idea whether GTK3's
handling of xinput devices is any less buggy than GTK2's, but the model
is in principle more powerful.

Denis