briandowns / Libspinner
Licence: bsd-2-clause
A pure C single-header library with 70+ configurable terminal spinner/progress indicators.
Stars: ✭ 24
Projects that are alternatives of or similar to Libspinner
Spinner
Go (golang) package with 90 configurable terminal spinner/progress indicators.
Stars: ✭ 1,637 (+6720.83%)
Mutual labels: terminal, spinner, indicator
Mpb
multi progress bar for Go cli applications
Stars: ✭ 1,221 (+4987.5%)
Mutual labels: terminal, spinner
Spinnercpp
Simple header only library to add a spinner / progress indicator to any terminal application.
Stars: ✭ 37 (+54.17%)
Mutual labels: terminal, spinner
Php Console Spinner
Colorful highly configurable spinner for php cli applications (suitable for async apps)
Stars: ✭ 225 (+837.5%)
Mutual labels: terminal, spinner
Whirly
Colorful Terminal Spinner for Ruby 😀︎
Stars: ✭ 295 (+1129.17%)
Mutual labels: terminal, spinner
Alive Progress
A new kind of Progress Bar, with real-time throughput, ETA, and very cool animations!
Stars: ✭ 2,940 (+12150%)
Mutual labels: terminal, spinner
Instagramactivityindicator
Activity Indicator similar to Instagram's.
Stars: ✭ 138 (+475%)
Mutual labels: spinner, indicator
Progress bar
Command-line progress bars and spinners for Elixir.
Stars: ✭ 281 (+1070.83%)
Mutual labels: terminal, spinner
loading-indicator
🚦 Simple and customizable command line loading indicator
Stars: ✭ 18 (-25%)
Mutual labels: spinner, indicator
loading
Laravel package to add loading indicator to pages while page is loading.
Stars: ✭ 38 (+58.33%)
Mutual labels: spinner, indicator
Yaspin
A lightweight terminal spinner for Python with safe pipes and redirects 🎁
Stars: ✭ 413 (+1620.83%)
Mutual labels: terminal, spinner
Tty Spinner
A terminal spinner for tasks that have non-deterministic time frame.
Stars: ✭ 386 (+1508.33%)
Mutual labels: terminal, spinner
Vue Loading Overlay
Vue.js component for full screen loading indicator 🌀
Stars: ✭ 784 (+3166.67%)
Mutual labels: spinner, indicator
Dotfiles
Configurations for the tools I use every day
Stars: ✭ 898 (+3641.67%)
Mutual labels: terminal
Clifx
Declarative framework for building command line interfaces
Stars: ✭ 900 (+3650%)
Mutual labels: terminal
libspinner
libspinner is a C single-headerlibrary that provides terminal spinners and progress indicators to display in the terminal. This is a port of the Go library here.
NOTE: Be sure to call spinner_stop(s)
in any signal handlers or clean up routines so the underlying pthread doesn't leak.
An example can be found in the examples
directory.
Test
make test
Features
- Start
- Stop
- Restart
- Reverse direction [in progress]
- Update the spinner character set
- Update the spinner speed
- Prefix or append text
- Change spinner color, background, and text attributes such as bold / italics [in progress]
- Chain, pipe, redirect output
- Output final string on spinner/indicator completion
(sample of) Available Character Sets
(cursor not visible in normal operation)
index | character set | sample gif |
---|---|---|
0 | ←↖↑↗→↘↓↙ |
|
1 | ▁▃▄▅▆▇█▇▆▅▄▃▁ |
|
2 | ▖▘▝▗ |
|
3 | ┤┘┴└├┌┬┐ |
|
4 | ◢◣◤◥ |
|
5 | ◰◳◲◱ |
|
6 | ◴◷◶◵ |
|
7 | ◐◓◑◒ |
|
8 | [email protected]* |
|
9 | |/-\ |
|
10 | ◡◡⊙⊙◠◠ |
|
11 | ⣾⣽⣻⢿⡿⣟⣯⣷ |
|
12 | >))'> >))'> >))'> >))'> >))'> <'((< <'((< <'((< |
|
13 | ⠁⠂⠄⡀⢀⠠⠐⠈ |
|
14 | ⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏ |
|
15 | abcdefghijklmnopqrstuvwxyz |
|
16 | ▉▊▋▌▍▎▏▎▍▌▋▊▉ |
|
17 | ■□▪▫ |
|
18 | ←↑→↓ |
|
19 | ╫╪ |
|
20 | ⇐⇖⇑⇗⇒⇘⇓⇙ |
|
21 | ⠁⠁⠉⠙⠚⠒⠂⠂⠒⠲⠴⠤⠄⠄⠤⠠⠠⠤⠦⠖⠒⠐⠐⠒⠓⠋⠉⠈⠈ |
|
22 | ⠈⠉⠋⠓⠒⠐⠐⠒⠖⠦⠤⠠⠠⠤⠦⠖⠒⠐⠐⠒⠓⠋⠉⠈ |
|
23 | ⠁⠉⠙⠚⠒⠂⠂⠒⠲⠴⠤⠄⠄⠤⠴⠲⠒⠂⠂⠒⠚⠙⠉⠁ |
|
24 | ⠋⠙⠚⠒⠂⠂⠒⠲⠴⠦⠖⠒⠐⠐⠒⠓⠋ |
|
25 | ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン |
|
26 | . .. ... |
|
27 | ▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▏▎▍▌▋▊▉█▇▆▅▄▃▂▁ |
|
28 | .oO°Oo. |
|
29 | +x |
|
30 | v<^> |
|
31 | >>---> >>---> >>---> >>---> >>---> <---<< <---<< <---<< <---<< <---<< |
|
32 | | || ||| |||| ||||| |||||| ||||| |||| ||| || | |
|
33 | [] [=] [==] [===] [====] [=====] [======] [=======] [========] [=========] [==========] |
|
34 | (*---------) (-*--------) (--*-------) (---*------) (----*-----) (-----*----) (------*---) (-------*--) (--------*-) (---------*) |
|
35 | █▒▒▒▒▒▒▒▒▒ ███▒▒▒▒▒▒▒ █████▒▒▒▒▒ ███████▒▒▒ ██████████ |
|
36 | [ ] [=> ] [===> ] [=====> ] [======> ] [========> ] [==========> ] [============> ] [==============> ] [================> ] [==================> ] [===================>] |
|
37 | 🌍 🌎 🌏 |
|
38 | ◜ ◝ ◞ ◟ |
|
39 | ⬒ ⬔ ⬓ ⬕ |
|
40 | ⬖ ⬘ ⬗ ⬙ |
|
41 | [>>> >] []>>>> [] [] >>>> [] [] >>>> [] [] >>>> [] [] >>>>[] [>> >>] |
Contributing
Please feel free to open a PR!
License
libspinner source code is available under the BSD 2 clause License.
Contact
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].