mirror of
https://github.com/p-ranav/indicators.git
synced 2025-12-11 17:08:52 +08:00
Formatted sample
This commit is contained in:
@@ -15,33 +15,30 @@ int main() {
|
||||
p1.fill_progress_with("■");
|
||||
p1.lead_progress_with("■");
|
||||
p1.fill_remainder_with(" ");
|
||||
p1.end_with("]");
|
||||
p1.end_with("]");
|
||||
p1.color(ProgressBar::Color::YELLOW);
|
||||
|
||||
std::atomic<size_t> index1{0};
|
||||
std::vector<std::string> status_text1 =
|
||||
{
|
||||
"Rocket.exe is not responding",
|
||||
"Buying more snacks",
|
||||
"Finding a replacement engineer",
|
||||
"Assimilating the modding community",
|
||||
"Crossing fingers",
|
||||
"Porting KSP to a Nokia 3310",
|
||||
"Flexing struts",
|
||||
"Releasing space whales",
|
||||
"Watching paint dry"
|
||||
};
|
||||
|
||||
std::vector<std::string> status_text1 = {"Rocket.exe is not responding",
|
||||
"Buying more snacks",
|
||||
"Finding a replacement engineer",
|
||||
"Assimilating the modding community",
|
||||
"Crossing fingers",
|
||||
"Porting KSP to a Nokia 3310",
|
||||
"Flexing struts",
|
||||
"Releasing space whales",
|
||||
"Watching paint dry"};
|
||||
|
||||
auto job1 = [&p1, &index1, &status_text1]() {
|
||||
while (true) {
|
||||
if (p1.completed())
|
||||
break;
|
||||
p1.set_status_text(status_text1[index1 % status_text1.size()]);
|
||||
p1.set_progress(index1 * 10);
|
||||
index1 += 1;
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(600));
|
||||
}
|
||||
};
|
||||
while (true) {
|
||||
if (p1.completed())
|
||||
break;
|
||||
p1.set_status_text(status_text1[index1 % status_text1.size()]);
|
||||
p1.set_progress(index1 * 10);
|
||||
index1 += 1;
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(600));
|
||||
}
|
||||
};
|
||||
std::thread thread1(job1);
|
||||
thread1.join();
|
||||
|
||||
@@ -58,18 +55,19 @@ int main() {
|
||||
p3.color(ProgressBar::Color::WHITE);
|
||||
p3.show_percentage(false);
|
||||
auto job3 = [&p3]() {
|
||||
while (true) {
|
||||
p3.start_with("Reading package list... " + std::to_string(p3.current()) + "% ");
|
||||
if (p3.current() + 2 >= 100)
|
||||
p3.start_with("Reading package list... Done");
|
||||
p3.tick();
|
||||
if (p3.completed()) {
|
||||
break;
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(25));
|
||||
}
|
||||
};
|
||||
std::thread thread3(job3);
|
||||
while (true) {
|
||||
p3.start_with("Reading package list... " + std::to_string(p3.current()) +
|
||||
"% ");
|
||||
if (p3.current() + 2 >= 100)
|
||||
p3.start_with("Reading package list... Done");
|
||||
p3.tick();
|
||||
if (p3.completed()) {
|
||||
break;
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(25));
|
||||
}
|
||||
};
|
||||
std::thread thread3(job3);
|
||||
thread3.join();
|
||||
|
||||
//
|
||||
@@ -85,23 +83,23 @@ int main() {
|
||||
p2.set_status_text("Getting started");
|
||||
p2.color(ProgressBar::Color::GREEN);
|
||||
auto job2 = [&p2]() {
|
||||
while (true) {
|
||||
auto ticks = p2.current();
|
||||
if (ticks > 20 && ticks < 50)
|
||||
p2.set_status_text("Delaying the inevitable");
|
||||
else if (ticks > 50 && ticks < 80)
|
||||
p2.set_status_text("Crying quietly");
|
||||
else if (ticks > 80 && ticks < 98)
|
||||
p2.set_status_text("Almost there");
|
||||
else if (ticks >= 98)
|
||||
p2.set_status_text("Done");
|
||||
p2.tick();
|
||||
if (p2.completed())
|
||||
break;
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(30));
|
||||
}
|
||||
};
|
||||
std::thread thread2(job2);
|
||||
while (true) {
|
||||
auto ticks = p2.current();
|
||||
if (ticks > 20 && ticks < 50)
|
||||
p2.set_status_text("Delaying the inevitable");
|
||||
else if (ticks > 50 && ticks < 80)
|
||||
p2.set_status_text("Crying quietly");
|
||||
else if (ticks > 80 && ticks < 98)
|
||||
p2.set_status_text("Almost there");
|
||||
else if (ticks >= 98)
|
||||
p2.set_status_text("Done");
|
||||
p2.tick();
|
||||
if (p2.completed())
|
||||
break;
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(30));
|
||||
}
|
||||
};
|
||||
std::thread thread2(job2);
|
||||
thread2.join();
|
||||
|
||||
//
|
||||
@@ -111,59 +109,60 @@ int main() {
|
||||
p5.bar_width(100);
|
||||
p5.start_with("🌏");
|
||||
p5.fill_progress_with("·");
|
||||
p5.lead_progress_with("🛸");
|
||||
p5.lead_progress_with("🛸");
|
||||
p5.fill_remainder_with(" ");
|
||||
p5.end_with("🌑");
|
||||
p5.show_percentage(true);
|
||||
p5.color(ProgressBar::Color::WHITE);
|
||||
auto job5 = [&p5]() {
|
||||
while (true) {
|
||||
if (p5.current() % 5 == 0) {
|
||||
p5.fill_progress_with("·");
|
||||
} else {
|
||||
p5.fill_progress_with(" ");
|
||||
}
|
||||
p5.tick();
|
||||
if (p5.completed()) {
|
||||
break;
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(75));
|
||||
}
|
||||
};
|
||||
std::thread thread5(job5);
|
||||
thread5.join();
|
||||
while (true) {
|
||||
if (p5.current() % 5 == 0) {
|
||||
p5.fill_progress_with("·");
|
||||
} else {
|
||||
p5.fill_progress_with(" ");
|
||||
}
|
||||
p5.tick();
|
||||
if (p5.completed()) {
|
||||
break;
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(75));
|
||||
}
|
||||
};
|
||||
std::thread thread5(job5);
|
||||
thread5.join();
|
||||
|
||||
//
|
||||
// PROGRESS BAR 4
|
||||
//
|
||||
std::vector<std::string> lead_spinner{"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"};
|
||||
std::vector<std::string> lead_spinner{"⠋", "⠙", "⠹", "⠸", "⠼",
|
||||
"⠴", "⠦", "⠧", "⠇", "⠏"};
|
||||
ProgressBar p4;
|
||||
p4.bar_width(50);
|
||||
p4.start_with("[");
|
||||
p4.fill_progress_with("⠸");
|
||||
p4.lead_progress_with("");
|
||||
p4.lead_progress_with("");
|
||||
p4.fill_remainder_with(" ");
|
||||
p4.end_with(" ]");
|
||||
p4.color(ProgressBar::Color::CYAN);
|
||||
p4.set_status_text("Restoring system state");
|
||||
std::atomic<size_t> index4{0};
|
||||
auto job4 = [&p4, &index4, &lead_spinner]() {
|
||||
while (true) {
|
||||
p4.lead_progress_with(lead_spinner[index4 % lead_spinner.size()]);
|
||||
index4 += 1;
|
||||
if (p4.current() + 2 >= 100)
|
||||
p4.set_status_text("State restored to Restore_Point_1241531");
|
||||
p4.tick();
|
||||
if (p4.completed()) {
|
||||
break;
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
||||
}
|
||||
};
|
||||
std::thread thread4(job4);
|
||||
while (true) {
|
||||
p4.lead_progress_with(lead_spinner[index4 % lead_spinner.size()]);
|
||||
index4 += 1;
|
||||
if (p4.current() + 2 >= 100)
|
||||
p4.set_status_text("State restored to Restore_Point_1241531");
|
||||
p4.tick();
|
||||
if (p4.completed()) {
|
||||
break;
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
||||
}
|
||||
};
|
||||
std::thread thread4(job4);
|
||||
thread4.join();
|
||||
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
|
||||
|
||||
// Show cursor
|
||||
std::cout << "\e[?25h";
|
||||
|
||||
Reference in New Issue
Block a user