Commit Graph
85 Commits
Author SHA1 Message Date
haraldandClaude Opus 5.5 a8aef30db7 feat(android): pen input, soft keyboard and exports to Downloads (Issues #42, #44)
- Pen vs. finger (#44): the patched winit hands Android pointers with
  tool type stylus/eraser to the app separately (take_pen_samples, with
  hover and button state) instead of as touch events. src/pen.rs turns
  them, like octotablet's events on the desktop, into one PenInput
  stream, so pen buttons, the eraser end and palm rejection work the
  same everywhere. Hover exit right before touch-down does not count as
  leaving; a pen without hover leaves 150 ms after lifting.
- Soft keyboard: shown via AndroidApp::show_soft_input when a text field
  gets focus, hidden when it loses it. The patched winit now fills
  KeyEvent::text, so typed characters reach egui.
- Exports (PDF, PNG, SVG) are written to the app folder and copied to
  Download/ink-notes through the MediaStore (Android 10+, via JNI).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:54:48 +01:00
haraldandClaude Opus 5.5 c95cde8ec8 chore(release): bump version to 0.39.3
Build & Publish Release / Build Packages & Publish to Gitea (push) Failing after 3m32s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 20:16:49 +01:00
haraldandClaude Opus 5.5 7faf78ddeb feat(android): follow the activity lifecycle and build an APK (Issue #42)
- The drawing surface is created once the native window exists (Resumed)
  and released when the app goes to the background (Suspended); before
  that everything is saved, as Android may stop the app at any time
- Android's back button acts like Escape instead of closing the app
- Panics are written to logcat; no update check on Android yet
- scripts/package-android.sh builds target/ink-notes_<version>_arm64.apk
  without Gradle (NDK, aapt2, zipalign, apksigner); signing key from
  ANDROID_KEYSTORE/ANDROID_KEYSTORE_PASS/ANDROID_KEY_ALIAS, otherwise
  the debug key

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:23:28 +01:00
haraldandClaude Opus 5.5 ce3a1f697b chore(release): bump version to 0.39.2
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 19m8s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 16:57:30 +01:00
haraldandClaude Opus 5.5 e47c2b6f28 build: replace printpdf 0.7 with own PDF writer on lopdf 0.46
printpdf 0.7 pinned lopdf 0.31; newer printpdf versions are a complete
rewrite. The export now uses src/pdf_writer.rs, a small writer on top of
lopdf 0.46 with the subset of the printpdf API the export used: pages with
layers (optional content groups), paths, embedded TrueType fonts (Type0,
Identity-H, ToUnicode), images and bookmarks. Bookmark titles are written
as UTF-16BE directly, so the post-processing step for them is gone.
pdf_merge uses lopdf 0.46 as well.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 16:54:13 +01:00
haraldandClaude Opus 5.5 d610ca019a chore(release): bump version to 0.39.1
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 12m19s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 15:46:13 +01:00
haraldandClaude Opus 5.5 1492f8affb chore(release): bump version to 0.39.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 18m6s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 15:16:45 +01:00
haraldandClaude Opus 5.5 e5a8601f87 feat: Windows build and Android groundwork (Issues #48, #42)
Shared groundwork:
- paths.rs: folders for data, settings and downloads per system (Linux XDG
  unchanged, Windows %APPDATA%/%LOCALAPPDATA%, Android app folder)
- Linux-only parts behind cfg: Wayland on-screen keyboard (osk/wayland.rs),
  display backend and app id, the vendored winit touch extensions
- run_with(event_loop) so that other entry points can start the app

Windows (#48):
- cross-compiled with MinGW into a portable ink-notes_<version>_x86_64.exe
  (system DLLs only), no console window in release builds
- file picker: user folders and drives; held notebook locks are detected
  (ERROR_LOCK_VIOLATION)
- updater: replaces the running .exe via rename, active at the next start
- octotablet panicking without the Tablet PC components no longer crashes
  the app
- release: .exe built in CI and part of the signed checksums
- all library tests pass under wine

Android (#42):
- android_main entry point, winit with android-native-activity,
  android_logger; octotablet and arboard left out there
- cargo check and the cdylib build for aarch64-linux-android pass; the window
  surface does not follow the activity lifecycle yet

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 15:13:37 +01:00
haraldandClaude Opus 5.5 beb780b420 chore(release): bump version to 0.38.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m31s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 13:51:37 +01:00
haraldandClaude Opus 5.5 41ee32e1f7 chore(release): bump version to 0.37.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m51s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 12:27:44 +01:00
haraldandClaude Opus 5.5 ca6f64ec8e chore(release): bump version to 0.36.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 10m35s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 11:56:16 +01:00
haraldandClaude Opus 5.5 46026eb8e5 feat: import Rnote notebooks (Issue #47)
The import (menu entry and drag & drop) now also accepts .rnote files
from Rnote 0.5.10 on, including the transformation and document config
layouts that changed in 0.13 and 0.15. Taken over: brush strokes with
their pressure curve, shapes as outlines, texts, bitmap images and SVG
images, which are rasterized with resvg (Rnote stores imported PDF
pages as SVG). Fixed-size and continuous documents keep their pages;
infinite ones become an endless notebook.

The parts shared with the Xournal++ import moved to src/import.rs.
resvg and its dependencies were added to the Flatpak cargo sources.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 11:40:51 +01:00
haraldandClaude Opus 5.5 2bd697ef82 feat: import Xournal++ and Xournal notebooks (Issue #47)
The import menu entry (formerly "Import PDF") and drag & drop now also
accept .xopp and .xoj files. Each Xournal page becomes a page of a new
notebook: strokes with pen pressure, highlighters, texts, embedded
images, lined/squared/dotted paper, image backgrounds and PDF
backgrounds (looked up at the stored path and next to the file). All
layers are flattened in order; LaTeX formulas are skipped and counted
in the status message.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 11:10:34 +01:00
haraldandClaude Opus 5.5 b5d9d72e79 chore(release): bump version to 0.35.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m17s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 08:52:15 +01:00
haraldandClaude Opus 5.5 330c29193f chore(release): bump version to 0.34.2
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m23s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 14:10:23 +01:00
haraldandClaude Opus 5.5 e8a7675f8d chore(release): bump version to 0.34.1
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 6m39s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 11:17:21 +01:00
haraldandClaude Opus 5.5 78554c77ee chore(release): bump version to 0.34.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 11m22s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 09:50:58 +02:00
haraldandClaude Opus 5.5 69e1640dc8 chore(release): bump version to 0.33.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m18s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 15:08:28 +02:00
haraldandClaude Opus 5.5 31a57dc7a7 chore(release): bump version to 0.32.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 17m13s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 12:46:48 +02:00
haraldandClaude Opus 5.5 08a5b014e0 fix: title bar buttons work with a finger on Wayland (Issue #36)
winit 0.29 draws the title bar itself on Wayland but only handles the
mouse there. A vendored copy of winit 0.29.15 (vendor/winit, used via
[patch.crates-io]) passes touches on the decorations to the frame like a
left click, so close, minimize and maximize work with a finger and
dragging the title bar moves the window.

CI no longer sets a global -D warnings, which would also apply to the
vendored crate; clippy still runs with -D warnings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 11:57:26 +02:00
haraldandClaude Opus 5.5 c38bfdd9b1 chore(release): bump version to 0.31.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 6m18s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:50:15 +02:00
haraldandClaude Opus 5.5 0ddd0bc50e chore(release): bump version to 0.30.2
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 6m13s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 20:51:33 +02:00
haraldandClaude Opus 5.5 a5692e5430 chore(release): bump version to 0.30.1
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 6m52s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 20:15:37 +02:00
haraldandClaude Opus 5.5 76968f9e58 chore(release): bump version to 0.30.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m18s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 18:16:57 +02:00
haraldandClaude Opus 5.5 d21fa91315 chore(release): bump version to 0.29.1
Build & Publish Release / Build Packages & Publish to Gitea (push) Failing after 1m47s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 14:28:51 +02:00
haraldandClaude Opus 5.5 63ab6a3e5b chore(release): bump version to 0.29.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 8m46s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:17:17 +02:00
haraldandClaude Opus 5.5 8bc29faddc chore(release): bump version to 0.28.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 8m1s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:01:18 +02:00
haraldandClaude Opus 5.5 1b30f2bd26 chore(release): bump version to 0.27.1
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 13m58s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:48:20 +02:00
haraldandClaude Opus 5.5 8fddd9e2c3 chore(release): bump version to 0.27.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 21m31s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:18:34 +02:00
haraldandClaude Opus 5.5 cbf699b680 chore(release): bump version to 0.26.2
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 8m41s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 07:26:42 +02:00
haraldandClaude Opus 5.5 b3578175c2 chore(release): bump version to 0.26.1
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 8m25s
Screenshot-URLs im Metainfo zeigen auf das Release-Tag statt auf main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 18:29:56 +02:00
haraldandClaude Opus 5.5 7d683d6e67 chore(release): bump version to 0.26.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 8m16s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 16:20:31 +02:00
haraldandClaude Opus 5.5 20792ed34f chore(release): bump version to 0.25.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 8m56s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 15:54:06 +02:00
haraldandClaude Opus 5.5 ec6a5259d5 chore(release): bump version to 0.24.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 6m52s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 12:46:34 +02:00
haraldandClaude Opus 5.5 57028dfbc6 chore(release): bump version to 0.23.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m17s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 12:21:29 +02:00
haraldandClaude Opus 5.5 6fb190cf79 fix: Bildschirmtastatur unter GNOME/Wayland (Issue #21)
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>
2026-10-09 12:11:45 +02:00
haraldandClaude Opus 5.5 1148851585 chore(release): bump version to 0.22.1
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 6m32s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 09:51:17 +02:00
haraldandClaude Opus 5.5 dc067af31e chore(release): bump version to 0.22.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 9m24s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 20:31:28 +02:00
haraldandClaude Opus 5.5 f212b2e23f chore(release): bump version to 0.21.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 8m15s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 19:42:48 +02:00
haraldandClaude Opus 5.5 680fa96f32 chore(release): bump version to 0.20.1
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 8m32s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 19:25:26 +02:00
haraldandClaude Opus 5.5 76ecdac081 chore(release): bump version to 0.20.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 8m29s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 19:05:48 +02:00
haraldandClaude Opus 5.5 d1f0b46fac chore(release): bump version to 0.19.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m40s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 18:47:28 +02:00
haraldandClaude Opus 5.5 e33062fe0a chore(release): bump version to 0.18.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m17s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 17:42:38 +02:00
haraldandClaude Opus 5.5 70317caeb5 chore(release): bump version to 0.17.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m34s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 17:10:14 +02:00
haraldandClaude Opus 5.5 4a4492d034 chore(release): bump version to 0.16.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 6m52s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 16:53:15 +02:00
haraldandClaude Opus 5.5 c87f4102d7 chore(release): bump version to 0.15.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m47s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 16:03:39 +02:00
haraldandClaude Opus 5.5 904b36e5f7 chore(release): bump version to 0.14.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 6m25s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 12:44:53 +02:00
haraldandClaude Opus 5.5 fa1ab5ab8f chore(release): bump version to 0.13.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 6m52s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 12:01:25 +02:00
haraldandClaude Opus 5.5 ffab2cea7a chore(release): bump version to 0.12.0
Build & Publish Release / Build Packages & Publish to Gitea (push) Successful in 7m23s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 09:31:45 +02:00
haraldandClaude Opus 5.5 614dd140a1 docs: README und Dokumentation auf den aktuellen Stand
README, ARCHITECTURE.md und FILE_FORMAT.md beschreiben jetzt alle
Funktionen bis v0.11 (Text, Bilder, PDF-Import, Seitenformate, Lineal,
durchgehendes Scrollen, Musterfarben, Dateiformat-Version 8). Werbliche
Formulierungen durch überprüfbare Angaben ersetzt, auch in Paket-
beschreibung, Desktop-Datei, AppStream-Metadaten und Release-Notizen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 09:21:42 +02:00