aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 4695d62..9b924ec 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -29,9 +29,12 @@ main(int argc, char *argv[])
if (!cfg)
die("[err]: malloc failed\n");
+ /* Setting up a default readable speed */
cfg->speed = 250000;
int& speed = cfg->speed;
+ /* Initially application not paused */
+ cfg->pause = 1;
enable_raw(cfg);
init_editor(cfg);
@@ -69,26 +72,33 @@ main(int argc, char *argv[])
continue;
window_size_callback(cfg);
editor_refresh_scrn(cfg);
- consumer(queue, cfg);
+ consumer(queue, cfg);
+ if (0 == cfg->pause) {
+ for (;;) {
+ consumer(queue, cfg);
+ if (1 == cfg->pause) {
+ break;
+
+ }
+ }
+ }
{
- int mid = (int)k->size() / 2;
- int remaining = (int)k->size() - mid - 1;
- const char *cstr = k->c_str();
+ int mid = (int)k->size() / 2;
+ int remaining = (int)k->size() - mid - 1;
+ const char *cstr = k->c_str();
const char message[] = "Current delay: ";
char buf[32];
- int len{};
-
+ int len = snprintf(buf, sizeof(buf), "%d", cfg->speed);
write(STDOUT_FILENO, cstr, mid);
write(STDOUT_FILENO, "\x1b[31m", 5);
write(STDOUT_FILENO, cstr + mid, 1);
write(STDOUT_FILENO, "\x1b[m", 3);
write(STDOUT_FILENO, cstr + mid + 1, remaining);
-
write(STDOUT_FILENO, "\x1b[H", 3);
write(STDOUT_FILENO, message, sizeof(message)-1);
- len = snprintf(buf, sizeof(buf), "%d", cfg->speed);
write(STDOUT_FILENO, buf, len);
+ write(STDOUT_FILENO, "\n\r", 2);
}
usleep(speed);
}