aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/Makefile.am1
-rw-r--r--doc/intro.txt15
-rw-r--r--src/calcurse.c3
3 files changed, 19 insertions, 0 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 8c74706..6c549c9 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -29,6 +29,7 @@ dist_doc_DATA = \
general.txt \
goto.txt \
import.txt \
+ intro.txt \
main.txt \
manual.txt \
other.txt \
diff --git a/doc/intro.txt b/doc/intro.txt
new file mode 100644
index 0000000..a841739
--- /dev/null
+++ b/doc/intro.txt
@@ -0,0 +1,15 @@
+calcurse Online Help
+====================
+
+Welcome to the calcurse online help. The online help system allows for easily
+getting help on specific calcurse features.
+
+On the calcurse main screen, type `:help <feature>` (e.g. `:help add`) to get
+help on a specific feature. Type `:help` without any parameter to display this
+introduction or simply use the corresponding keyboard shortcut (`?` by
+default).
+
+All help texts are displayed using an external pager. You need to exit the
+pager in order to get back to calcurse (pressing `q` should almost always
+work). The default pager can be changed by setting the PAGER environment
+variable.
diff --git a/src/calcurse.c b/src/calcurse.c
index d20e9d0..859bc1e 100644
--- a/src/calcurse.c
+++ b/src/calcurse.c
@@ -503,6 +503,9 @@ static inline void key_generic_cmd(void)
char *topic = strtok(NULL, " ");
char path[BUFSIZ];
+ if (!topic)
+ topic = "intro";
+
snprintf(path, BUFSIZ, DOCDIR "/%s.txt", topic);
if (io_file_exist(path)) {
wins_launch_external(path, conf.pager);