All Projects → briandowns → Libspinner

briandowns / Libspinner

Licence: bsd-2-clause
A pure C single-header library with 70+ configurable terminal spinner/progress indicators.

Programming Languages

c
50402 projects - #5 most used programming language
shell
77523 projects

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
Vue Loaders
Vue + loaders.css
Stars: ✭ 127 (+429.17%)
Mutual labels:  spinner, indicator
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
Node Pty
Fork pseudoterminals in Node.JS
Stars: ✭ 827 (+3345.83%)
Mutual labels:  terminal
Dotfiles
Configurations for the tools I use every day
Stars: ✭ 898 (+3641.67%)
Mutual labels:  terminal
Nexphisher
Advanced Phishing tool for Linux & Termux
Stars: ✭ 822 (+3325%)
Mutual labels:  terminal
Pyterminfo
A terminfo-to-python cross compiler
Stars: ✭ 5 (-79.17%)
Mutual labels:  terminal
Clifx
Declarative framework for building command line interfaces
Stars: ✭ 900 (+3650%)
Mutual labels:  terminal
Terminalview
Terminal inside Sublime Text 3 view
Stars: ✭ 897 (+3637.5%)
Mutual labels:  terminal

libspinner

Build Status

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 ←↖↑↗→↘↓↙ Sample Gif
1 ▁▃▄▅▆▇█▇▆▅▄▃▁ Sample Gif
2 ▖▘▝▗ Sample Gif
3 ┤┘┴└├┌┬┐ Sample Gif
4 ◢◣◤◥ Sample Gif
5 ◰◳◲◱ Sample Gif
6 ◴◷◶◵ Sample Gif
7 ◐◓◑◒ Sample Gif
8 [email protected]* Sample Gif
9 |/-\ Sample Gif
10 ◡◡⊙⊙◠◠ Sample Gif
11 ⣾⣽⣻⢿⡿⣟⣯⣷ Sample Gif
12 >))'> >))'> >))'> >))'> >))'> <'((< <'((< <'((< Sample Gif
13 ⠁⠂⠄⡀⢀⠠⠐⠈ Sample Gif
14 ⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏ Sample Gif
15 abcdefghijklmnopqrstuvwxyz Sample Gif
16 ▉▊▋▌▍▎▏▎▍▌▋▊▉ Sample Gif
17 ■□▪▫ Sample Gif
18 ←↑→↓ Sample Gif
19 ╫╪ Sample Gif
20 ⇐⇖⇑⇗⇒⇘⇓⇙ Sample Gif
21 ⠁⠁⠉⠙⠚⠒⠂⠂⠒⠲⠴⠤⠄⠄⠤⠠⠠⠤⠦⠖⠒⠐⠐⠒⠓⠋⠉⠈⠈ Sample Gif
22 ⠈⠉⠋⠓⠒⠐⠐⠒⠖⠦⠤⠠⠠⠤⠦⠖⠒⠐⠐⠒⠓⠋⠉⠈ Sample Gif
23 ⠁⠉⠙⠚⠒⠂⠂⠒⠲⠴⠤⠄⠄⠤⠴⠲⠒⠂⠂⠒⠚⠙⠉⠁ Sample Gif
24 ⠋⠙⠚⠒⠂⠂⠒⠲⠴⠦⠖⠒⠐⠐⠒⠓⠋ Sample Gif
25 ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン Sample Gif
26 . .. ... Sample Gif
27 ▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▏▎▍▌▋▊▉█▇▆▅▄▃▂▁ Sample Gif
28 .oO°Oo. Sample Gif
29 +x Sample Gif
30 v<^> Sample Gif
31 >>---> >>---> >>---> >>---> >>---> <---<< <---<< <---<< <---<< <---<< Sample Gif
32 | || ||| |||| ||||| |||||| ||||| |||| ||| || | Sample Gif
33 [] [=] [==] [===] [====] [=====] [======] [=======] [========] [=========] [==========] Sample Gif
34 (*---------) (-*--------) (--*-------) (---*------) (----*-----) (-----*----) (------*---) (-------*--) (--------*-) (---------*) Sample Gif
35 █▒▒▒▒▒▒▒▒▒ ███▒▒▒▒▒▒▒ █████▒▒▒▒▒ ███████▒▒▒ ██████████ Sample Gif
36 [ ] [=> ] [===> ] [=====> ] [======> ] [========> ] [==========> ] [============> ] [==============> ] [================> ] [==================> ] [===================>] Sample Gif
37 🌍 🌎 🌏 Sample Gif
38 ◜ ◝ ◞ ◟ Sample Gif
39 ⬒ ⬔ ⬓ ⬕ Sample Gif
40 ⬖ ⬘ ⬗ ⬙ Sample Gif
41 [>>> >] []>>>> [] [] >>>> [] [] >>>> [] [] >>>> [] [] >>>>[] [>> >>] Sample Gif

Contributing

Please feel free to open a PR!

License

libspinner source code is available under the BSD 2 clause License.

Contact

@bdowns328

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].