Skip to content

feat: Add status bar option "Full w/ Progress Bar"#438

Merged
daveallie merged 12 commits intocrosspoint-reader:masterfrom
alexfaria:alexfaria/status-progress-bar
Jan 27, 2026
Merged

feat: Add status bar option "Full w/ Progress Bar"#438
daveallie merged 12 commits intocrosspoint-reader:masterfrom
alexfaria:alexfaria/status-progress-bar

Conversation

@alexfaria
Copy link
Contributor

@alexfaria alexfaria commented Jan 20, 2026

Summary

  • What is the goal of this PR? This PR introduces a new "Status Bar" mode that displays a visual progress bar at the bottom of the screen, providing readers with a graphical indication of their position within the book.

  • What changes are included?

    • Settings: Updated SettingsActivity to expand the "Status Bar" configuration with a new option: Full w/ Progress Bar.
    • EPUB Reader: Modified EpubReaderActivity to calculate the global book progress and render a progress bar at the bottom of the viewable area when the new setting is active.
    • TXT Reader: Modified TxtReaderActivity to implement similar progress bar rendering logic based on the current page and total page count.

Additional Context

  • The progress bar is rendered with a height of 4 pixels at the very bottom of the screen (adjusted for margins).
  • The feature reuses the existing renderStatusBar logic but conditionally draws the bar instead of (or in addition to) other elements depending on the specific implementation details in each reader.
  • Renamed existing 'Full' mode to 'Full w/ Percentage'
  • Added new 'Full w/ Progress Bar' option

AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? NO

@alexfaria alexfaria changed the title Add status bar option "Full w/ Progress Bar" feat: Add status bar option "Full w/ Progress Bar" Jan 20, 2026
@alexfaria alexfaria force-pushed the alexfaria/status-progress-bar branch from d0c60b2 to 4935fae Compare January 20, 2026 00:45
@alexfaria alexfaria force-pushed the alexfaria/status-progress-bar branch from 4935fae to 57379a6 Compare January 20, 2026 00:48
Copy link
Contributor

@borisfaure borisfaure left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've reviewed the code and tested it in both Portrait and Landscape (CCW) modes and it works fine

@alexfaria alexfaria force-pushed the alexfaria/status-progress-bar branch from b633d73 to fd6ea01 Compare January 20, 2026 23:40
@MattJ142
Copy link

This is fantastic. Any chance to have the bar without the info text above it (percentage, chapter, battery)?

@alexfaria
Copy link
Contributor Author

Hi @MattJ142 thank you for the feedback :)

As requested I've added a "Progress bar" option, let me know what you think

image

@alexfaria alexfaria requested a review from borisfaure January 25, 2026 22:10
@MattJ142
Copy link

Hi @MattJ142 thank you for the feedback :)

As requested I've added a "Progress bar" option, let me know what you think

image

Absolutely 100% what I was hoping for. Thank you.

@MattJ142
Copy link

Hi @MattJ142 thank you for the feedback :)
As requested I've added a "Progress bar" option, let me know what you think
image

Absolutely 100% what I was hoping for. Thank you.

This is probably a dumb question but will this be added to a future Crosspoint update automatically or do I need to do something to get this on my device?

@alexfaria
Copy link
Contributor Author

Hi, @MattJ142 not a dumb question :)
for it to be added to a future crosspoint release this pr needs to be reviewed and approved by @daveallie

Until then if you want this feature you'd need to build this branch locally and flash it to your device

# Conflicts:
#	src/activities/reader/EpubReaderActivity.cpp
# Conflicts:
#	src/CrossPointSettings.h
@daveallie daveallie merged commit e9c2fe1 into crosspoint-reader:master Jan 27, 2026
1 check passed
@lukestein
Copy link
Contributor

lukestein commented Jan 27, 2026

This is great @alexfaria, thanks!

One small thing I noticed is that at least on my screen, the visibility of the progress bar looks different based on device orientation. I do know my screen will draw black or white all the way out further than the bezels, so I wonder if there's a way to make the progress bar bleed further outside the margin.

Happy to create a new issue rather than comment on a closed PR if that would be useful, or to drop it if nothing could be done.

IMG_3136

IMG_3135

IMG_3134

IMG_3133

@daveallie
Copy link
Member

Might be good to get some testing on a few different devices, I tried to get the default panel margins baked into the getOrientedViewableTRBL function, but it may not be super accurate. Please open a new issue, and if you can field results from a few different devices, that'd be amazing.

@lukestein
Copy link
Contributor

Might be good to get some testing on a few different devices, I tried to get the default panel margins baked into the getOrientedViewableTRBL function, but it may not be super accurate. Please open a new issue, and if you can field results from a few different devices, that'd be amazing.

