From 2bf490e772921d34d70c96dd138bc1b899894451 Mon Sep 17 00:00:00 2001 From: gotmor Date: Thu, 10 May 2007 16:22:05 +0000 Subject: new clean_up code fixed selected line bug in menu mode git-svn-id: http://dzen.googlecode.com/svn/trunk@16 f2baff5b-bf2c-0410-a398-912abdc3d8b2 --- action.c | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) (limited to 'action.c') diff --git a/action.c b/action.c index 9b5ee81..1e18462 100644 --- a/action.c +++ b/action.c @@ -85,6 +85,17 @@ get_action_handler(char *acname) { return (void *)NULL; } +void +free_ev_table(void) { + int i, j; + + for(i=0; ihandler; j++) + free(ev_table[i].action[j]); + } +} + void fill_ev_table(char *input) { @@ -278,25 +289,6 @@ a_scrolldown(char * opt[]) { return 0; } -/* -int -a_hide(char * opt[]) { - if(dzen.title_win.autohide && !dzen.title_win.ishidden) { - XResizeWindow(dzen.dpy, dzen.title_win.win, dzen.title_win.width, 1); - dzen.title_win.ishidden = True; - } - return 0; -} - -int -a_unhide(char * opt[]) { - if(dzen.title_win.autohide && dzen.title_win.ishidden) { - XResizeWindow(dzen.dpy, dzen.title_win.win, dzen.title_win.width, dzen.mh); - dzen.title_win.ishidden = False; - } - return 0; -} -*/ int a_hide(char * opt[]) { if(!dzen.title_win.ishidden) { @@ -338,8 +330,9 @@ a_print(char * opt[]) { int a_menuprint(char * opt[]) { - if(dzen.slave_win.ismenu) { + if(dzen.slave_win.ismenu && dzen.slave_win.sel_line != -1) { puts(dzen.slave_win.tbuf[dzen.slave_win.sel_line + dzen.slave_win.first_line_vis]); + dzen.slave_win.sel_line = -1; fflush(stdout); } return 0; @@ -347,8 +340,10 @@ a_menuprint(char * opt[]) { int a_menuexec(char * opt[]) { - if(dzen.slave_win.ismenu) + if(dzen.slave_win.ismenu && dzen.slave_win.sel_line != -1) { spawn(dzen.slave_win.tbuf[dzen.slave_win.sel_line + dzen.slave_win.first_line_vis]); + dzen.slave_win.sel_line = -1; + } return 0; } -- cgit v1.2.3-54-g00ecf