From bf21f005501bbdbc8a19392a58ad6cdaacdb1bb7 Mon Sep 17 00:00:00 2001 From: Mark Date: Tue, 31 Dec 2019 13:18:17 +0200 Subject: [PATCH] Add clear command --- README.md | 2 ++ doc/demo0.png | Bin 0 -> 41723 bytes usr/init.c | 12 ++++++++++++ 3 files changed, 14 insertions(+) create mode 100644 doc/demo0.png diff --git a/README.md b/README.md index dc15387..f5d9b62 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ project which tries to follow the Unix principles (sheesh, yet another POSIX OS?) and is loosely inspired by stuff like Linux, BSD and other *nixes I've laid my hands on so far. +![alt text](doc/demo0.png "Demo") + Building -------- diff --git a/doc/demo0.png b/doc/demo0.png new file mode 100644 index 0000000000000000000000000000000000000000..d14615a50d5d95d404e2e9e3bb4604f1791ab1ba GIT binary patch literal 41723 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 KryjDn_P+oL9=~${ literal 0 HcmV?d00001 diff --git a/usr/init.c b/usr/init.c index 8e2020e..f4ee9e7 100644 --- a/usr/init.c +++ b/usr/init.c @@ -38,6 +38,7 @@ static int b_cat(const char *path); static int b_curs(const char *arg); static int b_sleep(const char *arg); static int b_help(const char *arg); +static int b_clear(const char *arg); static struct builtin builtins[] = { { @@ -70,6 +71,11 @@ static struct builtin builtins[] = { "Sleep N seconds", b_sleep }, + { + "clear", + "Clear terminal", + b_clear, + }, { "help", "Please help me", @@ -214,6 +220,12 @@ static int b_sleep(const char *arg) { return 0; } +static int b_clear(const char *arg) { + clear(); + curs_set(1, 1); + return 0; +} + static int b_help(const char *arg) { if (arg) { // Describe a specific command