tp-note rust based note taking application

Minimalist note taking with save and editing of your clipboard content as-well

title: "Tp-Note - Minimalistic note taking: save and edit your clipboard content as a note file" author: Jens Getreu filename_sync: false

Tp-Note is a note-taking-tool and a template system - freely available for Windows, MacOS and Linux - that consistently synchronizes the note’s meta-data with its filename. If you like to keep your notes next to your files and you care about expressive filenames, then Tp-Note might be the tool of your choice. Tp-Note collects various information about its environment and the clipboard and stores them in variables. New notes are created by filling these variables in predefined and customizable Tera-templates. TP-Note's default templates are written in Markdown and can be easily adapted to any other markup language if needed. After creating a new note, TP-Note launches the system file editor (or any other of your choice, e.g. MarkText or Typora) and connects the default web browser to Tp-Note's internal Markdown/RestructuredText renderer and web server.

  • Read more in Tp-Note’s user manual

  • Download Tp-Note

  • Project page: Tp-Note - fast note-taking with templates and filename synchronization


User documentation:

  • Introductory video

    Tp-Note - Most common use cases - YouTube

  • Project page:

    Tp-Note's project page, which you are reading right now, lists where you can download Tp-Note and gives an overview of Tp-Note's resources and documentation.

  • User manual:

    The user manual showcases how to best use use Tp-Note and how to integrate it with you file manager.

    Tp-Note user manual - html

    Tp-Note user manual - pdf

  • Unix man-page:

    The Unix man-page is Tp-Note's technical reference. Here you learn how to customize Tp-Note's templates and how to change its default settings.

    Tp-Note manual page - html

    Tp-Note manual page - pdf

  • Blogposts about Tp-Note

Developer documentation:

  • API documentation

    Tp-Note's program code documentation targets mainly software developers. The advanced user may consult the Tp-Note's config module documentation which explains the default templates and setting. Many of them can be customized through Tp-Note's configuration file.

    Constants in API documentation

Source code


  • Tp-Note on Gitlab

  • Tp-Note on Github (mirror)


Tp-Note Microsoft Windows installer package

  • Installer package for Windows:


    As this early version of the Windows installer is not signed yet, Windows will show the error message “Windows protected your PC”. As a work-around, when you click on the link “More info”, a ”Run anyway” button will appear allowing you to continue the installation process. In general, regardless of where a program comes from, I recommend checking every installable file with VirusTotal

Tp-Note Debian/Ubuntu installer package

  • Package compiled for Debian 10+ (Buster):


Various binaries for Windows, MacOS and Linux

  • Binaries for Ubuntu-Linux 18.04, Windows, MacOS:

    1. Open: Releases - getreu/tp-note

    2. Open the latest release.

    3. Open assets.

    4. Download the packed executable for your operating system.

    5. Installation: see below.

  • Executable for Windows:

    • x86_64-pc-windows-gnu/release/tpnote.exe
  • Universal Linux binary (compiled with Debian 10 Buster):

    • x86_64-unknown-linux-gnu/release/tpnote

    • The following "musl" version is well suited for headless systems, as it does not require GTK libraries to be installed.


  • Installable Unix man-page:

    • tpnote.1.gz
  • Zipfile with all binaries and documentation:

    • Tp-Note all


Depending on the availability of installer packages for your operating system, the installation process is more or less automated. For Windows users the fully automated installation package tpnote-latest-x86_64.msi is available. For more information, please consult the Distribution section above and the Installation section in Tp-Note's manual.


While upgrading Tp-Note, new features may cause a change in Tp-Notes's configuration file structure. In order not to loose the changes you made in this file, the installer does not replace it automatically with a new version. Instead, Tp-Note renames the old configuration file and prompts:

NOTE: unable to load, parse or write the configuration file
        Bad TOML data: missing field `extension_default` at line 1 column 1!

Note: this error may occur after upgrading Tp-Note due
to some incompatible configuration file changes.

Tp-Note backs up the existing configuration
file and creates a new one with default values.

