summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dwm.c116
-rw-r--r--dwm.h114
2 files changed, 115 insertions, 115 deletions
diff --git a/dwm.c b/dwm.c
index af076380..a27a1ca0 100644
--- a/dwm.c
+++ b/dwm.c
@@ -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;
diff --git a/dwm.h b/dwm.h
index 10834f57..ff50d47b 100644
--- a/dwm.h
+++ b/dwm.h
@@ -1,6 +1,13 @@
/* See LICENSE file for copyright and license details. */
#include <X11/Xlib.h>
+/* 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 Client Client;
struct Client {
@@ -18,3 +25,110 @@ struct Client {
Client *snext;
Window win;
};
+
+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;
+
+/* functions */
+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);