I recently tried to hack a bit xournal (what I want to achieve is having a secound output window on a different zoom level for presentations, so you can scribble zoomed in, but view the whole page on the beamer).
The first issue I encountered, this isn't GTK3 is it? The problem my distro, debian jessie, just ships a recent version of glade, not that one compatible with GTK2 (I don't know why they refuse to add a glade-3.8 seperate install, politics I suppose :-/). Well they work. I tried to configure/make/install glade 3.8, and it compiled/installed, but it always crashes when trying to load xournal.glade. xournal 2.12 compiles and works. But feels old.
So before I continue with that project, should xournal be upgrade to GTK3 first? Unless that is a huuuuge undertaking I'm willing to help.
Kind regards
Hi Axel,
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.
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