Minimalistic note taking: save and edit your clipboard content as a note file
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. The viewer detects note file changes and updates the rendition accordingly.
Read more in Tp-Note’s user manual
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.
The user manual showcases how to best use use Tp-Note and how to integrate it with you file manager.
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’s program code documentation targets mainly software developers. The code is split into a library tpnote-lib and the command line application tpnote. 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.
Source code #
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:
Various binaries for Windows, MacOS and Linux #
Binaries for Ubuntu-Linux 18.04, Windows, MacOS:
Open the latest release.
Download the packed executable for your operating system.
Installation: see below.
Executable for Windows:
Linux binary (compiled with Debian):
Binaries for Raspberry Pi:
Tp-Note NetBSD #
An official package is available on NetBSD and other “pkgsrc” supported platforms.
To install Tp-Note on NetBSD, simply use the native package manager:
pkgin install tp-note
Other ressources #
Copy the Unix man-page to
Copy Tp-Note’s icon to
A zipfile with all binaries and documentation:
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 lose 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 --- Reason: 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.
Install Rust, e.g.
curl https://sh.rustup.rs -sSf | sh sudo apt install build-essential
A modern Linux desktop usually ships the required shared libraries. Just in case, here is a list extracted form a Debian binary:
ldd target/x86_64-unknown-linux-gnu/release/tpnote linux-vdso.so.1 libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2
Download, compile and install Tp-Note:
Building on Linux
cargo install tp-note sudo cp ~/.cargo/bin/tpnote /usr/local/bin # Copy icon sudo cp assets/tpnote.svg /usr/local/share/icons
Unlike previous Linux versions (<= 1.19.13), Tp-Note displays errors and debug messages as notifications. This requires a Linux/BSD based desktop environment that follows the XDG specification, e.g. KDE, Gnome, XFCE, LXDC, Mate (and probably also most others).
The use of notifications also removes former GTK dependencies. Anyway, if you prefer to see error messages on the console only, you can opt out notifications and message boxes. In this case all error messages are dumped on the console from where you started Tp-Note into
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 Xlib that might not be available on a headless system. Either download the Musl version x86_64-unknown-linux-musl/release/tpnote or compile Tp-Note yourself without default features:
cargo install --no-default-features --features renderer tp-note sudo cp ~/.cargo/bin/tpnote /usr/local/bin
Building on Windows
Build the full-featured version with:
cargo install tp-note
When building for Windows, it does not make sense to exclude the
message-boxfeature, because - under Windows - it does not rely on the notification 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-boxfeature compiled in.
See also the user manual for a more detailed installation description.
Cross compilation #
Debian makes it easy to cross-compile for foreign architectures. Here some examples:
rustup target add x86_64-unknown-linux-musl sudo apt install musl-tools PKG_CONFIG_ALLOW_CROSS=1 cargo build \ --target x86_64-unknown-linux-musl \ --release
Target Raspberry Pi (32 bit):
rustup target add armv7-unknown-linux-gnueabihf sudo apt install crossbuild-essential-armhf PKG_CONFIG_ALLOW_CROSS=1 cargo build \ --target armv7-unknown-linux-gnueabihf \ --release
rustup target add x86_64-pc-windows-gnu sudo apt install binutils-mingw-w64 mingw-w64 cargo build --target x86_64-pc-windows-gnu --release
This project follows Semantic Versioning.
- Jens Getreu
- Apache 2 license or MIT license.