xournalpp / xournalpp

Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.
https://xournalpp.github.io
GNU General Public License v2.0
11.18k stars 800 forks source link

[SUGGESTION] Infinite / endless page #2683

Closed scrouthtv closed 2 years ago

scrouthtv commented 3 years ago

Describe the solution you'd like I'm interested in an infinite page feature, where the drawing area is endless in all directions. I think this is especially useful for now-linear content, e. g. mind maps. The idea actually came to my mind when collecting ideas in a mind map. At some place, I didn't have any more space to the sides of the page to add points.

Describe alternatives you've considered Technically, cramming everything into an A4 (or otherweise configured page - a giant square page) would work, but I think it'd be way easier to just being able to expand the page as you go. Also, if I scale the page up to a giant square, I'd have a lot of white borders in the export at the end. Another issue with this is that the performance is very poor. An empty page with 100 x 100 cm takes up 200 mb of ram on my pc. And that is without any drawings.

TomatDividedBy0 commented 3 years ago

Can't second this enough. Infinite scroll is a killer feature on OneNote for me (which is the only reason my laptop still runs Windows.) One of the main reasons I use digital notes over paper is it doesn't have those space constraints. This was the top priority I had in mind when I was looking for note-taking software to use.

I don't know if this'd make it easier or more difficult to implement/run, but what if you treated each pen stroke as its own layer, then have a file which remembers the positions of each layer (relative to the center of the canvas). This might also help if the pen-strokes are done as SVGs.

personalizedrefrigerator commented 3 years ago

It looks like this is a part of the goal of the new file format... Edit: See https://github.com/xournalpp/xournalpp/projects/2. It looks like there is still much to be done! If anyone is interested in working on this, I suggest reaching out to @LittleHuba. Thank you for bringing this up!

ericschdt commented 3 years ago

Sounds like a duplicate of https://github.com/xournalpp/xournalpp/issues/1174 (Infinity canvas for PDFs) or is at least very much related.

ckolumbus commented 2 years ago

@LittleHuba anything we could do to push forward on implementing endless paper size? the Project canvas seems to be unmaintained.

LittleHuba commented 2 years ago

A team of 10 fulltime developers would certainly help but as there is no pay involved this... 🙃

The issue with this project is that it is nearly the workload of rewriting half of Xournal++. There is no quick way of doing this. We have to rewrite most of the rendering subsystem (currently in progress). We'll get there eventually but it will take time.

Oh if you know C++ or want to learn it, join in on the fun and start tackling issues on this repo. That would certainly help!

ckolumbus commented 2 years ago

I am old.. so old that I started with C++ 😁... I'm kind of a Qt guy, not much experience with gtk++. Looking at my (maybe possible) availability it would be cool/efficient if there are some backend related topics that I could support. But I can try to help wherever you have smaller independent tasks. Is there some info anywhere about the open tasks and the ongoing activities / next steps?

LittleHuba commented 2 years ago

Great to hear that you could help out with some stuff! I'm looking forward to seeing PRs from you.

We have a list of open TODOs here: https://github.com/xournalpp/xournalpp/issues/2354

Also, for smaller tasks you might want to search the issues for the tag difficulty::easy.

You are of course welcome to pick whatever task you want to tackle!

bhennion commented 2 years ago

Duplicate of #1174