|
|
@@ -49,41 +49,7 @@
|
|
|
#define CLEANMASK(mask) (mask & ~(numlockmask | LockMask))
|
|
|
#define MOUSEMASK (BUTTONMASK | PointerMotionMask)
|
|
|
|
|
|
-/* enums */
|
|
|
-enum { BarTop, BarBot, BarOff }; /* bar position */
|
|
|
-enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
|
|
|
-enum { ColBorder, ColFG, ColBG, ColLast }; /* color */
|
|
|
-enum { NetSupported, NetWMName, NetLast }; /* EWMH atoms */
|
|
|
-enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */
|
|
|
-
|
|
|
-/* typedefs */
|
|
|
-typedef struct {
|
|
|
- int x, y, w, h;
|
|
|
- unsigned long norm[ColLast];
|
|
|
- unsigned long sel[ColLast];
|
|
|
- Drawable drawable;
|
|
|
- GC gc;
|
|
|
- struct {
|
|
|
- int ascent;
|
|
|
- int descent;
|
|
|
- int height;
|
|
|
- XFontSet set;
|
|
|
- XFontStruct *xfont;
|
|
|
- } font;
|
|
|
-} DC; /* draw context */
|
|
|
-
|
|
|
-typedef struct {
|
|
|
- unsigned long mod;
|
|
|
- KeySym keysym;
|
|
|
- void (*func)(const char *arg);
|
|
|
- const char *arg;
|
|
|
-} Key;
|
|
|
-
|
|
|
-typedef struct {
|
|
|
- const char *symbol;
|
|
|
- void (*arrange)(void);
|
|
|
-} Layout;
|
|
|
-
|
|
|
+/* local typedefs */
|
|
|
typedef struct {
|
|
|
const char *prop;
|
|
|
const char *tags;
|
|
|
@@ -95,86 +61,6 @@ typedef struct {
|
|
|
regex_t *tagregex;
|
|
|
} Regs;
|
|
|
|
|
|
-/* forward declarations */
|
|
|
-void applyrules(Client *c);
|
|
|
-void arrange(void);
|
|
|
-void attach(Client *c);
|
|
|
-void attachstack(Client *c);
|
|
|
-void ban(Client *c);
|
|
|
-void buttonpress(XEvent *e);
|
|
|
-void checkotherwm(void);
|
|
|
-void cleanup(void);
|
|
|
-void compileregs(void);
|
|
|
-void configure(Client *c);
|
|
|
-void configurenotify(XEvent *e);
|
|
|
-void configurerequest(XEvent *e);
|
|
|
-void destroynotify(XEvent *e);
|
|
|
-void detach(Client *c);
|
|
|
-void detachstack(Client *c);
|
|
|
-void drawbar(void);
|
|
|
-void drawsquare(Bool filled, Bool empty, unsigned long col[ColLast]);
|
|
|
-void drawtext(const char *text, unsigned long col[ColLast]);
|
|
|
-void *emallocz(unsigned int size);
|
|
|
-void enternotify(XEvent *e);
|
|
|
-void eprint(const char *errstr, ...);
|
|
|
-void expose(XEvent *e);
|
|
|
-void floating(void); /* default floating layout */
|
|
|
-void focus(Client *c);
|
|
|
-void focusnext(const char *arg);
|
|
|
-void focusprev(const char *arg);
|
|
|
-Client *getclient(Window w);
|
|
|
-unsigned long getcolor(const char *colstr);
|
|
|
-long getstate(Window w);
|
|
|
-Bool gettextprop(Window w, Atom atom, char *text, unsigned int size);
|
|
|
-void grabbuttons(Client *c, Bool focused);
|
|
|
-unsigned int idxoftag(const char *tag);
|
|
|
-void initfont(const char *fontstr);
|
|
|
-Bool isarrange(void (*func)());
|
|
|
-Bool isoccupied(unsigned int t);
|
|
|
-Bool isprotodel(Client *c);
|
|
|
-Bool isvisible(Client *c);
|
|
|
-void keypress(XEvent *e);
|
|
|
-void killclient(const char *arg);
|
|
|
-void leavenotify(XEvent *e);
|
|
|
-void manage(Window w, XWindowAttributes *wa);
|
|
|
-void mappingnotify(XEvent *e);
|
|
|
-void maprequest(XEvent *e);
|
|
|
-void movemouse(Client *c);
|
|
|
-Client *nexttiled(Client *c);
|
|
|
-void propertynotify(XEvent *e);
|
|
|
-void quit(const char *arg);
|
|
|
-void resize(Client *c, int x, int y, int w, int h, Bool sizehints);
|
|
|
-void resizemouse(Client *c);
|
|
|
-void restack(void);
|
|
|
-void run(void);
|
|
|
-void scan(void);
|
|
|
-void setclientstate(Client *c, long state);
|
|
|
-void setlayout(const char *arg);
|
|
|
-void setmwfact(const char *arg);
|
|
|
-void setup(void);
|
|
|
-void spawn(const char *arg);
|
|
|
-void tag(const char *arg);
|
|
|
-unsigned int textnw(const char *text, unsigned int len);
|
|
|
-unsigned int textw(const char *text);
|
|
|
-void tile(void);
|
|
|
-void togglebar(const char *arg);
|
|
|
-void togglefloating(const char *arg);
|
|
|
-void togglemax(const char *arg);
|
|
|
-void toggletag(const char *arg);
|
|
|
-void toggleview(const char *arg);
|
|
|
-void unban(Client *c);
|
|
|
-void unmanage(Client *c);
|
|
|
-void unmapnotify(XEvent *e);
|
|
|
-void updatebarpos(void);
|
|
|
-void updatesizehints(Client *c);
|
|
|
-void updatetitle(Client *c);
|
|
|
-void view(const char *arg);
|
|
|
-void viewprevtag(const char *arg); /* views previous selected tags */
|
|
|
-int xerror(Display *dpy, XErrorEvent *ee);
|
|
|
-int xerrordummy(Display *dsply, XErrorEvent *ee);
|
|
|
-int xerrorstart(Display *dsply, XErrorEvent *ee);
|
|
|
-void zoom(const char *arg);
|
|
|
-
|
|
|
/* variables */
|
|
|
char stext[256];
|
|
|
double mwfact;
|