Find a file
Chmouel Boudjnah 2bf544498c
Some checks are pending
Build / build (push) Waiting to run
fix: Fix outdated settings on navigation screens
Passed the settings state object instead of a plain value to the main
application component. This ensured screens kept displaying the current
settings rather than the stale values from when they were initially
opened.

Signed-off-by: Chmouel Boudjnah <chmouel@chmouel.com>
2026-10-11 08:18:59 +02:00
.claude/skills docs: Add Claude adaptive layout skills and reference files 2026-10-10 16:49:54 +02:00
.github fix: Start the full build only when the full-ci label is added 2026-10-10 10:48:10 +02:00
app fix: Fix outdated settings on navigation screens 2026-10-11 08:18:59 +02:00
docs test: Narrow the KOSync version header test and document it 2026-10-10 19:19:49 +02:00
fastlane chore: release v0.22.0 2026-10-08 22:49:43 +02:00
gradle feat: Show settings beside their pages on large screens 2026-10-10 20:11:51 +02:00
hack chore: Update Gemini model identifier for release notes 2026-10-08 22:41:03 +02:00
tests feat: Teach Liseur to read BookOrbit reading places 2026-09-24 14:53:34 +02:00
tmp chore: remove temporary illustration drafts 2026-09-17 03:51:04 +02:00
.agents docs: Add Claude adaptive layout skills and reference files 2026-10-10 16:49:54 +02:00
.gitignore chore: Ignore local personal Copilot CLI instructions 2026-09-01 20:32:19 +02:00
.pre-commit-config.yaml feat: add Gemini read-aloud feature to play build 2026-10-07 09:35:39 +02:00
AGENTS.md fix: Start the full build only when the full-ci label is added 2026-10-10 10:48:10 +02:00
build.gradle.kts feat: add EPUB reading with Readium navigator 2026-07-28 21:38:21 +02:00
DEVELOPER.md feat: Show settings beside their pages on large screens 2026-10-10 20:11:51 +02:00
gradle.properties perf: Accelerate unit test execution across multiple cores 2026-08-17 21:29:25 +02:00
gradlew chore(deps): bump the gradle group with 12 updates 2026-09-01 19:51:36 +02:00
gradlew.bat chore(deps): bump the gradle group with 18 updates 2026-10-01 22:22:47 +02:00
LICENSE feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
Makefile fix: Run the dev make targets only on a real phone 2026-10-10 12:36:45 +02:00
README.md chore: Remove the reading stats home-screen widget 2026-10-10 13:15:45 +02:00
settings.gradle.kts feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
TODO.md feat: Make room in the bar that appears over selected text 2026-10-10 12:36:45 +02:00

Liseur

Latest Release Total Downloads License

A woman reading on a couch under a lamp

An open-source ebook reader for Android, and a client for calibre-web, Komga, BookOrbit, liseur-sync and any OPDS catalog: EPUBs on your phone or in sync with book server.

Library Reading Read aloud
The shelf, sorted by what you are currently reading. Distraction-free page with notes and bookmarks. Read aloud with device voices or your own speech server.

More screenshots here

About Liseur

Liseur renders EPUBs with the Readium engine, in open typefaces (Literata, Vollkorn, Atkinson Hyperlegible, Inter) or whatever the publisher shipped. Four reading themes: Light, Sepia, Dark, OLED Black. Margins, line spacing, brightness, and page-turn vs. continuous-scroll are adjustable per book or library-wide. Auto-scroll runs at a set pace and continues across chapter boundaries, with on-page controls to pause it, change the speed or stop.

A footer shows the page you are on, how much of the chapter is left, and time remaining. Highlights, margin notes, bookmarks, and dictionary lookups are inline; book-level notes live in the notebook. Marking a passage offers one colour, and you tick which of the six you want along with the colour new marks use. Footnotes open as a card over the page rather than sending you to the back of the book. A selected passage can be translated by Android's own translator on the phone, or by a server you add, and from there the page itself can be translated sentence by sentence as you read.

The library is one shelf whatever the source: local folders, calibre-web, Komga, BookOrbit, liseur-sync, or any OPDS catalog. Series are grouped into stacks tracking reading order, progress, and missing volumes. "Download all books" fills the shelf from a connected server in one go. An empty library also offers free books from Project Gutenberg: browse it by language and shelf, and download the books you want before there is anything to connect to.

Reading position syncs across devices through calibre-web, Komga, BookOrbit or liseur-sync, down to the exact sentence on the last three. BookOrbit positions travel as EPUB CFIs. A Custom connection can be an OPDS address, a kosync address, or both, so a plain catalog and a sync server that know nothing about each other still add up to a library that follows you. What each server can and cannot do is in docs/SERVER_CAPABILITIES.md.

With liseur-sync you get extras, like a per-device settings backup, and better insights of your reading progress across devices.

A home-screen widget shows the current book cover. Tap it to read. It needs no configuration. The former library, combined-cover, and reading stats widgets have been removed; their placements do not survive an upgrade.

No trackers, no analytics, no ads, no subscriptions. Liseur only talks to the servers and dictionary sources you configure. See the privacy policy.

Install

Get it on Google Play Get it on F-Droid

Get it on GitHub Get it on Obtainium

  • liseur-sync: Lightweight self-hosted library and sync server. Watched folders, browse, download, positions and reading stats. This will give you the best "kindle/just work" experience compared to the other sync servers.
  • liseur-desktop: Desktop version of Liseur (abandoned).

Development

See DEVELOPER.md for build instructions and architecture notes, and docs/SERVER_CAPABILITIES.md for what each server exposes, what Liseur implements against it, and why the gaps remain.

What's in a name?

Liseur ([li.zœʁ], lee-ZUR) is the French word for an avid reader or book lover. It sounds dignified, like the English word leisure.

Another inspiration was a painting by Pierre-Auguste Renoir portraying Claude Monet as "Le Liseur":

image

Author

Sponsor

Chmouel Boudjnah

Licence

MIT. Bundled fonts are under the SIL Open Font License.