Skip to content

Embed progress information inside of a ProgressBar #771

@bepri

Description

@bepri

I'm wondering if it's currently possible to embed progress bar information inside of the progress chars of a ProgressBar.

An example in the wild of the behavior I'm trying to describe is snapd, as it downloads a file:

Image

I think this may be possible with a custom impl of ProgressTracker, but I'm having a hard time figuring out a way to embed the output of keys like msg inside of my ProgressTracker. Is there a better way? Is there interest in supporting this?

For context on the "why", screen readers for the visually impaired ignore ANSI escape sequences, such as those for color. I wish to leverage this by creating a progress bar that simply changes the background color to indicate progress to avoid clutter in what's read out. I know this is possible already with alternate string styles using console::Style::from_dotted_str, but for visual continuity I'd want to then wrap the progress bar in brackets, such as the one seen in the "download" example in this repository. However, these brackets would then be read by a screen reader, adding noise. I think given these constraints, the "embedded" style is probably the nicest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions