Skip to content

Tavletta

Tavletta designs labels under Linux and prints them over the network or USB: on label printers with endless tape or die-cut labels, and on office printers, one label per page or on label sheets. It talks to each printer in its own language.

Tavletta is Romansh for a small tablet (from tavla, table/board). Pronounced tav-LET-ta.

Main window Main window

  • Text, images, symbols, QR codes and barcodes of many types; backgrounds printed edge to edge
  • Text styles, lines and shapes, and a free layout with each element at its own place; undo and redo
  • Preview at print resolution: what you see is what is printed
  • Endless tape as long as the content, or die-cut labels of any size
  • Serial labels: one label for each row of a CSV, ODS or XLSX file; variables such as date and counter, and a command line
  • Label sheets on office printers, and shipping labels from a carrier's PDF
  • Finds the printer in the network and on USB, reads what is loaded and explains printer problems in plain words
  • A print server for other programs and AI assistants
  • 27 languages, follows the light or dark mode of the desktop

The supported printers and what each one can do are listed under Printers. Further printers can be added as a backend, see Contribute.

Install

Flatpak

Flathub is in preparation. Until then, build it yourself:

git clone https://git.joshuahirsig.xyz/joshii/tavletta.git && cd tavletta
flatpak install --user flathub org.gnome.Sdk//51 org.gnome.Platform//51
flatpak-builder --user --install --force-clean build-dir \
    build-aux/flatpak/xyz.joshuahirsig.Tavletta.yml

install.sh

Install the system packages, then run the script as your user (no root):

Distribution Packages
Debian, Ubuntu python3-gi gir1.2-gtk-4.0 gir1.2-adw-1 python3-gi-cairo python3-venv gettext
Fedora python3-gobject gtk4 libadwaita python3-cairo gettext
Arch python-gobject gtk4 libadwaita python-cairo gettext
Gentoo dev-python/pygobject gui-libs/gtk:4 gui-libs/libadwaita dev-python/pycairo sys-devel/gettext
git clone https://git.joshuahirsig.xyz/joshii/tavletta.git && cd tavletta
./install.sh

Uninstall: ./install.sh --uninstall or flatpak uninstall xyz.joshuahirsig.Tavletta. Saved labels and templates are kept.

First label

  1. Switch the printer on and choose it under Printer model. Tavletta finds it in the network (Bonjour) and reads what is loaded: the tape width or the distance between the labels.
  2. Not found? Enter the address under Host name or IP address, e.g. printer.local or 192.168.1.50. New printer: connect it to the network first, see Printers.
  3. Add text, an image or a code, then Print.
  4. Save stores the label as .tavletta file, Save as template… adds it to Templates.