mirror of
https://git.suckless.org/dwm
synced 2024-12-27 03:16:32 +00:00
just making dwm.h saner
This commit is contained in:
parent
04de5720e6
commit
206eb344e2
3 changed files with 63 additions and 65 deletions
|
@ -17,8 +17,8 @@ LIBS = -L/usr/lib -lc -L${X11LIB} -lX11
|
||||||
# flags
|
# flags
|
||||||
CFLAGS = -Os ${INCS} -DVERSION=\"${VERSION}\"
|
CFLAGS = -Os ${INCS} -DVERSION=\"${VERSION}\"
|
||||||
LDFLAGS = -s ${LIBS}
|
LDFLAGS = -s ${LIBS}
|
||||||
#CFLAGS = -g -std=c99 -pedantic -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\"
|
CFLAGS = -g -std=c99 -pedantic -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\"
|
||||||
#LDFLAGS = -g ${LIBS}
|
LDFLAGS = -g ${LIBS}
|
||||||
|
|
||||||
# Solaris
|
# Solaris
|
||||||
#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
|
#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
|
||||||
|
|
65
dwm.c
65
dwm.c
|
@ -25,8 +25,6 @@
|
||||||
*
|
*
|
||||||
* To understand everything else, start reading main().
|
* To understand everything else, start reading main().
|
||||||
*/
|
*/
|
||||||
#include "dwm.h"
|
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
@ -41,73 +39,17 @@
|
||||||
#include <X11/cursorfont.h>
|
#include <X11/cursorfont.h>
|
||||||
#include <X11/keysym.h>
|
#include <X11/keysym.h>
|
||||||
#include <X11/Xatom.h>
|
#include <X11/Xatom.h>
|
||||||
|
#include <X11/Xlib.h>
|
||||||
#include <X11/Xproto.h>
|
#include <X11/Xproto.h>
|
||||||
#include <X11/Xutil.h>
|
#include <X11/Xutil.h>
|
||||||
|
|
||||||
|
#include "dwm.h"
|
||||||
|
|
||||||
/* macros */
|
/* macros */
|
||||||
#define BUTTONMASK (ButtonPressMask | ButtonReleaseMask)
|
#define BUTTONMASK (ButtonPressMask | ButtonReleaseMask)
|
||||||
#define CLEANMASK(mask) (mask & ~(numlockmask | LockMask))
|
#define CLEANMASK(mask) (mask & ~(numlockmask | LockMask))
|
||||||
#define MOUSEMASK (BUTTONMASK | PointerMotionMask)
|
#define MOUSEMASK (BUTTONMASK | PointerMotionMask)
|
||||||
|
|
||||||
/* local typedefs */
|
|
||||||
typedef struct {
|
|
||||||
const char *prop;
|
|
||||||
const char *tags;
|
|
||||||
Bool isfloating;
|
|
||||||
} Rule;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
regex_t *propregex;
|
|
||||||
regex_t *tagregex;
|
|
||||||
} Regs;
|
|
||||||
|
|
||||||
/* 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};
|
|
||||||
|
|
||||||
/* functions*/
|
|
||||||
void
|
void
|
||||||
applyrules(Client *c) {
|
applyrules(Client *c) {
|
||||||
static char buf[512];
|
static char buf[512];
|
||||||
|
@ -1032,7 +974,6 @@ quit(const char *arg) {
|
||||||
|
|
||||||
void
|
void
|
||||||
resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
|
resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
|
||||||
double dx, dy, max, min, ratio;
|
|
||||||
XWindowChanges wc;
|
XWindowChanges wc;
|
||||||
|
|
||||||
if(sizehints) {
|
if(sizehints) {
|
||||||
|
|
59
dwm.h
59
dwm.h
|
@ -1,5 +1,4 @@
|
||||||
/* See LICENSE file for copyright and license details. */
|
/* See LICENSE file for copyright and license details. */
|
||||||
#include <X11/Xlib.h>
|
|
||||||
|
|
||||||
/* enums */
|
/* enums */
|
||||||
enum { BarTop, BarBot, BarOff }; /* bar position */
|
enum { BarTop, BarBot, BarOff }; /* bar position */
|
||||||
|
@ -53,6 +52,17 @@ typedef struct {
|
||||||
void (*arrange)(void);
|
void (*arrange)(void);
|
||||||
} Layout;
|
} Layout;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
const char *prop;
|
||||||
|
const char *tags;
|
||||||
|
Bool isfloating;
|
||||||
|
} Rule;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
regex_t *propregex;
|
||||||
|
regex_t *tagregex;
|
||||||
|
} Regs;
|
||||||
|
|
||||||
/* functions */
|
/* functions */
|
||||||
void applyrules(Client *c);
|
void applyrules(Client *c);
|
||||||
void arrange(void);
|
void arrange(void);
|
||||||
|
@ -132,3 +142,50 @@ int xerror(Display *dpy, XErrorEvent *ee);
|
||||||
int xerrordummy(Display *dsply, XErrorEvent *ee);
|
int xerrordummy(Display *dsply, XErrorEvent *ee);
|
||||||
int xerrorstart(Display *dsply, XErrorEvent *ee);
|
int xerrorstart(Display *dsply, XErrorEvent *ee);
|
||||||
void zoom(const char *arg);
|
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};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue