One of the problems with writing with your fingers, on a touchscreeen,
is that you are able to see what you are writing,
only after you've moved your finger away from what you just wrote.
And this is, of course, because your finger is covering the screen and "the point of touch".
In other words, the space, on the screen and under your finger, is a "blind spot".
One way of dealing with this isssue
would be to seperate the "point of touch" and the "point of writing",
and to place them at a custom offset,
defined by the user.
For example, me, being a right handed, and writing from left to right,
I would prefer it, if the "point of writing"
was a little bit higher and a little bit to the left
away from the real "point of touch" of the screen.
That "little bit", I think, will make a big difference on the look and feel of Xournal.
So, some options dialog would allow the user to set this "left-right"+"up-down" offset.
Furthermore, a button on the toolbar that would turn this function on and off
would make this feature even more user friendly.
I will add an attachment, that also shows what I mean.
After testing out what you requested, I honestly don't think too many
touchscreen users would actually want to do this. It is very confusing
to have the drawing take place where your finger isn't, and if eg you
try to retrace over something else you'll just go crazy. Much better to
get used to the idea of trusting that your fingers are doing what you
think they are doing (until you see what happened), or to buy a cheap
pen that works with your touchscreen (it'll be totally worth it).
That said, if you generally want the touchscreen to draw slightly off
from where you put your finger, there is a global solution in the system
settings -- you can recalibrate the touchscreen to shift reported
positions by any amount you want. If say you want the reported click to
be to the top-left of your finger, then you'd do something like this:
first run "xinput list" in a terminal to find the name of your
touchscreen device. Mine is "ELAN Touchscreen" so I'll use that. Then run:
xinput list-props 'ELAN Touchscreen'
to find the property number of the Coordinate Transformation Matrix. In
my case it is 139. Look at the values in there if it's not the standard
setting (1 0 0 0 1 0 0 0 1), e.g. if you have several monitors or if
your display is rotated it'll be different.
Then you can add a constant shift by modifying the 3rd and 6th entries;
the values will be in fractions of the touchscreen's width and height.
So in my case, to click just northwest of my finger, which amounts to
1.5% of the screen width and 2% of the screen height, I'd run
xinput set-prop 'ELAN Touchscreen' 139 1 0 -0.015 0 1 -0.02 0 0 1
and to cancel this
xinput set-prop 'ELAN Touchscreen' 139 1 0 0 0 1 0 0 0 1
Once you have figured out your favorite settings for running xournal you
can make a script that toggles this and have a launcher for it on your
desktop / dock / ...
Denis