Rewrite of quicklogger with Dart/Flutter.
  • Dart 58.4%
  • CMake 19.8%
  • C++ 12.4%
  • Kotlin 7.8%
  • C 1.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Paul Buetow 3e4bacb7b9 Rewrite as Flutter app and rename to Quicklog
Drop the Go/Fyne implementation and replace it with a native Flutter app
targeting Android (primary) and Linux desktop (development). Rename
quicklogger -> quicklog throughout (project, applicationId, MethodChannel,
cache filename, AppBar title, Linux binary).

Storage on Android moves to /Android/data/org.buetow.quicklog/files/ so
MANAGE_EXTERNAL_STORAGE is no longer required. Share-intent receive is
preserved via a Kotlin ShareActivity that writes shared text to the app
cache, which Dart reads through a MethodChannel on app resume; MainActivity
also accepts SEND directly so launchers that prefer the main target work.

New since the Fyne version: an entry browser screen with read-only viewer
and long-press delete.

Cross-compiling to Android ARM from amd64 Linux no longer needs Docker /
fyne-cross / NDK -- flutter build apk emits ARM binaries directly.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 00:05:39 +03:00
android Rewrite as Flutter app and rename to Quicklog 2026-05-08 00:05:39 +03:00
lib Rewrite as Flutter app and rename to Quicklog 2026-05-08 00:05:39 +03:00
linux Rewrite as Flutter app and rename to Quicklog 2026-05-08 00:05:39 +03:00
test Rewrite as Flutter app and rename to Quicklog 2026-05-08 00:05:39 +03:00
.gitignore Rewrite as Flutter app and rename to Quicklog 2026-05-08 00:05:39 +03:00
.metadata Rewrite as Flutter app and rename to Quicklog 2026-05-08 00:05:39 +03:00
analysis_options.yaml Rewrite as Flutter app and rename to Quicklog 2026-05-08 00:05:39 +03:00
icon.png add icon 2024-01-26 00:57:11 +02:00
LICENSE change copyright holder to my real name 2024-01-21 01:25:41 +02:00
logo-small.png cropping logo 2024-01-21 01:24:06 +02:00
logo.png cropping logo 2024-01-21 01:24:06 +02:00
pubspec.lock Rewrite as Flutter app and rename to Quicklog 2026-05-08 00:05:39 +03:00
pubspec.yaml Rewrite as Flutter app and rename to Quicklog 2026-05-08 00:05:39 +03:00
ql-250516-000347.md Simplify UI: remove Days/Tag/What menus; reorder bottom controls to 'Log text', 'Clear', 'Preferences', char count. Simplify Preferences to directory only. Add Magefile with build, run, clean, android, androidcross targets; make run verbose for debugging. 2025-09-13 10:31:07 +03:00
README.md Rewrite as Flutter app and rename to Quicklog 2026-05-08 00:05:39 +03:00
screenshot-android.png add android screenshot 2024-03-02 23:36:45 +02:00
screenshot-fedora.png add android screenshot 2024-03-02 23:36:45 +02:00

Quicklog

Quicklog

Tiny GUI app to quickly jot a thought into a timestamped Markdown file. Originally a Go/Fyne app called Quicklogger — this is the Flutter rewrite, renamed to Quicklog, targeting Android (primary) and Linux desktop (development).

The intent is the same as before: type a quick note on Android, hit Log text, and let Syncthing copy the resulting ql-YYMMDD-HHMMSS.md file to your home computer.

Screenshot Screenshot

Features

  • Single-screen text editor with character counter and a one-shot warning at 5,000 characters.
  • Each press of Log text writes the current text to a new file named ql-YYMMDD-HHMMSS.md in the configured directory.
  • Preferences: configurable log directory and an "Auto-log shared text" toggle.
  • Entry browser: list of previous entries (newest first) with read-only viewer and long-press to delete.
  • Share to Quicklog on Android: share text from any app and Quicklog either prefills the editor or logs it immediately, depending on the preference.

Requirements

  • Flutter stable channel (3.41+).
  • For Android builds: Android SDK + JDK 17 (Flutter's Gradle does not yet support newer JDKs). On Fedora, GraalVM 17 works — point Flutter at it with flutter config --jdk-dir=/usr/lib/jvm/graalvm-community-openjdk-17.0.9+9.1.
  • For Linux desktop builds: gtk3-devel, mesa-demos, clang, cmake, ninja-build, pkg-config, xz-devel.

Build and Run

Linux desktop

flutter run -d linux              # dev with hot reload
flutter build linux --release     # release bundle: build/linux/x64/release/bundle/

Android

flutter run -d <device-id>        # dev on a connected device
flutter build apk --release       # fat APK with all ABIs

Cross-compile from amd64 Linux to ARM Android APK

Unlike the previous Fyne build, no Docker / Podman / fyne-cross / NDK is needed. Flutter's Dart AOT compiler emits ARM machine code directly from x86_64.

# Per-ABI split APKs (smaller, recommended for distribution)
flutter build apk --release --split-per-abi
# → build/app/outputs/flutter-apk/app-arm64-v8a-release.apk     (modern phones)
# → build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk   (older 32-bit)
# → build/app/outputs/flutter-apk/app-x86_64-release.apk        (emulators)

# ARM64 only
flutter build apk --release --target-platform android-arm64

Install on the device:

adb install -r build/app/outputs/flutter-apk/app-arm64-v8a-release.apk

Tests

flutter test
flutter analyze

Share with Quicklog on Android

From any app that can share text, choose ShareQuicklog. With auto-log off (default), the text opens in the editor for review. Toggle "Auto-log shared text" in Preferences to have shared text written straight to disk.

Storage on Android

Log files are written to the app-specific external directory at /Android/data/org.buetow.quicklog/files/. No storage permissions are required; point Syncthing at that folder to sync to your home computer.