tremoved dwm.h, just include C-files in config.h if you extend dwm, that's simp… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit cd7ebaad25fa5f10a4442f9d80a05f344ca271d3 | |
parent 8dc03d6e6be7092f9f5595e03295efc2488f65b9 | |
Author: [email protected] <unknown> | |
Date: Thu, 18 Oct 2007 10:28:41 +0200 | |
removed dwm.h, just include C-files in config.h if you extend dwm, that's simpl… | |
Diffstat: | |
M Makefile | 4 ++-- | |
M dwm.c | 190 +++++++++++++++++++++++++++++… | |
D dwm.h | 190 ------------------------------ | |
3 files changed, 190 insertions(+), 194 deletions(-) | |
--- | |
diff --git a/Makefile b/Makefile | |
t@@ -3,7 +3,7 @@ | |
include config.mk | |
-SRC += dwm.c | |
+SRC = dwm.c | |
OBJ = ${SRC:.c=.o} | |
all: options dwm | |
t@@ -35,7 +35,7 @@ clean: | |
dist: clean | |
@echo creating dist tarball | |
@mkdir -p dwm-${VERSION} | |
- @cp -R LICENSE Makefile README config.def.h config.mk dwm.h \ | |
+ @cp -R LICENSE Makefile README config.def.h config.mk \ | |
dwm.1 ${SRC} dwm-${VERSION} | |
@tar -cf dwm-${VERSION}.tar dwm-${VERSION} | |
@gzip dwm-${VERSION}.tar | |
diff --git a/dwm.c b/dwm.c | |
t@@ -43,13 +43,199 @@ | |
#include <X11/Xproto.h> | |
#include <X11/Xutil.h> | |
-#include "dwm.h" | |
- | |
/* macros */ | |
#define BUTTONMASK (ButtonPressMask | ButtonReleaseMask) | |
#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 Client Client; | |
+struct Client { | |
+ char name[256]; | |
+ int x, y, w, h; | |
+ int rx, ry, rw, rh; /* revert geometry */ | |
+ int basew, baseh, incw, inch, maxw, maxh, minw, minh; | |
+ int minax, maxax, minay, maxay; | |
+ long flags; | |
+ unsigned int border, oldborder; | |
+ Bool isbanned, isfixed, ismax, isfloating, wasfloating; | |
+ Bool *tags; | |
+ Client *next; | |
+ Client *prev; | |
+ 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; | |
+ | |
+typedef struct { | |
+ const char *prop; | |
+ const char *tags; | |
+ Bool isfloating; | |
+} Rule; | |
+ | |
+typedef struct { | |
+ regex_t *propregex; | |
+ regex_t *tagregex; | |
+} Regs; | |
+ | |
+/* 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); | |
+ | |
+/* variables */ | |
+char stext[256]; | |
+double mwfact; | |
+int screen, sx, sy, sw, sh, wax, way, waw, wah; | |
+int (*xerrorxlib)(Display *, XErrorEvent *); | |
+unsigned int bh, bpos; | |
+unsigned int blw = 0; | |
+unsigned int ltidx = 0; /* default */ | |
+unsigned int nlayouts = 0; | |
+unsigned int nrules = 0; | |
+unsigned int numlockmask = 0; | |
+void (*handler[LASTEvent]) (XEvent *) = { | |
+ [ButtonPress] = buttonpress, | |
+ [ConfigureRequest] = configurerequest, | |
+ [ConfigureNotify] = configurenotify, | |
+ [DestroyNotify] = destroynotify, | |
+ [EnterNotify] = enternotify, | |
+ [LeaveNotify] = leavenotify, | |
+ [Expose] = expose, | |
+ [KeyPress] = keypress, | |
+ [MappingNotify] = mappingnotify, | |
+ [MapRequest] = maprequest, | |
+ [PropertyNotify] = propertynotify, | |
+ [UnmapNotify] = unmapnotify | |
+}; | |
+Atom wmatom[WMLast], netatom[NetLast]; | |
+Bool otherwm, readin; | |
+Bool running = True; | |
+Bool selscreen = True; | |
+Client *clients = NULL; | |
+Client *sel = NULL; | |
+Client *stack = NULL; | |
+Cursor cursor[CurLast]; | |
+Display *dpy; | |
+DC dc = {0}; | |
+Window barwin, root; | |
+Regs *regs = NULL; | |
+ | |
+/* configuration, allows nested code to access above variables */ | |
+#include "config.h" | |
+ | |
+/* statically define the number of tags. */ | |
+unsigned int ntags = sizeof tags / sizeof tags[0]; | |
+Bool seltags[sizeof tags / sizeof tags[0]] = {[0] = True}; | |
+Bool prevtags[sizeof tags / sizeof tags[0]] = {[0] = True}; | |
void | |
applyrules(Client *c) { | |
static char buf[512]; | |
diff --git a/dwm.h b/dwm.h | |
t@@ -1,190 +0,0 @@ | |
-/* See LICENSE file for copyright and license details. */ | |
- | |
-/* 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 { | |
- char name[256]; | |
- int x, y, w, h; | |
- int rx, ry, rw, rh; /* revert geometry */ | |
- int basew, baseh, incw, inch, maxw, maxh, minw, minh; | |
- int minax, maxax, minay, maxay; | |
- long flags; | |
- unsigned int border, oldborder; | |
- Bool isbanned, isfixed, ismax, isfloating, wasfloating; | |
- Bool *tags; | |
- Client *next; | |
- Client *prev; | |
- 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; | |
- | |
-typedef struct { | |
- const char *prop; | |
- const char *tags; | |
- Bool isfloating; | |
-} Rule; | |
- | |
-typedef struct { | |
- regex_t *propregex; | |
- regex_t *tagregex; | |
-} Regs; | |
- | |
-/* 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); | |
- | |
-/* variables */ | |
-char stext[256]; | |
-double mwfact; | |
-int screen, sx, sy, sw, sh, wax, way, waw, wah; | |
-int (*xerrorxlib)(Display *, XErrorEvent *); | |
-unsigned int bh, bpos; | |
-unsigned int blw = 0; | |
-unsigned int ltidx = 0; /* default */ | |
-unsigned int nlayouts = 0; | |
-unsigned int nrules = 0; | |
-unsigned int numlockmask = 0; | |
-void (*handler[LASTEvent]) (XEvent *) = { | |
- [ButtonPress] = buttonpress, | |
- [ConfigureRequest] = configurerequest, | |
- [ConfigureNotify] = configurenotify, | |
- [DestroyNotify] = destroynotify, | |
- [EnterNotify] = enternotify, | |
- [LeaveNotify] = leavenotify, | |
- [Expose] = expose, | |
- [KeyPress] = keypress, | |
- [MappingNotify] = mappingnotify, | |
- [MapRequest] = maprequest, | |
- [PropertyNotify] = propertynotify, | |
- [UnmapNotify] = unmapnotify | |
-}; | |
-Atom wmatom[WMLast], netatom[NetLast]; | |
-Bool otherwm, readin; | |
-Bool running = True; | |
-Bool selscreen = True; | |
-Client *clients = NULL; | |
-Client *sel = NULL; | |
-Client *stack = NULL; | |
-Cursor cursor[CurLast]; | |
-Display *dpy; | |
-DC dc = {0}; | |
-Window barwin, root; | |
-Regs *regs = NULL; | |
- | |
-/* configuration, allows nested code to access above variables */ | |
-#include "config.h" | |
- | |
-/* statically define the number of tags. */ | |
-unsigned int ntags = sizeof tags / sizeof tags[0]; | |
-Bool seltags[sizeof tags / sizeof tags[0]] = {[0] = True}; | |
-Bool prevtags[sizeof tags / sizeof tags[0]] = {[0] = True}; |