all repos — dwm @ 16c67f32d62849792c8e6d4fdec22a1896f9c279

fork of suckless dynamic window manager

wm.h (view raw)

 1/*
 2 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
 3 * See LICENSE file for license details.
 4 */
 5
 6#include "config.h"
 7#include "draw.h"
 8#include "util.h"
 9
10#include <X11/Xutil.h>
11
12/* atoms */
13enum { NetSupported, NetWMName, NetLast };
14
15/* cursor */
16enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
17
18/* rects */
19enum { RFloat, RGrid, RLast };
20
21typedef struct Client Client;
22typedef struct Key Key;
23
24struct Client {
25	char name[256];
26	char tag[256];
27	unsigned int border;
28	Bool fixedsize;
29	Window win;
30	Window trans;
31	Window title;
32	XSizeHints size;
33	XRectangle r[RLast];
34	Client *next;
35	Client *snext;
36};
37
38struct Key {
39	unsigned long mod;
40	KeySym keysym;
41	void (*func)(char *arg);
42	char *arg;
43};
44
45extern Display *dpy;
46extern Window root, barwin;
47extern Atom net_atom[NetLast];
48extern Cursor cursor[CurLast];
49extern XRectangle rect, barrect;
50extern Bool running;
51extern Bool grid;
52extern void (*handler[LASTEvent]) (XEvent *);
53
54extern int screen, sel_screen;
55extern char *bartext, tag[256];
56
57extern Brush brush;
58extern Client *clients;
59
60/* bar.c */
61extern void draw_bar();
62
63/* cmd.c */
64extern void run(char *arg);
65extern void quit(char *arg);
66
67/* client.c */
68extern Client *create_client(Window w, XWindowAttributes *wa);
69extern void manage(Client *c);
70extern Client * getclient(Window w);
71
72/* key.c */
73extern void update_keys();
74extern void keypress(XEvent *e);
75
76/* wm.c */