no offset for normal text
[smdp.git] / viewer.c
index ffe1c97..5494670 100644 (file)
--- a/viewer.c
+++ b/viewer.c
@@ -116,9 +116,11 @@ int ncurses_display(deck_t *deck, int notrans, int nofade) {
         start_color();
         use_default_colors();
 
-        if(notrans) trans = 0; // 0 is black
+        if(notrans) trans = 0; // black in 8 color mode
 
         if(COLORS == 256) {
+            if(notrans) trans = 16; // black in 256 color mode
+
             // 256 color mode
             init_pair(CP_WHITE, 255, trans);
             init_pair(CP_BLUE, 123, trans);
@@ -154,6 +156,9 @@ int ncurses_display(deck_t *deck, int notrans, int nofade) {
         werase(content);
         werase(stdscr);
 
+        // always resize window in case terminal geometry has changed
+        wresize(content, LINES - bar_top - bar_bottom, COLS);
+
         // setup header
         if(bar_top) {
             line = deck->header;
@@ -165,12 +170,14 @@ int ncurses_display(deck_t *deck, int notrans, int nofade) {
         }
 
         // setup footer
-        line = deck->header->next;
-        offset = next_blank(line->text, 0) + 1;
-        // add text to left footer
-        mvwprintw(stdscr,
-                  LINES - 1, 3,
-                  "%s", &line->text->text[offset]);
+        if(deck->headers > 1) {
+            line = deck->header->next;
+            offset = next_blank(line->text, 0) + 1;
+            // add text to left footer
+            mvwprintw(stdscr,
+                      LINES - 1, 3,
+                      "%s", &line->text->text[offset]);
+        }
         // add slide number to right footer
         mvwprintw(stdscr,
                   LINES - 1, COLS - int_length(deck->slides) - int_length(sc) - 6,
@@ -312,7 +319,6 @@ void add_line(WINDOW *window, int y, int x, line_t *line, int max_cols) {
 
     if(line->text->text) {
         int offset = 0; // text offset
-        offset = next_nonblank(line->text, 0);
 
         // IS_CODE
         if(CHECK_BIT(line->bits, IS_CODE)) {