Native GTK4/Libadwaita manga reader for Linux, inspired by Mihon/Tachiyomi.
- Native GTK4 UI (no Electron)
- Library management with categories, history, and unread tracking
- Browse tab with built-in sources:
- MangaDex
- AllManga
- Reader with chapter progress + download support
- APK extension bridge (Tachiyomi-style extensions via JVM)
- Updates tab:
- scans all manga in your library
- fetches latest chapters from each source
- stores new chapters in the DB
- updates unread counts
- shows per-manga update results
mihon/
├── core/ # database, models, downloader, updater
├── extensions/ # built-in + JVM extension bridge
└── ui/ # GTK views (library, browse, updates, reader, etc.)
bridge/ # Kotlin JSON-RPC bridge used for APK/JVM extensions
Install GTK4, Libadwaita, GI bindings, and Java 21.
sudo dnf install -y python3 python3-pip python3-gobject python3-requests gtk4 libadwaita java-21-openjdksudo apt update
sudo apt install -y python3 python3-pip python3-gi python3-requests gir1.2-gtk-4.0 gir1.2-adw-1 openjdk-21-jdkpip install -r requirements.txtUse this exact command:
cd /home/your-name/mihon-linux/bridge && JAVA_HOME=/usr/lib/jvm/java-21-openjdk ./gradlew jarcd /home/your-name/mihon-linux && python3 run.py- Add manga to library (from Browse -> manga detail -> Add to Library).
- Open
Updatestab. - Click
Check Updates. - App checks each library manga source and inserts newly discovered chapters.
- Unread counts are recalculated and shown in library cards + update rows.
You can run a non-UI check directly:
cd /home/your-name/mihon-linux
python3 - <<'PY'
from mihon.core.library_updater import LibraryUpdater
s = LibraryUpdater().check_updates()
print({
"checked_manga": s.checked_manga,
"updated_manga": s.updated_manga,
"new_chapters": s.new_chapters,
"failures": s.failures,
})
if s.errors:
print("first_error:", s.errors[0])
PY- Network connectivity is required for source fetch/update operations.
- GTK app must run inside a graphical session (
DISPLAYorWAYLAND_DISPLAYset). - JVM extensions require the bridge JAR and Java 21.