wm.h
changeset 5 e5018cae273f
parent 3 e969f3575b7a
child 6 e0cefb3981c8
equal deleted inserted replaced
4:991bd8b0771e 5:e5018cae273f
     7 #include "draw.h"
     7 #include "draw.h"
     8 #include "util.h"
     8 #include "util.h"
     9 
     9 
    10 #include <X11/Xutil.h>
    10 #include <X11/Xutil.h>
    11 
    11 
    12 /* WM atoms */
    12 /* atoms */
    13 enum { WMState, WMProtocols, WMDelete, WMLast };
    13 enum { WMState, WMProtocols, WMDelete, WMLast };
    14 
       
    15 /* NET atoms */
       
    16 enum { NetSupported, NetWMName, NetLast };
    14 enum { NetSupported, NetWMName, NetLast };
    17 
    15 
    18 /* Cursor */
    16 /* cursor */
    19 enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
    17 enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
    20 
    18 
    21 /* Rects */
    19 /* rects */
    22 enum { RFloat, RGrid, RLast };
    20 enum { RFloat, RGrid, RLast };
    23 
    21 
    24 typedef struct Client Client;
    22 typedef struct Client Client;
    25 typedef struct Tag Tag;
    23 typedef struct Tag Tag;
    26 
    24 
    27 struct Client {
    25 struct Client {
    28 	Tag *tag;
    26 	Tag *tag;
    29 	char name[256];
    27 	char name[256];
    30 	int proto;
    28 	int proto;
       
    29 	unsigned int border;
       
    30 	Bool fixedsize;
    31 	Window win;
    31 	Window win;
    32 	Window trans;
    32 	Window trans;
    33 	Window title;
    33 	Window title;
    34 	GC gc;
       
    35 	XSizeHints size;
    34 	XSizeHints size;
    36 	XRectangle r[RLast];
    35 	XRectangle r[RLast];
    37 	Client *next;
    36 	Client *next;
    38 	Client *tnext;
    37 	Client *snext;
    39 	Client *tprev;
       
    40 };
    38 };
    41 
    39 
    42 struct Tag {
    40 struct Tag {
    43 	char name[256];
    41 	char name[256];
    44 	Client *clients;
    42 	Client *stack;
    45 	Client *sel;
       
    46 	XRectangle r;
    43 	XRectangle r;
       
    44 	Tag *next;
       
    45 	Tag *cnext;
    47 };
    46 };
    48 
    47 
    49 extern Display *dpy;
    48 extern Display *dpy;
    50 extern Window root;
    49 extern Window root, barwin;
    51 extern XRectangle rect;
    50 extern Atom wm_atom[WMLast], net_atom[NetLast];
    52 extern Atom wm_atom[WMLast];
       
    53 extern Atom net_atom[NetLast];
       
    54 extern Cursor cursor[CurLast];
    51 extern Cursor cursor[CurLast];
    55 extern Pixmap pmap;
    52 extern XRectangle rect, barrect;
       
    53 extern Bool running;
       
    54 extern void (*handler[LASTEvent]) (XEvent *);
    56 
    55 
    57 extern int screen, sel_screen;
    56 extern int screen, sel_screen;
    58 extern unsigned int kmask, numlock_mask;
    57 extern unsigned int lock_mask, numlock_mask;
       
    58 extern char *bartext, *shell;
    59 
    59 
    60 extern Brush brush;
    60 extern Brush brush;
    61 
    61 
       
    62 /* bar.c */
       
    63 extern void draw_bar();
       
    64 
       
    65 /* client.c */
       
    66 extern Client *create_client(Window w, XWindowAttributes *wa);
       
    67 extern void manage(Client *c);
       
    68 
    62 /* wm.c */
    69 /* wm.c */
       
    70 extern int win_proto(Window w);