diff options
author | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-06-03 11:45:54 +0000 |
---|---|---|
committer | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-06-03 11:45:54 +0000 |
commit | 0dd04e26ce0216d8406af557ab0cba1511f8ccde (patch) | |
tree | 932ca63070094dadc1980a4f11696989a3c67b39 | |
parent | 38bd2eb933f9398597f2fc4877746baa97982593 (diff) | |
download | dzen-0dd04e26ce0216d8406af557ab0cba1511f8ccde.tar.gz dzen-0dd04e26ce0216d8406af557ab0cba1511f8ccde.zip |
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
-rw-r--r-- | action.c | 8 | ||||
-rw-r--r-- | action.h | 2 | ||||
-rw-r--r-- | main.c | 6 |
3 files changed, 9 insertions, 7 deletions
@@ -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; @@ -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 **); @@ -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; } } |