Spinners

spinner_string chooses a spinner by its key: pass one of the strings of the first column. The key is one of the frames of the spinner, not always the first. The spinner moves one frame at every drawing of the bar, and starts again after the last frame. A string that is not a key stops the program, with a message that names it.
How a spinner looks depends on the font of the terminal: the Braille patterns (⠋, ⣾, ...) and the emoji need a font that has them.
spinner_string | Frames | Count |
|---|---|---|
| | | / - \ | 4 |
⠋ | ⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏ | 10 |
⣾ | ⣾ ⣽ ⣻ ⢿ ⡿ ⣟ ⣯ ⣷ | 8 |
⠓ | ⠋ ⠙ ⠚ ⠞ ⠖ ⠦ ⠴ ⠲ ⠳ ⠓ | 10 |
⠄ | ⠄ ⠆ ⠇ ⠋ ⠙ ⠸ ⠰ ⠠ ⠰ ⠸ ⠙ ⠋ ⠇ ⠆ | 14 |
⠐ | ⠋ ⠙ ⠚ ⠒ ⠂ ⠂ ⠒ ⠲ ⠴ ⠦ ⠖ ⠒ ⠐ ⠐ ⠒ ⠓ ⠋ | 17 |
⠒ | ⠈ ⠉ ⠋ ⠓ ⠒ ⠐ ⠐ ⠒ ⠖ ⠦ ⠤ ⠠ ⠠ ⠤ ⠦ ⠖ ⠒ ⠐ ⠐ ⠒ ⠓ ⠋ ⠉ ⠈ | 24 |
⠁ | ⠁ ⠁ ⠉ ⠙ ⠚ ⠒ ⠂ ⠂ ⠒ ⠲ ⠴ ⠤ ⠄ ⠄ ⠤ ⠠ ⠠ ⠤ ⠦ ⠖ ⠒ ⠐ ⠐ ⠒ ⠓ ⠋ ⠉ ⠈ ⠈ | 29 |
⣸ | ⢹ ⢺ ⢼ ⣸ ⣇ ⡧ ⡗ ⡏ | 8 |
⡐ | ⢄ ⢂ ⢁ ⡁ ⡈ ⡐ ⡠ | 7 |
⡀ | ⠁ ⠂ ⠄ ⡀ ⢀ ⠠ ⠐ ⠈ | 8 |
⡃⢐ | ⢀⠀ ⡀⠀ ⠄⠀ ⢂⠀ ⡂⠀ ⠅⠀ ⢃⠀ ⡃⠀ ⠍⠀ ⢋⠀ ⡋⠀ ⠍⠁ ⢋⠁ ⡋⠁ ⠍⠉ ⠋⠉ ⠋⠉ ⠉⠙ ⠉⠙ ⠉⠩ ⠈⢙ ⠈⡙ ⢈⠩ ⡀⢙ ⠄⡙ ⢂⠩ ⡂⢘ ⠅⡘ ⢃⠨ ⡃⢐ ⠍⡐ ⢋⠠ ⡋⢀ ⠍⡁ ⢋⠁ ⡋⠁ ⠍⠉ ⠋⠉ ⠋⠉ ⠉⠙ ⠉⠙ ⠉⠩ ⠈⢙ ⠈⡙ ⠈⠩ ⠀⢙ ⠀⡙ ⠀⠩ ⠀⢘ ⠀⡘ ⠀⠨ ⠀⢐ ⠀⡐ ⠀⠠ ⠀⢀ ⠀⡀ | 56 |
┤ | ┤ ┘ ┴ └ ├ ┌ ┬ ┐ | 8 |
✶ | ✶ ✸ ✹ ✺ ✹ ✷ | 6 |
_ | _ _ _ - ` ` ´ - _ _ _ | 11 |
▃ | ▁ ▃ ▄ ▅ ▆ ▇ ▆ ▅ ▄ ▃ | 10 |
▉ | ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▊ ▋ ▌ ▍ ▎ | 12 |
@ | . o O @ * | 7 |
° | . o O ° O o . | 7 |
▒ | ▓ ▒ ░ | 3 |
⠂ | ⠁ ⠂ ⠄ ⠂ | 4 |
▖ | ▖ ▘ ▝ ▗ | 4 |
◢ | ◢ ◣ ◤ ◥ | 4 |
◜ | ◜ ◠ ◝ ◞ ◡ ◟ | 6 |
⊙ | ◡ ⊙ ◠ | 3 |
◰ | ◰ ◳ ◲ ◱ | 4 |
◴ | ◴ ◷ ◶ ◵ | 4 |
◐ | ◐ ◓ ◑ ◒ | 4 |
⊶ | ⊶ ⊷ | 2 |
▫ | ▫ ▪ | 2 |
□ | □ ■ | 2 |
▪ | ■ □ ▪ ▫ | 4 |
▯ | ▮ ▯ | 2 |
⦿ | ⦾ ⦿ | 2 |
◍ | ◍ ◌ | 2 |
◉ | ◉ ◎ | 2 |
㊂ | ㊂ ㊀ ㊁ | 3 |
( ● ) | ( ● ) ( ● ) ( ● ) ( ● ) ( ●) ( ● ) ( ● ) ( ● ) ( ● ) (● ) | 10 |
🌔 | 🌑 🌒 🌓 🌔 🌕 🌖 🌗 🌘 | 8 |
🚶 | 🚶 🏃 | 2 |
Example
f90
call bar%initialize(prefix_string='march ', bracket_left_string='[', bracket_right_string='] ', &
filled_char_string='#', empty_char_string='.', &
spinner_string='⠋', spinner_color_fg='red', &
width=40, max_value=real(steps, R8P))$ march
march [####################....................] ⠴