wm.h
changeset 13 5cc5e55a132d
parent 10 703255003abb
child 14 5c078b66347b
equal deleted inserted replaced
12:a2b399582afe 13:5cc5e55a132d
     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 #define WM_PROTOCOL_DELWIN 1
       
    13 
    12 /* atoms */
    14 /* atoms */
       
    15 enum { WMProtocols, WMDelete, WMLast };
    13 enum { NetSupported, NetWMName, NetLast };
    16 enum { NetSupported, NetWMName, NetLast };
    14 
    17 
    15 /* cursor */
    18 /* cursor */
    16 enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
    19 enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
    17 
    20 
    23 
    26 
    24 struct Client {
    27 struct Client {
    25 	char name[256];
    28 	char name[256];
    26 	char tag[256];
    29 	char tag[256];
    27 	unsigned int border;
    30 	unsigned int border;
       
    31 	int proto;
    28 	Bool fixedsize;
    32 	Bool fixedsize;
    29 	Window win;
    33 	Window win;
    30 	Window trans;
    34 	Window trans;
    31 	Window title;
    35 	Window title;
    32 	XSizeHints size;
    36 	XSizeHints size;
    42 	char *arg;
    46 	char *arg;
    43 };
    47 };
    44 
    48 
    45 extern Display *dpy;
    49 extern Display *dpy;
    46 extern Window root, barwin;
    50 extern Window root, barwin;
    47 extern Atom net_atom[NetLast];
    51 extern Atom wm_atom[WMLast], net_atom[NetLast];
    48 extern Cursor cursor[CurLast];
    52 extern Cursor cursor[CurLast];
    49 extern XRectangle rect, barrect;
    53 extern XRectangle rect, barrect;
    50 extern Bool running;
    54 extern Bool running, sel_screen, grid;
    51 extern Bool grid;
       
    52 extern void (*handler[LASTEvent]) (XEvent *);
    55 extern void (*handler[LASTEvent]) (XEvent *);
    53 
    56 
    54 extern int screen, sel_screen;
    57 extern int screen;
    55 extern char *bartext, tag[256];
    58 extern char *bartext, tag[256];
    56 
    59 
    57 extern Brush brush;
    60 extern Brush brush;
    58 extern Client *clients;
    61 extern Client *clients, *stack;
    59 
    62 
    60 /* bar.c */
    63 /* bar.c */
    61 extern void draw_bar();
    64 extern void draw_bar();
    62 
    65 
    63 /* cmd.c */
    66 /* cmd.c */
    64 extern void run(char *arg);
    67 extern void run(char *arg);
    65 extern void quit(char *arg);
    68 extern void quit(char *arg);
    66 
    69 
    67 /* client.c */
    70 /* client.c */
    68 extern void manage(Window w, XWindowAttributes *wa);
    71 extern void manage(Window w, XWindowAttributes *wa);
    69 void unmanage(Client *c);
    72 extern void unmanage(Client *c);
    70 extern Client * getclient(Window w);
    73 extern Client *getclient(Window w);
       
    74 extern void focus(Client *c);
       
    75 extern void update_name(Client *c);
       
    76 
       
    77 /* event.c */
       
    78 extern unsigned int flush_events(long even_mask);
    71 
    79 
    72 /* key.c */
    80 /* key.c */
    73 extern void update_keys();
    81 extern void update_keys();
    74 extern void keypress(XEvent *e);
    82 extern void keypress(XEvent *e);
    75 
    83 
    76 /* wm.c */
    84 /* wm.c */
    77 extern int error_handler(Display *dpy, XErrorEvent *error);
    85 extern int error_handler(Display *dpy, XErrorEvent *error);
       
    86 extern void send_message(Window w, Atom a, long value);
       
    87 extern int win_proto(Window w);