#ifndef _bindings_h #define _bindings_h #define ANY_MODE -1 #define DEFAULT_MODE -2 #define do_binding(bi,ev) (*(bi)->func)((bi), (ev)) typedef struct bind_info_s { void (*func)(); int whatmode; int type; unsigned int keycode; unsigned int modifiers; unsigned int button; union { struct { char *win_name; } find; struct { int x, y; } warpto; struct { int dx, dy; } warp; struct { int dx, dy; } move; struct { int x, y; } moveto; struct { int dx, dy; } screen; struct { int x, y; } screento; struct { int dx, dy; char *except_list; } screen_except; struct { int x, y; char *except_list; } screento_except; struct { int dx, dy; } carry; struct { int x, y; } carryto; struct { int dx, dy; } size; struct { int x, y; } sizeto; struct { int mode; } setmode; struct { int mode; int x; } setx; struct { int mode; int y; } sety; struct { int mode; } setmaker; struct { Window window_id; } goto_window; struct { unsigned int modifiers; unsigned int button; int x, y; } mouseclick; struct { char *cmd; } system; } data; } BindInfo_S, *BindInfo; BindInfo realloc_binding(); #endif