From e97fab3f956f9042fe240b58426c9d93f558c2f4 Mon Sep 17 00:00:00 2001 From: gotmor Date: Fri, 13 Feb 2009 18:00:28 +0000 Subject: made ^ca() to always bind to the title window git-svn-id: http://dzen.googlecode.com/svn/trunk@252 f2baff5b-bf2c-0410-a398-912abdc3d8b2 --- draw.c | 48 ++++++++++++++++++++++++++---------------------- main.c | 7 +++++-- 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/draw.c b/draw.c index edb7a7c..8fe6b2c 100644 --- a/draw.c +++ b/draw.c @@ -668,17 +668,19 @@ parse_line(const char *line, int lnr, int align, int reverse, int nodraw) { font_was_set = 1; break; case ca: - if(tval[0]) { - if(sens_areas_cnt < MAX_CLICKABLE_AREAS) { - get_sens_area(tval, - &sens_areas[sens_areas_cnt].button, - sens_areas[sens_areas_cnt].cmd); - sens_areas[sens_areas_cnt].start_x = px; - } - } else { - if(sens_areas_cnt < MAX_CLICKABLE_AREAS) { - sens_areas[sens_areas_cnt].end_x = px; - sens_areas_cnt++; + if(lnr == -1) { + if(tval[0]) { + if(sens_areas_cnt < MAX_CLICKABLE_AREAS) { + get_sens_area(tval, + &sens_areas[sens_areas_cnt].button, + sens_areas[sens_areas_cnt].cmd); + sens_areas[sens_areas_cnt].start_x = px; + } + } else { + if(sens_areas_cnt < MAX_CLICKABLE_AREAS) { + sens_areas[sens_areas_cnt].end_x = px; + sens_areas_cnt++; + } } } break; @@ -945,17 +947,19 @@ parse_line(const char *line, int lnr, int align, int reverse, int nodraw) { font_was_set = 1; break; case ca: - if(tval[0]) { - if(sens_areas_cnt < MAX_CLICKABLE_AREAS) { - get_sens_area(tval, - &sens_areas[sens_areas_cnt].button, - sens_areas[sens_areas_cnt].cmd); - sens_areas[sens_areas_cnt].start_x = px; - } - } else { - if(sens_areas_cnt < MAX_CLICKABLE_AREAS) { - sens_areas[sens_areas_cnt].end_x = px; - sens_areas_cnt++; + if(lnr == -1) { + if(tval[0]) { + if(sens_areas_cnt < MAX_CLICKABLE_AREAS) { + get_sens_area(tval, + &sens_areas[sens_areas_cnt].button, + sens_areas[sens_areas_cnt].cmd); + sens_areas[sens_areas_cnt].start_x = px; + } + } else { + if(sens_areas_cnt < MAX_CLICKABLE_AREAS) { + sens_areas[sens_areas_cnt].end_x = px; + sens_areas_cnt++; + } } } break; diff --git a/main.c b/main.c index 3a320b1..511c047 100644 --- a/main.c +++ b/main.c @@ -642,13 +642,16 @@ handle_xev(void) { } /* clickable areas */ - for(i=0; i<20; i++) { + for(i=0; i= sens_areas[i].start_x+xorig && - ev.xbutton.x <= sens_areas[i].end_x+xorig)) + ev.xbutton.x <= sens_areas[i].end_x+xorig)) { spawn(sens_areas[i].cmd); + break; + } } + switch(ev.xbutton.button) { case Button1: do_action(button1); -- cgit v1.2.3