NAME Progress::Any::Output::TermProgressBarColor - Output progress to terminal as color bar VERSION version 0.04 SYNOPSIS use Progress::Any::Output; Progress::Any::Output->set('TermProgressBarColor', width=>50); DESCRIPTION THIS IS AN EARLY RELEASE, SOME THINGS ARE NOT YET IMPLEMENTED E.G. TEMPLATE, STYLES, COLOR THEMES. This output displays progress indicators as colored progress bar on terminal. It produces output similar to that produced by Term::ProgressBar, except that it uses the Progress::Any framework and has additional features: * colors and color themes * template and styles * wide character support * displaying message text in addition to bar/percentage number XXX option to cleanup when complete or not (like in Term::ProgressBar) and should default to 1. METHODS new(%args) => OBJ Instantiate. Usually called through "Progress::Any::Output->set("TermProgressBarColor", %args)". Known arguments: * width => INT Width of progress bar. The default is to detect terminal width and use the whole width. * color_theme => STR Choose color theme. To see what color themes are available, use "list_color_themes()". * style => STR Choose style. To see what styles are available, use "list_styles()". Styles determine the characters used for drawing the bar, alignment, etc. * template => STR (default: '%p [%B]%e') See fill_template in Progress::Any's documentation. Aside from template strings supported by Progress::Any, this output recognizes these additional strings: %b to display the progress bar (using the rest of the available width), %B to display the progress bar as well as the message inside it. ENVIRONMENT COLOR => BOOL Can be used to force or disable color. COLOR_DEPTH => INT Can be used to override color depth detection. See Color::ANSI::Util. COLUMNS => INT Can be used to override terminal width detection. TODO Background updating (through threads or forked process), so progress can still be updated even though the main process is waiting on I/O or external process. But we need to think of a good way to synchronize output. Animations, like rotating line ("- / | \ -") or pulsating (". o O o ."). Also animation by varying colors. Detect connection speed and degrade to lower-frequency updating if connection is slow. Styles. Preset formats as well as some behaviors like animation. Detection of column change. On each update(), retrieve terminal width again. SEE ALSO Progress::Any Term::ProgressBar Ruby library: ruby-progressbar, AUTHOR Steven Haryanto COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Steven Haryanto. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.