Thanks! Yes, as you have noted it is currently nearly impossible to do this cleanly due to poor code separation between xournal and gnome-canvas. At the same time, I am not sure that just placing the gnome-canvas calls and data structures in wrappers would be the right thing -- it won't in itself provide cross-canvas portability unless the other canvas works really in exactly the same way as gnome-canvas (though I guess that two copies of gnome-canvas do indeed work the same way as one :-). Ideally one would do some complete code rewrite to better separate the user input side (things that act on a xournal document, be they drawing actions, network events in a future networked implementation, undo requests, etc.), the viewing/rendering side (whether it's via a canvas, for printing/exporting, or other future purposes), etc. and the actual operations on the document themselves. Not a realistic goal for the time being given the lack of time I have to spend on xournal.
Denis On 05/10/2016 01:29 AM, Axel Kittenberger wrote: > Dear list, > > attached is a patch that adds presentation mode capabilities to Xournal. > It opens a second window in full screen mode on another monitor with the > zoom level fixed to one. The standard window on the monitor with the pen > enabled is zoomable. This is intended to be used as teaching tool as > replacement to a blackboard in larger lecture halls. When simply > mirroring the monitors I figured one has to write quite big on the pen > enabled monitor to be able to write cleanly and thus wouldn't fit much > content on a screen. With this mode, one can zoom in on the control > monitor to comfortably write cleanly, while the studends see the whole > page, also comfortable as it is projected to a big overhead screen. > > It is an ugly hack I do not request to be applied, but I want it to > serve as discussion base how to make this in a clean and portable way. > > The main issue is that many calls to the canvas are direct, so it needed > to patch all the places that interact with the canvas at all. Since > there is also discussion to be able to replace the canvas > implementation, would it be a good idea to encapsulate a little more, to > have "xo-canvas" as pseudo-object class, that all places call, and where > it could decide to actually draw on two canvases, or to change the > canvas implementation with only having to alter a few places? > > The second issue with this patch is more simpler pragmatic hacking. I > didn't bother to add options in the menu, it's simply another binary to > be called that will fail if it cannot detect two monitors. But thats > less an issue to add, when the former things are cleaned up. Some of the > zooming stuff is a little odd, since I didn't fully understand the code > in interaction with PDF, I changed it so the resolution looks good on > the presentation monitor, which is the important thing in this mode > > Kind regards, Axel > > > ------------------------------------------------------------------------------ > Mobile security can be enabling, not merely restricting. Employees who > bring their own devices (BYOD) to work are irked by the imposition of MDM > restrictions. Mobile Device Manager Plus allows you to control only the > apps on BYO-devices by containerizing them, leaving personal data untouched! > https://ad.doubleclick.net/ddm/clk/304595813;131938128;j > > > > _______________________________________________ > Xournal-devel mailing list > Xournal-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/xournal-devel > -- Denis Auroux UC Berkeley, Department of Mathematics 817 Evans Hall, Berkeley CA 94720-3840, USA aur...@math.berkeley.edu ------------------------------------------------------------------------------ Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ Xournal-devel mailing list Xournal-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xournal-devel