Add vi-ish navigation to first and last slide
authorAnders Damsgaard <anders.damsgaard@geo.au.dk>
Tue, 3 Feb 2015 09:27:51 +0000 (10:27 +0100)
committerAnders Damsgaard <anders.damsgaard@geo.au.dk>
Tue, 3 Feb 2015 09:27:51 +0000 (10:27 +0100)
Navigate to first and last slide with 'g' and 'G', respectively. This resembles
the behavior of vi, that uses 'gg' and 'G' for the first and last lines in a
file. These keybinds are useful for keyboards without dedicated home/end keys.

sample.md
src/viewer.c

index b717393..95d767e 100644 (file)
--- a/sample.md
+++ b/sample.md
@@ -18,8 +18,8 @@ previous slide  *Backspace*, *Page Up*, *h*, *k*,
 quit            *q*
 reload          *r*
 slide N         *1..9*
-first slide     *Home*
-last slide      *End*
+first slide     *Home*, *g*
+last slide      *End*, *G*
 
 -------------------------------------------------
 
index b540b1a..3e391b1 100644 (file)
@@ -394,12 +394,14 @@ int ncurses_display(deck_t *deck, int notrans, int nofade, int invert, int reloa
                 break;
 
             // show first slide
+            case 'g':
             case KEY_HOME:
                 slide = deck->slide;
                 sc = 1;
                 break;
 
             // show last slide
+            case 'G':
             case KEY_END:
                 for(i = sc; i <= deck->slides; i++) {
                     if(slide->next) {