Great. #570

@greihem
Copy link

greihem commented Jan 27, 2026

Hi! I was wondering if it would be possible to also have an option of the progress bar with the % also available? So far, it’s how i could jump back to another reader when i get home ☺️ or if not possible maybe percentage on the home screen?

jdk2pq added a commit to jdk2pq/crosspoint-reader that referenced this pull request Jan 28, 2026
* master: (33 commits)
  feat: add HalDisplay and HalGPIO (crosspoint-reader#522)
  feat: Display epub metadata on Recents (crosspoint-reader#511)
  chore: Cut release 0.16.0
  fix: Correctly render italics on image alt placeholders (crosspoint-reader#569)
  chore: .gitignore: add compile_commands.json & .cache (crosspoint-reader#568)
  fix: Render keyboard entry over multiple lines (crosspoint-reader#567)
  fix: missing front layout in mapLabels() (crosspoint-reader#564)
  refactor: Re-work for OTA feature (crosspoint-reader#509)
  perf: optimize large EPUB indexing from O(n^2) to O(n) (crosspoint-reader#458)
  feat: Add Spanish hyphenation support (crosspoint-reader#558)
  feat: Add support to B&W filters to image covers (crosspoint-reader#476)
  feat(ux): page turning on button pressed if long-press chapter skip is disabled (crosspoint-reader#451)
  feat: Add status bar option "Full w/ Progress Bar" (crosspoint-reader#438)
  fix: Validate settings on read. (crosspoint-reader#492)
  fix: rotate origin in drawImage (crosspoint-reader#557)
  feat: Extract author from XTC/XTCH files (crosspoint-reader#563)
  fix: add txt books to recent tab (crosspoint-reader#526)
  docs: add font generation commands to builtin font headers (crosspoint-reader#547)
  docs: Update README with supported languages for EPUB  (crosspoint-reader#530)
  fix: Fix KOReader document md5 calculation for binary matching progress sync (crosspoint-reader#529)
  ...
Jessica765 pushed a commit to Jessica765/crosspoint-reader that referenced this pull request Feb 3, 2026
…#438)

## Summary

* **What is the goal of this PR?** This PR introduces a new "Status Bar"
mode that displays a visual progress bar at the bottom of the screen,
providing readers with a graphical indication of their position within
the book.
* **What changes are included?** 

* **Settings**: Updated SettingsActivity to expand the "Status Bar"
configuration with a new option: Full w/ Progress Bar.
* **EPUB Reader**: Modified EpubReaderActivity to calculate the global
book progress and render a progress bar at the bottom of the viewable
area when the new setting is active.
* **TXT Reader**: Modified TxtReaderActivity to implement similar
progress bar rendering logic based on the current page and total page
count.

## Additional Context

* The progress bar is rendered with a height of 4 pixels at the very
bottom of the screen (adjusted for margins).
* The feature reuses the existing renderStatusBar logic but
conditionally draws the bar instead of (or in addition to) other
elements depending on the specific implementation details in each
reader.
  * Renamed existing 'Full' mode to 'Full w/ Percentage'
  * Added new 'Full w/ Progress Bar' option

<img
src="https://github.com/user-attachments/assets/08c0dd49-c64c-4d4d-9fbb-f576c02d05d9"
width="500">


---

### AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? _**NO**_
Unintendedsideeffects pushed a commit to Unintendedsideeffects/crosspoint-reader that referenced this pull request Feb 17, 2026
…#438)

## Summary

* **What is the goal of this PR?** This PR introduces a new "Status Bar"
mode that displays a visual progress bar at the bottom of the screen,
providing readers with a graphical indication of their position within
the book.
* **What changes are included?** 

* **Settings**: Updated SettingsActivity to expand the "Status Bar"
configuration with a new option: Full w/ Progress Bar.
* **EPUB Reader**: Modified EpubReaderActivity to calculate the global
book progress and render a progress bar at the bottom of the viewable
area when the new setting is active.
* **TXT Reader**: Modified TxtReaderActivity to implement similar
progress bar rendering logic based on the current page and total page
count.

## Additional Context

* The progress bar is rendered with a height of 4 pixels at the very
bottom of the screen (adjusted for margins).
* The feature reuses the existing renderStatusBar logic but
conditionally draws the bar instead of (or in addition to) other
elements depending on the specific implementation details in each
reader.
  * Renamed existing 'Full' mode to 'Full w/ Percentage'
  * Added new 'Full w/ Progress Bar' option

<img
src="https://github.com/user-attachments/assets/08c0dd49-c64c-4d4d-9fbb-f576c02d05d9"
width="500">


---

### AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? _**NO**_
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants