feat(reader): add keep-screen-awake setting for reading sessions - #964
Merged
Conversation
Adds a global Settings -> Reader toggle that keeps the screen from dimming or locking while any reader is open (DIVINA, EPUB, and PDF), defaulting to off (issue #953). BookReaderView applies the idle-timer state for the whole reading session and restores it on close. iOS and tvOS only; macOS reader windows are unaffected.
Follow the existing settings pattern (SettingsSection + NavDestination + detail page) instead of an inline toggle on the settings root. The new Reading page is scoped to reader-global session behavior with no per-reader meaning, starting with keep-screen-awake; existing per-reader keys are intentionally left untouched.
everpcpc
marked this pull request as ready for review
August 23, 2026 12:05
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements #953: an option to keep the screen awake while reading. Users who stay on one page for a while currently have the screen dim or lock mid-reading.
Changes
SettingsSection+NavDestination+ dedicated detail view). It is scoped to reader-global session behavior that has no per-reader meaning — starting with the "Keep Screen Awake While Reading" toggle, which defaults to off. Existing per-reader keys (tap zones, overlay toggles, keyboard help) are intentionally untouched.keepScreenAwakeWhileReading()view modifier togglesUIApplication.isIdleTimerDisabledfor the lifetime of a reading session. It is applied once inBookReaderView, so it covers all three readers (DIVINA, EPUB, native PDF) and restores normal behavior when the reader closes or the setting is turned off mid-session.Validation
make build-ios/make build-macos/make build-tvosall pass;make localizerun,translate.py listreports no missing translations.