xiangyuan / rnote

Sketch and take handwritten notes.

Home Page:https://rnote.flxzt.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool




Rnote

Sketch and take handwritten notes.

Rnote is an open-source vector-based drawing app for sketching, handwritten notes and to annotate documents and pictures. Targeted at students, teachers and those who own a drawing tablet, it provides features like PDF and picture import and export, an infinite canvas and an adaptive UI for big and small screens.

Written in Rust and GTK4.

Features

  • Adaptive UI focused on stylus input
  • Pressure-sensitive stylus input with different and configurable stroke styles
  • Create many different shapes with the shape tool
  • Move, rotate, resize and modify existing content with the selection tool
  • Different document expansion layouts ( fixed pages, continuous vertical, infinite in every direction, .. )
  • Customizable background colors, patterns, sizes
  • Customizable page format
  • (Optional) pen sounds
  • Reconfigurable stylus button shortcuts
  • An integrated workspace browser for quick access to related files
  • Drag & Drop, clipboard support
  • PDF, Bitmap and SVG image import
  • Document, document pages and selection export to many formats including SVG, PDF, Xopp
  • Save and load the documents in the native .rnote file format
  • Tabs to work on multiple documents at the same time
  • Autosave, printing

Disclaimer
The file format is still unstable. It might change and break compatibility between versions.

Website

Rnote has a project website: rnote.flxzt.net

Installation

Rnote is available as a flatpak on Flathub:


Download on Flathub


Downgrading
Because the file format still is unstable, downgrading to a specific version might be necessary and can be done with:

version command
v0.4.0 sudo flatpak update --commit=2ee585842334ad976802f08a1952c3fdc40f6f3afe2e056f3597fe4a029d54d2 com.github.flxzt.rnote
v0.3.5 sudo flatpak update --commit=34115ec5896cbe1b7c1b7a589ec2b6da45e9fcbd81ae53c665c08f2fc42bb52f com.github.flxzt.rnote
v0.2.5 sudo flatpak update --commit=2036a51c8118a30eb4ceb2e16ba2f84fa8ca4dc814fb88d9424709380093a6c6 com.github.flxzt.rnote
v0.1.6 sudo flatpak update --commit=ffb9781989704f3eb28910437bb26709357566a977178d5fb4ef1a2926edae8b com.github.flxzt.rnote

After downgrading, the version can be pinned or unpinned with:

$ flatpak mask com.github.flxzt.rnote
$ flatpak mask --remove com.github.flxzt.rnote

Then the documents can be exported as an SVG or PDF and can be re-imported into the newest version of Rnote.

Screenshots

main_window_light lecture_note_1 pdf_annotation lecture_note_2

Pitfalls & Known Issues

  • Drag & Drop not working - Make sure Rnote has permissions to the locations you are dragging files from. Can be granted in Flatseal (a Flatpak permissions manager)
  • odd location for current file - when the directory displayed in the header title is something like /run/user/1000/../, rnote does not have permissions to access the directory. Again, granting them in Flatseal fixes this issue.
  • Stylus buttons move canvas / are not functional - make sure that the xf86-input-wacom, drivers on X11 and libinput on Wayland and libwacom are installed and loaded.
  • While hovering with the stylus, other input events are blocked in some regions of the screen - Supposed to be palm rejection, but might be undesirable. If there is a left- / righthanded system tablet setting, make sure it is set correctly. Rnote can't do much to disable this unfortunately. ( discussed in issue #329 )

Credits

  • A huge thanks to the contributors, translators and to all that donated. You are the ones that help keep the project going!
  • Freesound is the source for the pen sounds. The individual sounds are credited in sounds/Licenses.md
  • Rough.js provides the algorithms for implementation of Rnote's rough shapes.
  • Pizarra is an innovative drawing app with advanced shaping and featuring an infinite zoom. It is a great inspiration of the architecture of Rnote. Go check it out!

Translations

Translation status

A great way to contribute to the project without writing code is adding a new or start maintaining an existing translation language. The translations files are located in rnote-ui/po/.

Creating translations for new languages or updating existing ones can be done in two ways:

  • take the rnote.pot file and generate a new .po translation file from it, for example with "Poedit". Add the new translation language to LINGUAS and submit a PR with both changed files.
  • use weblate for an easy way to translate in the browser without having to deal with git.

Community

If you have any questions or want to start a general discussion, open a topic in the Github Discussions section.
There is also the #rnote:matrix.org chat room.

File Format

The .rnote file format is a gzipped json file. It is (de)compressed with the flate2 crate and (de)serialized with the Serde crate.

So far breaking changes in the format happened in versions:

  • v0.2.0
  • v0.3.0
  • v0.4.0
  • v0.5.0

To be able to open and export older files that are incompatible with the newest version, look under Installation /Downgrading to install older versions of Rnote.

Drawings Created With Rnote

If you have drawn something cool in Rnote and want to share it, submit a PR so it can be showcased here. :)

Pikachu Tree Love

Building

Build instructions for Linux are documented in BUILDING.md and for other platforms here

About

Sketch and take handwritten notes.

https://rnote.flxzt.net

License:GNU General Public License v3.0


Languages

Language:Rust 97.7%Language:Meson 1.5%Language:CSS 0.4%Language:Shell 0.2%Language:Python 0.2%