GNOME blendet die Bildschirmtastatur erst ein, wenn ein bereits aktives
Textfeld zwp_text_input_v3.enable erneut meldet (wie GTK beim Antippen).
winit meldet enable nur einmal. Ein eigenes text-input-Objekt auf
derselben Wayland-Verbindung schickt das zweite enable, wenn ein Textfeld
den Fokus bekommt oder erneut angetippt wird.
- Zeichen der Bildschirmtastatur kommen als IME-Text ohne Vorschau; egui
0.27 fügte davon nur das erste ein. Sie werden jetzt als normaler Text
übergeben.
- Die Rücktaste löscht über delete_surrounding_text; dafür meldet das
eigene Objekt einen Platzhalter-Umgebungstext und übersetzt das Löschen
in Tastendrücke.
- Ein Fingertipp ging verloren, wenn GNOME beim Antippen den Mauszeiger
ausblendet (CursorLeft bei aufliegendem Finger); das Ereignis erreicht
egui in dem Fall nicht mehr.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Beliebig verschachtelte Ordner (z. B. 3. Semester › Mathe) im
Dokumenten-Manager: Pfadleiste zum Navigieren, Ordner anlegen, umbenennen,
löschen (Inhalt rückt eine Ebene nach oben) und Notizbücher mit 📂 verschieben
- Neue Notizbücher landen im angezeigten Ordner, importierte PDFs neben dem
geöffneten Notizbuch; der Manager öffnet im Ordner des aktuellen Notizbuchs
- Ordner sind logisch (library.json im Notizbuch-Basisordner), Notizbuch-
Dateien werden nie verschoben; fehlt die Datei, liegt alles oben
- Die ganze Titelfläche einer Zeile öffnet Notizbuch bzw. Ordner
- Ein ganz neues Standard-Notizbuch wird sofort gespeichert (erschien sonst
bis zur ersten Änderung als „beschädigt“)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Textfelder per Tastatur (T): normale oder Code-Schrift, 8–36 pt, Farben
der Stiftpalette, Umbruch am rechten Feldrand. Textfelder sind Objekte
mit vier Ecken wie Bilder (verschieben, drehen, skalieren) und werden als
Textur gerastert; im PDF-Export echter, durchsuchbarer Text mit
eingebetteter Schrift. Kopierter Text wird mit Strg+V zum Textfeld.
Dateiformat-Version 7.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Lineal ein-/ausblenden über die Werkzeugleiste oder Taste L
(26 cm, mm-/cm-Skala an beiden Kanten, Winkelanzeige)
- Fläche ziehen verschiebt, Griff ⟳ dreht; 15°-Schritte rasten ein
- Striche, die bis 6 mm neben einer Längskante beginnen, folgen bis zum
Abheben exakt der Kante (Stift, Textmarker, Formen); die Tinte liegt
um die halbe Strichbreite neben dem Lineal
- Lineal bleibt beim Blättern an seiner Stelle; nur seine Fläche und
der Griff nehmen Eingaben an, an den Kanten wird gezeichnet
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Radierer-Modus „✂ Teilstrich“: entfernt nur den überstrichenen Teil, der Rest
bleibt in Stücken; ein Radierzug ist ein Undo-Schritt, Formen werden ganz radiert
- ☰ → „Seite als PNG / PNG transparent / SVG“ nach ~/Documents (über den
PDF-Export gerendert: Bilder und importierte PDF-Seiten inklusive)
- Strg+C legt die Auswahl zusätzlich als Bild in die Systemzwischenablage
(für Chat, Mail, Office); in ink-notes fügt Strg+V weiter die Objekte ein
- Seitentitel in der Seitenübersicht, Ansicht „Inhalt“ als Inhaltsverzeichnis,
Lesezeichen-Ecke an benannten Seiten, Titel im Fenstertitel und als
PDF-Lesezeichen (Umlaute als UTF-16)
- Dateiformat-Version 6 (Seitentitel)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- ☰ → „PDF importieren …“ oder PDF ins Fenster ziehen: neues Notizbuch
mit einer Seite je PDF-Seite, die Originalseite als Hintergrund
- Querformat-Folien liegen oben auf dem A4-Blatt, darunter ist Platz für
Notizen; gedrehte Seiten (/Rotate) erscheinen wie im PDF-Betrachter
- Anzeige mit hayro (reines Rust) im Hintergrund-Thread, nächste Seite
wird vorab gerendert
- PDF-Export legt die Originalseiten als Vektorgrafik (Form-XObject via
lopdf) unter Bilder und Tinte; nicht übernehmbare Seiten (z. B.
verschlüsselt) werden als Bild mit 200 dpi eingebettet
- Dateiformat-Version 5 (pdf_background an der Seite)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Bilder per ☰ → „Bild einfügen …“ (Strg+I, eingebaute Dateiauswahl),
Strg+V aus der Systemzwischenablage oder durch Ziehen ins Fenster
- Bilder sind Objekte mit vier Ecken: verschieben, drehen, skalieren,
kopieren, löschen und Undo über die bestehende Auswahl
- Gespeichert einmalig unter ihrer Prüfsumme in <Notizbuch>/assets
(JPEG unverändert, sonst PNG); Dateiformat-Version 4
- GPU-Darstellung mit Mipmaps unter der Tinte; Radierer und Umfärben
lassen Bilder unberührt, Tinte auf Bildern hat beim Antippen Vorrang
- PDF-Export: JPEG verlustfrei eingebettet, sonst bis 300 dpi
- Strg+V: die jüngste Kopie gewinnt (Systembild oder interne Objekte);
Bilder werden beim Einfügen in ein anderes Notizbuch mitkopiert
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Unter WSLg trennt der Wayland-Compositor die Verbindung, kurz nachdem die App
ein Bild über Vulkan übergibt ("Connection reset by peer", ExitFailure). Über
X11 (Xwayland) läuft die App stabil – deshalb funktionierte sie als root, wo
der Wayland-Socket nicht gefunden wird und winit auf X11 ausweicht.
- WSL-Erkennung (WSL_DISTRO_NAME/WSL_INTEROP, /proc/sys/kernel/osrelease)
- Unter WSL mit gesetztem DISPLAY wird die Ereignisschleife mit X11 erzeugt
- INK_NOTES_DISPLAY=x11|wayland übersteuert die Wahl
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Werkzeugleiste
- Schmale senkrechte Leiste statt ~30 Elemente in einer Zeile; seitlich oben
angedockt (links, im ☰-Menü auf rechts umschaltbar, gespeichert in
~/.config/ink-notes/ui.json)
- Symbol-Knöpfe 40 px, auf niedrigen Fenstern schrittweise bis 28 px; Größe
richtet sich nach dem höchsten Fall, damit Knöpfe beim Werkzeugwechsel
nicht springen (fester Platz für die Farbpalette)
- Selten genutztes (PDF, Hintergrund, Zoom, Finger-Zeichnen, Leistenseite,
Updates, Speicherstatus) im ☰-Menü; Popover öffnen zur Blattseite hin
- Blatt wird im freien Bereich neben der Leiste zentriert
- Symbole ohne Glyphe in den egui-Schriften (🖍 ⌫ ⬚ ◄ ► ● ✕ ▾) ersetzt bzw.
selbst gezeichnet; Hover-Farbe korrigiert (falsch vormultipliziert)
Eingabe
- UI-Trefferprüfung in logischen Punkten (vorher physische Pixel gegen
egui-Koordinaten: bei Skalierung ≠ 1 trafen Stift und Touch die Leiste nicht)
und über egui::Context::layer_id_at für alle egui-Bereiche
- Stift-Ereignisse über egui_input_mut() statt ctx.input_mut() (wurden vom
nächsten Frame verworfen); Stiftbewegungen für Hover/Ziehen weitergereicht,
Stift bleibt vom Aufsetzen bis Abheben bei der UI
- Berührungen, die auf der UI beginnen, bleiben bis zum Abheben bei egui
- egui-Neuzeichenwünsche (repaint_delay) werden beachtet
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>