def from_char(
            cls, char, name=None, width=None, fill_char=None,
            bounce=False, reverse=False, back_char=None, wrapper=None):
        """ Create progress bar frames from a "moving" character.
            The frames simulate movement of the character, from left to
            right through empty space (`fill_char`).

            Arguments:
                char           : Character to move across the bar.
                name           : Name for the new BarSet.
                width          : Width of the progress bar.
                                 Default: 25
                fill_char      : Character to fill empty space.
                                 Default: ' ' (space)
                bounce         : Whether the frames should simulate a bounce
                                 from one side to another.
                                 Default: False
                reverse        : Whether the character should start on the
                                 right.
                                 Default: False
                back_char  : Character to use when "bouncing" backward.
                                 Default: `char`
        """
        return cls(
            cls._generate_move(
                char,
                width=width or cls.default_width,
                fill_char=str(fill_char or cls.default_fill_char),
                bounce=bounce,
                reverse=reverse,
                back_char=back_char,
            ),
            name=name,
            wrapper=wrapper or cls.default_wrapper,
        )