From 0dd04e26ce0216d8406af557ab0cba1511f8ccde Mon Sep 17 00:00:00 2001 From: gotmor Date: Sun, 3 Jun 2007 11:45:54 +0000 Subject: renamed a_showhead to a_scrollhome changed handle_newl to scroll only when last line of input is viewed git-svn-id: http://dzen.googlecode.com/svn/trunk@49 f2baff5b-bf2c-0410-a398-912abdc3d8b2 --- action.c | 8 ++++---- action.h | 2 +- main.c | 6 ++++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/action.c b/action.c index 8139759..b2579f2 100644 --- a/action.c +++ b/action.c @@ -48,7 +48,7 @@ struct action_lookup ac_lookup_table[] = { { "menuexec", a_menuexec}, { "raise", a_raise}, { "lower", a_lower}, - { "showhead", a_showhead}, + { "scrollhome", a_scrollhome}, { 0, 0 } }; @@ -201,7 +201,7 @@ a_uncollapse(char * opt[]){ XMapRaised(dzen.dpy, dzen.slave_win.win); for(i=0; i < dzen.slave_win.max_lines; i++) XMapRaised(dzen.dpy, dzen.slave_win.line[i]); - x_draw_body(); + //x_draw_body(); } return 0; } @@ -335,10 +335,10 @@ a_lower(char * opt[]) { } int -a_showhead(char * opt[]) { +a_scrollhome(char * opt[]) { if(dzen.slave_win.max_lines) { dzen.slave_win.first_line_vis = 0; - dzen.slave_win.last_line_vis = dzen.slave_win.max_lines; + dzen.slave_win.last_line_vis = dzen.slave_win.max_lines; x_draw_body(); } return 0; diff --git a/action.h b/action.h index ac546a5..944f434 100644 --- a/action.h +++ b/action.h @@ -73,6 +73,6 @@ int a_menuprint(char **); int a_menuexec(char **); int a_raise(char **); int a_lower(char **); -int a_showhead(char **); +int a_scrollhome(char **); diff --git a/main.c b/main.c index f22faa4..c7e5ab8 100644 --- a/main.c +++ b/main.c @@ -387,11 +387,13 @@ handle_newl(void) { if(dzen.slave_win.max_lines && (dzen.slave_win.tcnt > last_cnt)) { if (XGetWindowAttributes(dzen.dpy, dzen.slave_win.win, &wa), - wa.map_state != IsUnmapped) { + wa.map_state != IsUnmapped && + /* scroll only if we're viewing the last line of input */ + (dzen.slave_win.last_line_vis == last_cnt)) { dzen.slave_win.first_line_vis = 0; dzen.slave_win.last_line_vis = 0; - do_action(exposeslave); } + do_action(exposeslave); last_cnt = dzen.slave_win.tcnt; } } -- cgit v1.2.3-54-g00ecf