dwm-meillo

diff dwm.h @ 49:466591c2f967

implemented tagging a client
author Anselm R. Garbe <garbeam@wmii.de>
date Thu, 13 Jul 2006 17:09:35 +0200
parents 58307ad56ec1
children 148f25ed0ad7
line diff
     1.1 --- a/dwm.h	Thu Jul 13 14:33:22 2006 +0200
     1.2 +++ b/dwm.h	Thu Jul 13 17:09:35 2006 +0200
     1.3 @@ -22,6 +22,12 @@
     1.4  typedef struct Client Client;
     1.5  typedef struct Fnt Fnt;
     1.6  typedef struct Key Key;
     1.7 +typedef union Arg Arg;
     1.8 +
     1.9 +union Arg {
    1.10 +	const char **argv;
    1.11 +	int i;
    1.12 +};
    1.13  
    1.14  /* atoms */
    1.15  enum { WMProtocols, WMDelete, WMLast };
    1.16 @@ -62,14 +68,14 @@
    1.17  	Window trans;
    1.18  	Window title;
    1.19  	Client *next;
    1.20 -	Client *snext;
    1.21 +	Client *prev;
    1.22  };
    1.23  
    1.24  struct Key {
    1.25  	unsigned long mod;
    1.26  	KeySym keysym;
    1.27 -	void (*func)(void *aux);
    1.28 -	void *aux;
    1.29 +	void (*func)(Arg *arg);
    1.30 +	Arg arg;
    1.31  };
    1.32  
    1.33  extern Display *dpy;
    1.34 @@ -83,7 +89,7 @@
    1.35  extern char stext[1024], *tags[TLast];
    1.36  
    1.37  extern DC dc;
    1.38 -extern Client *clients, *stack;
    1.39 +extern Client *cstart, *cend, *csel;
    1.40  
    1.41  /* client.c */
    1.42  extern void manage(Window w, XWindowAttributes *wa);
    1.43 @@ -97,11 +103,13 @@
    1.44  extern Client *gettitle(Window w);
    1.45  extern void craise(Client *c);
    1.46  extern void lower(Client *c);
    1.47 -extern void ckill(void *aux);
    1.48 -extern void sel(void *aux);
    1.49 -extern void max(void *aux);
    1.50 -extern void floating(void *aux);
    1.51 -extern void tiling(void *aux);
    1.52 +extern void ckill(Arg *arg);
    1.53 +extern void nextc(Arg *arg);
    1.54 +extern void prevc(Arg *arg);
    1.55 +extern void max(Arg *arg);
    1.56 +extern void floating(Arg *arg);
    1.57 +extern void tiling(Arg *arg);
    1.58 +void tag(Arg *arg);
    1.59  extern void gravitate(Client *c, Bool invert);
    1.60  
    1.61  /* draw.c */
    1.62 @@ -125,7 +133,7 @@
    1.63  extern int error_handler(Display *dsply, XErrorEvent *e);
    1.64  extern void send_message(Window w, Atom a, long value);
    1.65  extern int win_proto(Window w);
    1.66 -extern void quit(void *aux);
    1.67 +extern void quit(Arg *arg);
    1.68  
    1.69  /* util.c */
    1.70  extern void error(const char *errstr, ...);
    1.71 @@ -133,5 +141,5 @@
    1.72  extern void *emalloc(unsigned int size);
    1.73  extern void *erealloc(void *ptr, unsigned int size);
    1.74  extern char *estrdup(const char *str);
    1.75 -extern void spawn(char *argv[]);
    1.76 +extern void spawn(Arg *arg);
    1.77  extern void swap(void **p1, void **p2);