JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
added key handling
[dwm.git] / wm.h
diff --git a/wm.h b/wm.h
index c4d65ea..454f7bf 100644 (file)
--- a/wm.h
+++ b/wm.h
@@ -20,11 +20,11 @@ enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
 enum { RFloat, RGrid, RLast };
 
 typedef struct Client Client;
-typedef struct Tag Tag;
+typedef struct Key Key;
 
 struct Client {
-       Tag *tag;
        char name[256];
+       char tag[256];
        int proto;
        unsigned int border;
        Bool fixedsize;
@@ -37,12 +37,11 @@ struct Client {
        Client *snext;
 };
 
-struct Tag {
-       char name[256];
-       Client *stack;
-       XRectangle r;
-       Tag *next;
-       Tag *cnext;
+struct Key {
+       unsigned long mod;
+       KeySym keysym;
+       void (*func)(char *arg);
+       char *arg;
 };
 
 extern Display *dpy;
@@ -51,20 +50,27 @@ extern Atom wm_atom[WMLast], net_atom[NetLast];
 extern Cursor cursor[CurLast];
 extern XRectangle rect, barrect;
 extern Bool running;
+extern Bool grid;
 extern void (*handler[LASTEvent]) (XEvent *);
 
 extern int screen, sel_screen;
-extern unsigned int lock_mask, numlock_mask;
-extern char *bartext;
+extern char *bartext, tag[256];
 
 extern Brush brush;
+extern Client *client;
 
 /* bar.c */
 extern void draw_bar();
 
+/* cmd.c */
+extern void run(char *arg);
+
 /* client.c */
 extern Client *create_client(Window w, XWindowAttributes *wa);
 extern void manage(Client *c);
 
+/* key.c */
+extern void update_keys();
+
 /* wm.c */
 extern int win_proto(Window w);