andreasknoben/Laser
2
28
Fork
You've already forked Laser
9

Add overall rip progress bar to content area #92

Merged
andreasknoben merged 3 commits from tduarte/Laser:feat/rip-progress-bar into develop 2026年05月09日 10:28:21 +02:00
Contributor
Copy link

When I first tried to use Laser, I though for a moment that there was no progress indicator because the icons are so subtle. I wanted to make sure this doesn't happen with other users, but also keeps the clean and minimal interface. This PR adds a progress bar to the top of the content area that shows overall ripping progress across all tracks.

  • Slides down on rip start, hides on completion / error / cancel
  • Advances by 1/n_tracks after each track completes (sequential rips → monotonic)
  • No labels or percentage — just a clean bar
  • Square corners via a small .rip-progress CSS rule

Test plan

  • Insert a CD, click Rip → bar appears at top, fills monotonically, hides on finish
  • Stop rip mid-way → bar hides immediately
  • Trigger an error path → bar hides via the unified _on_ripper_finished
  • In offline mode, banner + progress bar coexist cleanly
When I first tried to use Laser, I though for a moment that there was no progress indicator because the icons are so subtle. I wanted to make sure this doesn't happen with other users, but also keeps the clean and minimal interface. This PR adds a progress bar to the top of the content area that shows overall ripping progress across all tracks. - Slides down on rip start, hides on completion / error / cancel - Advances by 1/n_tracks after each track completes (sequential rips → monotonic) - No labels or percentage — just a clean bar - Square corners via a small .rip-progress CSS rule **Test plan** - Insert a CD, click Rip → bar appears at top, fills monotonically, hides on finish - Stop rip mid-way → bar hides immediately - Trigger an error path → bar hides via the unified _on_ripper_finished - In offline mode, banner + progress bar coexist cleanly
Displays a progress bar at the top of the content area during ripping,
advancing by one step per completed track. The bar slides down on rip
start, fills monotonically as tracks finish, and hides when the rip
completes, errors, or is cancelled.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Hi, thank you so much for your contribution! I agree with you that a progress bar would be a better way to indicate progress.

However, to achieve this look, perhaps it's better to use the "built-in" thin progress bar. The documentation says this requires a GtkOverlay (presumably instead of the Revealer you've used now).

I can have a look at this if you want, to integrate it with your changes; but let me know if you'd prefer to do so yourself.

Thanks again for the PR!

Hi, thank you so much for your contribution! I agree with you that a progress bar would be a better way to indicate progress. However, to achieve this look, perhaps it's better to use the ["built-in" thin progress bar](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/style-classes.html#progress-bars). The documentation says this requires a GtkOverlay (presumably instead of the Revealer you've used now). I can have a look at this if you want, to integrate it with your changes; but let me know if you'd prefer to do so yourself. Thanks again for the PR!
Author
Contributor
Copy link

Hi @andreasknoben ! I knew there was something like that on Adwaita but when I was working on this I don't know why, I couldn't find it! I can update the PR, no problem! Thank you for flagging!

Hi @andreasknoben ! I knew there was something like that on Adwaita but when I was working on this I don't know why, I couldn't find it! I can update the PR, no problem! Thank you for flagging!
Replace the custom Revealer + border-radius CSS with the built-in thin
progress bar, per maintainer feedback: wrap the ViewStack in a
GtkOverlay and use a GtkProgressBar with the .osd style class anchored
to the top, toggling its visibility instead of revealing a child.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Author
Contributor
Copy link

Just to let you know, when testing the UI I got an error after the last song, I can't see how this change would affect that behavior, so you might want to test ripping another CD. I will try it again with another one later too. Update pushed though!

Just to let you know, when testing the UI I got an error after the last song, I can't see how this change would affect that behavior, so you might want to test ripping another CD. I will try it again with another one later too. Update pushed though!

Hi @tduarte , thank you for implementing the OSD-style progress bar! This looks good - I'll merge it. Is it okay if I list you under contributors, and would it be okay as (tduarte, https://codeberg.org/tduarte)?

I've been updating the ripping logic ever so slightly to accommodate CDs with non-audio tracks. I'll merge your code, then merge that fix (and adapt the progress bar logic slightly to fit it), and please give it a try after that. If you still get the error, it'd be great if you could open an issue!

Hi @tduarte , thank you for implementing the OSD-style progress bar! This looks good - I'll merge it. Is it okay if I list you under contributors, and would it be okay as (tduarte, https://codeberg.org/tduarte)? I've been updating the ripping logic ever so slightly to accommodate CDs with non-audio tracks. I'll merge your code, then merge that fix (and adapt the progress bar logic slightly to fit it), and please give it a try after that. If you still get the error, it'd be great if you could open an issue!

@tduarte The latest develop build should include these changes. Thanks again for your contribution!

@tduarte The latest `develop` build should include these changes. Thanks again for your contribution!
Author
Contributor
Copy link

@andreasknoben wrote in #92 (comment):

Hi @tduarte , thank you for implementing the OSD-style progress bar! This looks good - I'll merge it. Is it okay if I list you under contributors, and would it be okay as (tduarte, https://codeberg.org/tduarte)?

I've been updating the ripping logic ever so slightly to accommodate CDs with non-audio tracks. I'll merge your code, then merge that fix (and adapt the progress bar logic slightly to fit it), and please give it a try after that. If you still get the error, it'd be great if you could open an issue!

No, thank YOU! Great project!

It can be! I actually registered here because of this PR so I don't use it too much. But I also have a GNOME Gitlab.

Thanks for merging! Excited about this project, especially now that I have been buying more and more CDs to make my own collection.

@andreasknoben wrote in https://codeberg.org/andreasknoben/Laser/pulls/92#issuecomment-14541912: > Hi @tduarte , thank you for implementing the OSD-style progress bar! This looks good - I'll merge it. Is it okay if I list you under contributors, and would it be okay as (tduarte, https://codeberg.org/tduarte)? > > I've been updating the ripping logic ever so slightly to accommodate CDs with non-audio tracks. I'll merge your code, then merge that fix (and adapt the progress bar logic slightly to fit it), and please give it a try after that. If you still get the error, it'd be great if you could open an issue! No, thank YOU! Great project! It can be! I actually registered here because of this PR so I don't use it too much. But I also have a [GNOME Gitlab](https://gitlab.gnome.org/tduarte). Thanks for merging! Excited about this project, especially now that I have been buying more and more CDs to make my own collection.
tduarte deleted branch feat/rip-progress-bar 2026年05月09日 19:04:34 +02:00
Sign in to join this conversation.
No reviewers
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
andreasknoben/Laser!92
Reference in a new issue
andreasknoben/Laser
No description provided.
Delete branch "tduarte/Laser:feat/rip-progress-bar"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?