aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dzen.h1
-rw-r--r--main.c14
2 files changed, 13 insertions, 2 deletions
diff --git a/dzen.h b/dzen.h
index a585c8b..dfaac23 100644
--- a/dzen.h
+++ b/dzen.h
@@ -89,6 +89,7 @@ struct DZEN {
Fnt font;
Bool ispersistent;
+ Bool tsupdate;
unsigned long timeout;
int cur_line;
int ret_val;
diff --git a/main.c b/main.c
index 3b95ac4..e62ca82 100644
--- a/main.c
+++ b/main.c
@@ -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) {