NoiXdev
← Alle Projekte
live

Printy

Überwacht Ordner und druckt, was darin landet — ein Scan, ein Export, ein Etikett. Pro Ordner ein Drucker und ein Satz Einstellungen, einmal eingerichtet. Wartet, bis eine Datei fertig geschrieben ist, druckt nichts zweimal, und ein ausgeschalteter Drucker hält die Warteschlange an, statt sie fehlschlagen zu lassen.

Worum es geht

Ein Scanner legt PDFs in einen Ordner. Ein Warenwirtschafts-Export schreibt Lieferscheine. Ein Etikettengenerator erzeugt eine Datei pro Paket. Und dann öffnet jemand jede einzelne Datei, wählt den Drucker, klickt auf Drucken und schließt sie wieder — den ganzen Tag.

Der Aufwand fällt erst auf, wenn man ihn zusammenzählt: eine Minute Klicken pro Dokument, mehrmals pro Stunde — und alles steht still, sobald diese Person in einer Besprechung, im Urlaub oder einfach nicht an diesem Schreibtisch ist.

Dabei ist die Regel dahinter fast immer trivial: Alles, was in diesem Ordner landet, geht auf jenen Drucker, zwei Exemplare, beidseitig. Printy ist der Ort, an dem diese Regel einmal aufgeschrieben wird.

Highlights

  • Ein Ordner, eine Regel — Drucker, Kopien, Duplex, Farbe, Dateitypen, Prüfintervall und was nach dem Druck mit der Datei passiert. Jeder überwachte Ordner bringt seine eigenen Einstellungen mit und stört die anderen nicht.
  • Wartet, bis die Datei fertig ist — eine noch schreibende Datei wird in Ruhe gelassen, bis sie sich nicht mehr ändert. Ein halb übertragener Scan kommt sonst als halbe Seite aus dem Drucker.
  • Druckt nichts zweimal — Printy erkennt eine Datei, die es schon bearbeitet hat, am Inhalt und nicht bloß am Namen.
  • Ein ausgeschalteter Drucker ist kein Fehler — die Warteschlange hält an, statt reihenweise Aufträge fehlschlagen zu lassen. Nichts geht verloren, kein Versuch wird verbraucht, und sobald der Drucker wieder da ist, läuft es weiter. Eine wirklich defekte Datei gibt nach drei Versuchen für sich allein auf und lässt die Warteschlange weiterlaufen.
  • Nichts wird versehentlich gelöscht — eine gedruckte Datei wandert wahlweise in einen Unterordner, bleibt liegen oder wird gelöscht. Eine Datei, die nicht gedruckt werden konnte, wird nie gelöscht — auch nicht in einem Ordner, der auf „Löschen“ steht. Genau das ist die Datei, die man noch braucht.
  • Keine Überraschungen beim Einrichten — was beim Anlegen eines Ordners schon darin liegt, gilt als erledigt. Nur neu Hinzukommendes wird gedruckt, es sei denn, man möchte ausdrücklich etwas anderes. Zweihundert alte Scans sollen nicht zweihundert Seiten bedeuten.
  • Läuft im Hintergrund — Symbol im Infobereich, Start mit dem Rechner, minimierter Start, ein globaler Pauseschalter. Benachrichtigungen für alles, nur für Fehler, oder gar nicht.
  • Ein nachvollziehbarer Verlauf — jeder Auftrag mit Ordner, Drucker, Zeit und Ergebnis, auf Wunsch nur die Fehler, und jeder davon erneut druckbar — mit den Einstellungen, mit denen er ursprünglich gedruckt wurde.
  • Deine Daten bleiben hier — kein Konto, keine Synchronisierung, keine Telemetrie. Alles liegt in einer einzigen Datei auf dem Rechner. Dateiinhalte werden gelesen, um sie zu drucken, und nicht gespeichert.

Tech-Stack

  • Rust mit Tauri 2 für den Kern: Ordnerüberwachung, Warteschlange, Druckanbindung
  • React 19, TypeScript und eine eigene Oberfläche in Deutsch
  • SQLite für Ordner, Einstellungen und Verlauf — eine Datei, kein Server
  • Unter Windows wird jede Seite selbst gerastert und platziert; unter macOS übernimmt das Drucksystem

Verfügbarkeit

Windows ist die Zielplattform, macOS wird ebenfalls unterstützt. Ein Unterschied ist bewusst dokumentiert statt verschwiegen: Mit abgeschalteter Seitenanpassung verkleinert Windows einen zu großen Inhalt, macOS schneidet ihn ab — das Drucksystem dort kennt kein „verkleinern, aber nie vergrößern“.

Installation

Unter Windows den Installer aus dem aktuellen Release nehmen — wahlweise .exe oder .msi. Daneben liegt eine portable Variante für Rechner, auf denen nichts installiert werden darf.

Unter macOS:

brew tap NoiXdev/tap
brew install --cask printy

Die macOS-Builds sind signiert und notarisiert.

Status

Printy ist LIVE (v1.0.0). Issues und PRs sind willkommen — github.com/NoiXdev/printy.