aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--action.c25
-rw-r--r--main.c26
2 files changed, 31 insertions, 20 deletions
diff --git a/action.c b/action.c
index baf192c..0b8c7d9 100644
--- a/action.c
+++ b/action.c
@@ -56,18 +56,18 @@ struct action_lookup ac_lookup_table[] = {
ev_list *head = NULL;
int
-new_event(keid) {
+new_event(evid) {
ev_list *item, *newitem;
if(!head) {
head = emalloc(sizeof (ev_list));
- head->id = keid;
+ head->id = evid;
head->next = NULL;
} else {
item = head;
/* check if we already handle this event */
while(item) {
- if(item->id == keid)
+ if(item->id == evid)
return 0;
item = item->next;
}
@@ -76,7 +76,7 @@ new_event(keid) {
item = item->next;
newitem = emalloc(sizeof (ev_list));
- newitem->id = keid;
+ newitem->id = evid;
item->next = newitem;
newitem->next= NULL;
}
@@ -84,12 +84,12 @@ new_event(keid) {
}
void
-add_handler(long keid, int hpos, void * hcb) {
+add_handler(long evid, int hpos, void * hcb) {
ev_list *item;
item = head;
while(item) {
- if(item->id == keid) {
+ if(item->id == evid) {
item->action[hpos] = emalloc(sizeof(As));
item->action[hpos]->handler = hcb;
break;
@@ -99,12 +99,12 @@ add_handler(long keid, int hpos, void * hcb) {
}
void
-add_option(long keid, int hpos, int opos, char* opt) {
+add_option(long evid, int hpos, int opos, char* opt) {
ev_list *item;
item = head;
while(item) {
- if(item->id == keid) {
+ if(item->id == evid) {
item->action[hpos]->options[opos] = estrdup(opt);
break;
}
@@ -113,12 +113,12 @@ add_option(long keid, int hpos, int opos, char* opt) {
}
int
-find_event(long event) {
+find_event(long evid) {
ev_list *item;
item = head;
while(item) {
- if(item->id == event)
+ if(item->id == evid)
return item->id;
item = item->next;
}
@@ -126,15 +126,14 @@ find_event(long event) {
return -1;
}
-
void
-do_action(long event) {
+do_action(long evid) {
int i;
ev_list *item;
item = head;
while(item) {
- if(item->id == event)
+ if(item->id == evid)
break;
item = item->next;
}
diff --git a/main.c b/main.c
index 15bc3cb..63a191b 100644
--- a/main.c
+++ b/main.c
@@ -675,13 +675,25 @@ main(int argc, char *argv[]) {
if(action_string)
fill_ev_table(action_string);
else {
- char edef[] = "entertitle=uncollapse,grabkeys;"
- "enterslave=grabkeys;leaveslave=collapse,ungrabkeys;"
- "button1=menuexec;button2=togglestick;button3=exit:13;"
- "button4=scrollup;button5=scrolldown;"
- "key_Up=scrollup;key_Left=scrollup;key_Down=scrolldown;key_Right=scrolldown;"
- "key_q=ungrabkeys,exit";
- fill_ev_table(edef);
+ if(!dzen.slave_win.max_lines) {
+ char edef[] = "button3=exit:13";
+ fill_ev_table(edef);
+ }
+ else if(dzen.slave_win.ishmenu) {
+ char edef[] = "enterslave=grabkeys;leaveslave=ungrabkeys;"
+ "key_Left=scrollup;key_Right=scrolldown;"
+ "button1=menuexec;button3=exit:13";
+ fill_ev_table(edef);
+ }
+ else {
+ char edef[] = "entertitle=uncollapse,grabkeys;"
+ "enterslave=grabkeys;leaveslave=collapse,ungrabkeys;"
+ "button1=menuexec;button2=togglestick;button3=exit:13;"
+ "button4=scrollup;button5=scrolldown;"
+ "key_Up=scrollup;key_Down=scrolldown;"
+ "key_q=ungrabkeys,exit";
+ fill_ev_table(edef);
+ }
}
if((find_event(onexit) != -1)