1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
# 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.


## 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](https://flutter.dev) 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
```sh
flutter run -d linux # dev with hot reload
flutter build linux --release # release bundle: build/linux/x64/release/bundle/
```
### Android
```sh
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.
```sh
# 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:
```sh
adb install -r build/app/outputs/flutter-apk/app-arm64-v8a-release.apk
```
### Tests
```sh
flutter test
flutter analyze
```
## Share with Quicklog on Android
From any app that can share text, choose **Share** → **Quicklog**. 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.
|