It is often useful to display a progress bar showing the state of a task. `MG_Progress` can easily be used to display a progress bar, percent completion, and estimated time to completion. As a simple example, let's pretend to load 100 items (while actually just waiting a bit):

foreach i, mg_progress(indgen(100), title='Loading') do wait, 0.1

The above line produces the following output:

Code for [mg_progress__define] is on GitHub (you will need [mg_statusline] also). See the code docs for the many other options that can be used with `MG_Progress` like dealing with a list of items that don't all take equal time and customizing the display.

[mg_progress__define]: https://github.com/mgalloy/mglib/blob/master/src/cmdline_tools/mg_progress__define.pro "mglib/mg_progress__define.pro"

[mg_statusline]: https://github.com/mgalloy/mglib/blob/master/src/cmdline_tools/mg_statusline.pro "mglib/mg_statusline.pro"