The configuration file backup is stored in the same directory as the newly created configuration file (cf. Customization section of Tp-Note's man-page).


If the above precompiled binaries do not suite you, you can compile Tp-Note yourself.

  1. Install Rust, e.g.

    curl -sSf | sh
  2. Download, compile and install Tp-Note:

    Building for Linux

    sudo apt-get install -y xorg-dev libxcb-xfixes0-dev libxcb-shape0-dev libgtk-3-dev
    cargo install tp-note
    sudo cp ~/.cargo/bin/tpnote /usr/local/bin

    In case you experience compilation errors in dependent crates, replace cargo install tp-note with the following:

    cargo install --locked tp-note

    If - under Linux - you need to reduce the binary size and you can do without error message popup boxes (for example on a headless system), no GTK is required. In this case all error messages are dumped on the console from where you started Tp-Note into stderr.

    cargo install --no-default-features --features read-clipboard,viewer,renderer tp-note
    sudo cp ~/.cargo/bin/tpnote /usr/local/bin

    Recommended Linux console and server version

    The full featured version of Tp-Note depends on GUI libraries like GTK that might not be installable on a headless system. Either download the Musl version x86_64-unknown-linux-musl/release/tpnote or compile Tp-Note without default features:

    cargo install --no-default-features --features renderer tp-note
    sudo cp ~/.cargo/bin/tpnote /usr/local/bin

    Building for Windows

    Build the full featured version with:

    cargo install tp-note

    When building for Windows, it does not make sense to exclude the message-box feature, because - under Windows - it does not rely on the GTK library. Instead it uses direct Windows-API calls for popping up alert boxes. As these calls have no footprint in binary size or speed, always keep the message-box feature compiled in.

    See also the user manual for a more detailed installation description.

This project follows Semantic Versioning.



  • Jens Getreu


  • Apache 2 licence or MIT licence

Collection of the latest Issues



help wanted

The files

  • ./
  • ./docs/source/
  • ./docs/source/
  • and - if possible - the Rustdoc documentation in ./src/*.rs

need proofreading by an English native speaker.


Find the latest versions by id

v1.16.5 - Apr 16, 2022

v1.16.4 - Apr 09, 2022

v1.16.3 - Apr 03, 2022

v1.16.2 - Mar 26, 2022

v1.16.1 - Mar 19, 2022

v1.16.0 - Mar 19, 2022

v1.15.3 - Feb 25, 2022

v1.15.2 - Feb 21, 2022

v1.15.1 - Feb 09, 2022

v1.15.0 - Nov 28, 2021

v1.14.4 - Nov 21, 2021

v1.14.3 - Nov 13, 2021

v1.14.2 - Nov 04, 2021

v1.14.1 - Nov 03, 2021

v1.14.0 - Oct 29, 2021

v1.13.10 - Oct 24, 2021

v1.13.9 - Oct 23, 2021

v1.13.8 - Oct 08, 2021

v1.13.7 - Sep 26, 2021

v1.13.6 - Sep 13, 2021

v1.13.5 - Aug 29, 2021

v1.13.4 - Aug 25, 2021

v1.13.3 - Jul 13, 2021

v1.13.2 - Jul 03, 2021

v1.13.1 - Jun 28, 2021

v1.13.0 - Jun 25, 2021

v1.12.19 - Jun 03, 2021

v1.12.18 - May 17, 2021

v1.12.17 - May 17, 2021

v1.12.16 - May 16, 2021

Information - Updated Apr 21, 2022

Stars: 47
Forks: 1
Issues: 2

Repositories & Extras

This is an example of a Rust server that functions as a remote schema for...

Rust + Hasura Rust server that functions as a Hasura

This is an example of a Rust server that functions as a remote schema for...

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

It is designed to be easily extendable and easy to use

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

It is designed to be easily extendable and easy to use

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

liboqs-rust: Rust bindings for liboqs

Qyantum Safe liboqs rust bindings

liboqs-rust: Rust bindings for liboqs

msgflo-rust: Rust participant support for MsgFlo

Flowhub visual programming IDE

msgflo-rust: Rust participant support for MsgFlo

Trojan-rust is a rust implementation for Trojan protocol that is targeted to circumvent GFW

Trojan protocol that is targeted to circumvent tokio-rs to achieve high performance async io

Trojan-rust is a rust implementation for Trojan protocol that is targeted to circumvent GFW


How to be a full stack Rust Developer

Read Rust the Rust blog posts at Steadylearner

How to be a full stack Rust Developer

Rust library translation (rust-src/rust-std/stdlib/rustlib translation)

This is the place to translate Having a documentation in your native language is essential if you don't speak English, and still enjoyable even if...

Rust library translation (rust-src/rust-std/stdlib/rustlib translation)

False Positive for rust-lang/rust#83583

The deprecation lint proc_macro_derive_resolution_fallback is intended to catch proc macro generated code that refers to items from parent modules that should not be in scope:

False Positive for rust-lang/rust#83583

A CHIP-8 & SuperChip interpreter written in Rust using rust-sdl2

If you're getting compile errors it may be because

A CHIP-8 & SuperChip interpreter written in Rust using rust-sdl2


Starter template for Rocket backend server

Facebook Instagram Twitter GitHub Dribbble