diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -131,9 +131,15 @@ read_stdin(void *ptr) { return -2; } else { while((n_off = chomp(buf, retbuf, n_off, n))) { - if(!dzen.slave_win.ishmenu && !dzen.cur_line || !dzen.slave_win.max_lines) { + if( !dzen.slave_win.ishmenu + && dzen.tsupdate + && dzen.slave_win.max_lines + && ( (dzen.cur_line == 0) || !(dzen.cur_line % (dzen.slave_win.max_lines+1)))) + drawheader(retbuf); + else if(!dzen.slave_win.ishmenu + && !dzen.tsupdate + && !dzen.cur_line || !dzen.slave_win.max_lines) drawheader(retbuf); - } else drawbody(retbuf); dzen.cur_line++; @@ -569,12 +575,16 @@ main(int argc, char *argv[]) { dzen.slave_win.max_lines = 0; dzen.running = True; dzen.xinescreen = 0; + dzen.tsupdate = 0; /* cmdline args */ for(i = 1; i < argc; i++) if(!strncmp(argv[i], "-l", 3)){ if(++i < argc) dzen.slave_win.max_lines = atoi(argv[i]); } + else if(!strncmp(argv[i], "-u", 3)){ + dzen.tsupdate = True; + } else if(!strncmp(argv[i], "-p", 3)) { dzen.ispersistent = True; if (i+1 < argc) { |