Crates.io | thermalnote |
lib.rs | thermalnote |
version | |
source | src |
created_at | 2025-04-13 21:56:00.468145+00 |
updated_at | 2025-04-13 21:58:58.945936+00 |
description | A simple utility to print notes using thermal printers |
homepage | |
repository | https://github.com/sysrqmagician/thermalnote |
max_upload_size | |
id | 1632179 |
Cargo.toml error: | TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
A terminal utility that lets you quickly write and print notes on a thermal printer.
Thermalnote opens your preferred text editor, allows you to compose a note, and then sends it directly to a USB thermal printer. Perfect for quick reminders, to-do lists, recipes, or anything else you want to have as a physical note.
cargo install thermalnote
Thermalnote requires the following environment variables to be set:
Variable | Description | Example |
---|---|---|
THERMALNOTE_VENDOR |
Vendor ID of your thermal printer (hex without 0x prefix) | 0ed6 |
THERMALNOTE_PRODUCT |
Product ID of your thermal printer (hex without 0x prefix) | 06a6 |
THERMALNOTE_CODEPAGE |
Character encoding for text | PC437 or WPC1252 |
EDITOR |
Path to your preferred text editor | /usr/bin/nano or /usr/bin/vim |
You can find your printer's vendor and product IDs using:
lsusb
Run with the help flag set to see a list of supported code pages:
thermalnote -h
thermalnote
For a bash/zsh setup, you might add this to your shell configuration:
export THERMALNOTE_VENDOR="0ed6"
export THERMALNOTE_PRODUCT="06a6"
export THERMALNOTE_CODEPAGE="PC437"
export EDITOR="/usr/bin/vim"
"Error opening USB device": Make sure your vendor and product IDs are correct and the printer is connected
Editor doesn't open: Ensure EDITOR
is set to a valid path without arguments
Text doesn't print correctly: Try changing the codepage to match your language/character needs
Permission denied: You might need to add udev rules for USB access on Linux
To allow all users on your system to write to your printer, create the following file with your vendor and product id:
/etc/udev/rules.d/999-thermalnote.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="0ed6", ATTRS{idProduct}=="06a6", MODE="0666"
MIT. See LICENSE file.
Contributions welcome! Please feel free to submit a Pull Request.