aboutsummaryrefslogtreecommitdiffstats
path: root/action.h
diff options
context:
space:
mode:
authorgotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2007-06-13 11:55:28 +0000
committergotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2007-06-13 11:55:28 +0000
commitae6ef24bb00f12bb690153963734e8f1ec138a1c (patch)
treebb82dd4e0b5e9c208885e2b1cdc1ed210ff1c22c /action.h
parent2f8b7e260d6963668c3f26cc302adcf3fa0d1961 (diff)
downloaddzen-ae6ef24bb00f12bb690153963734e8f1ec138a1c.tar.gz
dzen-ae6ef24bb00f12bb690153963734e8f1ec138a1c.zip
added keyboard handling
added a_grabkeys, a_ungrabkeys, a_scrollend git-svn-id: http://dzen.googlecode.com/svn/trunk@84 f2baff5b-bf2c-0410-a398-912abdc3d8b2
Diffstat (limited to 'action.h')
-rw-r--r--action.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/action.h b/action.h
index 0d7135c..3678bed 100644
--- a/action.h
+++ b/action.h
@@ -11,6 +11,7 @@
/* Event, Action data structures */
typedef struct AS As;
typedef struct EV Ev;
+typedef struct _key_ev_list key_ev_list;
enum ev_id {
/* startup, exit */
@@ -20,12 +21,22 @@ enum ev_id {
/* entering/leaving windows */
entertitle, leavetitle, enterslave, leaveslave,
/* external signals */
- sigusr1, sigusr2
+ sigusr1, sigusr2,
+ /* key event marker
+ * must always be the last entry
+ */
+ keymarker
+};
+
+struct _key_ev_list {
+ long id;
+ As *action[MAXACTIONS];
+ key_ev_list *next;
};
struct event_lookup {
char *name;
- int id;
+ long id;
};
struct action_lookup {
@@ -46,7 +57,7 @@ struct EV {
extern Ev ev_table[MAXEVENTS];
/* utility functions */
-void do_action(int);
+void do_action(long);
int get_ev_id(char *);
void * get_action_handler(char *);
void fill_ev_table(char *);
@@ -70,4 +81,7 @@ int a_menuexec(char **);
int a_raise(char **);
int a_lower(char **);
int a_scrollhome(char **);
+int a_scrollend(char **);
+int a_grabkeys(char **);
+int a_ungrabkeys(char **);