76 struct Client { |
76 struct Client { |
77 char name[256]; |
77 char name[256]; |
78 int proto; |
78 int proto; |
79 int x, y, w, h; |
79 int x, y, w, h; |
80 int rx, ry, rw, rh; /* revert geometry */ |
80 int rx, ry, rw, rh; /* revert geometry */ |
81 int tx, ty, tw, th; /* title window geometry */ |
|
82 int basew, baseh, incw, inch, maxw, maxh, minw, minh; |
81 int basew, baseh, incw, inch, maxw, maxh, minw, minh; |
83 long flags; |
82 long flags; |
84 unsigned int border; |
83 unsigned int border; |
85 Bool isfloat, isfixed, ismax; |
84 Bool isfloat, isfixed, ismax; |
86 Bool *tags; |
85 Bool *tags; |
87 Client *next; |
86 Client *next; |
88 Client *prev; |
87 Client *prev; |
89 Client *snext; |
88 Client *snext; |
90 Window win; |
89 Window win; |
91 Window twin; |
|
92 }; |
90 }; |
93 |
91 |
94 extern const char *tags[]; /* all tags */ |
92 extern const char *tags[]; /* all tags */ |
95 extern char stext[1024]; /* status text */ |
93 extern char stext[1024]; /* status text */ |
96 extern char mtext[32]; /* mode text */ |
94 extern char mtext[32]; /* mode text */ |
108 extern DC dc; /* global draw context */ |
106 extern DC dc; /* global draw context */ |
109 extern Display *dpy; |
107 extern Display *dpy; |
110 extern Window root, barwin; |
108 extern Window root, barwin; |
111 |
109 |
112 /* client.c */ |
110 /* client.c */ |
113 extern void ban(Client *c); /* ban c from screen */ |
|
114 extern void configure(Client *c); /* send synthetic configure event */ |
111 extern void configure(Client *c); /* send synthetic configure event */ |
115 extern void focus(Client *c); /* focus c, c may be NULL */ |
112 extern void focus(Client *c); /* focus c, c may be NULL */ |
116 extern Client *getclient(Window w); /* return client of w */ |
113 extern Client *getclient(Window w); /* return client of w */ |
117 extern Client *getctitle(Window w); /* return client of title window */ |
|
118 extern void killclient(Arg *arg); /* kill c nicely */ |
114 extern void killclient(Arg *arg); /* kill c nicely */ |
119 extern void manage(Window w, XWindowAttributes *wa); /* manage new client */ |
115 extern void manage(Window w, XWindowAttributes *wa); /* manage new client */ |
120 extern void resize(Client *c, Bool sizehints, Corner sticky); /* resize c*/ |
116 extern void resize(Client *c, Bool sizehints, Corner sticky); /* resize c*/ |
121 extern void resizetitle(Client *c); /* resizes c->twin correctly */ |
|
122 extern void updatesizehints(Client *c); /* update the size hint variables of c */ |
117 extern void updatesizehints(Client *c); /* update the size hint variables of c */ |
123 extern void updatetitle(Client *c); /* update the name of c */ |
118 extern void updatetitle(Client *c); /* update the name of c */ |
124 extern void unmanage(Client *c); /* destroy c */ |
119 extern void unmanage(Client *c); /* destroy c */ |
125 |
120 |
126 /* draw.c */ |
121 /* draw.c */ |