From ce05175372a9ddca1a225db0765ace1127a39293 Mon Sep 17 00:00:00 2001 From: Nicholas Date: Fri, 12 Nov 2021 09:22:01 -0800 Subject: chore: simplified organizational structure --- sys/cmd/dwm/dwm.h | 384 ------------------------------------------------------ 1 file changed, 384 deletions(-) delete mode 100644 sys/cmd/dwm/dwm.h (limited to 'sys/cmd/dwm/dwm.h') diff --git a/sys/cmd/dwm/dwm.h b/sys/cmd/dwm/dwm.h deleted file mode 100644 index afec1f2..0000000 --- a/sys/cmd/dwm/dwm.h +++ /dev/null @@ -1,384 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -#pragma once -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* macros */ -#define BUTTONMASK (ButtonPressMask|ButtonReleaseMask) -#define CLEANMASK(mask) (mask & ~(numlockmask|LockMask) & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask)) -#define INTERSECT(x,y,w,h,m) (MAX(0, MIN((x)+(w),(m)->wx+(m)->ww) - MAX((x),(m)->wx)) \ - * MAX(0, MIN((y)+(h),(m)->wy+(m)->wh) - MAX((y),(m)->wy))) -#define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags])) -#define MOUSEMASK (BUTTONMASK|PointerMotionMask) -#define WIDTH(X) ((X)->w + 2 * (X)->bw) -#define HEIGHT(X) ((X)->h + 2 * (X)->bw) -#define TAGMASK ((1 << arrlen(tags)) - 1) -#define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad) -#define BETWEEN(X, A, B) ((A) <= (X) && (X) <= (B)) - - -/* enums */ -enum -{ - MouseNormal, - MouseResize, - MouseMove, - MouseLast, -}; /* mouse states */ - -enum -{ - SchemeNorm, - SchemeSel -}; /* color schemes */ - -enum -{ - NetSupported, - NetWMName, - NetWMState, - NetWMCheck, - NetWMFullscreen, - NetActiveWindow, - NetWMWindowType, - NetWMWindowTypeDialog, - NetWMWindowOpacity, - NetClientList, - NetLast -}; /* EWMH atoms */ - -enum -{ - WMProtocols, - WMDelete, - WMState, - WMTakeFocus, - WMLast -}; /* default atoms */ - -enum -{ - ClkTagBar, - ClkLtSymbol, - ClkStatusText, - ClkWinTitle, - ClkClientWin, - ClkRootWin, - ClkLast -}; /* clicks */ - -enum -{ - ColFg, - ColBg, - ColBorder -}; /* color scheme index */ - -typedef struct Monitor Monitor; -typedef struct Layout Layout; -typedef struct Client Client; -typedef struct Keyboard Keyboard; -typedef struct Button Button; -typedef struct Key Key; -typedef struct Rule Rule; -typedef union Arg Arg; - -union Arg { - int i; - uint ui; - float f; - void *v; -}; - -struct Button { - uint click; - uint mask; - uint button; - void (*func)(Arg *arg); - Arg arg; -}; - -struct Client { - char name[256]; - float mina, maxa; - int x, y, w, h; - int oldx, oldy, oldw, oldh; - int basew, baseh, incw, inch, maxw, maxh, minw, minh; - int bw, oldbw; - uint tags; - int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, isterm, noswallow; - pid_t pid; - Client *next; - Client *snext; - Client *swallowing; - Monitor *mon; - Window win; -}; - -struct Key { - uint mod; - KeySym keysym; - void (*func)(Arg *); - Arg arg; -}; - -struct Layout { - char *symbol; - void (*arrange)(Monitor *); -}; - -struct Monitor { - char ltsymbol[16]; - float mfact; - int nmaster; - int num; - int by; /* bar geometry */ - int mx, my, mw, mh; /* screen size */ - int wx, wy, ww, wh; /* window area */ - uint seltags; - uint sellt; - uint tagset[2]; - int showbar; - int topbar; - Client *clients; - Client *sel; - Client *stack; - Monitor *next; - Window barwin; - Layout *lt[2]; -}; - -struct Rule { - char *class; - char *instance; - char *title; - uint tags; - int isfloating; - int isterm; - int noswallow; - int monitor; -}; - -/* draw.c */ -typedef struct { - Cursor cursor; -} Cur; - -typedef struct Fnt { - Display *dpy; - uint h; - XftFont *xfont; - FcPattern *pattern; - struct Fnt *next; -} Fnt; - -typedef XftColor Clr; - -typedef struct { - uint w, h; - Display *dpy; - int screen; - Window root; - Drawable drawable; - GC gc; - Clr *scheme; - Fnt *fonts; -} Drw; - -/* global state */ - -extern char broken[]; -extern char stext[256]; -extern int scanner; -extern int screen; -extern int sw, sh; -extern int bh, blw; -extern int lrpad; -extern int (*xerrorxlib)(Display *, XErrorEvent *); -extern uint numlockmask; -extern void (*handler[LASTEvent]) (XEvent *); -extern int scratchtag; - -extern xcb_connection_t *xcon; - -extern Atom wmatom[WMLast], netatom[NetLast]; -extern int running; -extern Cur *cursor[MouseLast]; -extern Clr **scheme; -extern Display *dpy; -extern Drw *drw; -extern Monitor *mons, *selmon; -extern Window root, wmcheckwin; - -// ----------------------------------------------------------------------- -// function declarations - -// TODO: remove declarations that don't require global existence... -void applyrules(Client *c); -int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact); -void arrange(Monitor *m); -void arrangemon(Monitor *m); -void attach(Client *c); -void enqueue(Client *c); -void attachbottom(Client *c); -void attachstack(Client *c); -void enqueuestack(Client *c); -void buttonpress(XEvent *e); -void checkotherwm(void); -void cleanup(void); -void cleanupmon(Monitor *mon); -void clientmessage(XEvent *e); -void configure(Client *c); -void configurenotify(XEvent *e); -void configurerequest(XEvent *e); -Monitor *createmon(void); -void destroynotify(XEvent *e); -void detach(Client *c); -void detachstack(Client *c); -Monitor *dirtomon(int dir); -void drawbar(Monitor *m); -void drawbars(void); -void enternotify(XEvent *e); -void expose(XEvent *e); -void focus(Client *c); -void focusin(XEvent *e); -void focusmon(Arg *arg); -void focusstack(Arg *arg); -void focusdirection(Arg *arg); -void rotatestack(Arg *arg); -Atom getatomprop(Client *c, Atom prop); -int getrootptr(int *x, int *y); -long getstate(Window w); -int gettextprop(Window w, Atom atom, char *text, uint size); -void grabbuttons(Client *c, int focused); -void grabkeys(void); -void incnmaster(Arg *arg); -void keypress(XEvent *e); -void killclient(Arg *arg); -void manage(Window w, XWindowAttributes *wa); -void mappingnotify(XEvent *e); -void maprequest(XEvent *e); -void monocle(Monitor *m); -void motionnotify(XEvent *e); -void movemouse(Arg *arg); -Client *nexttiled(Client *c); -void pop(Client *); -void propertynotify(XEvent *e); -void quit(Arg *arg); -Monitor *recttomon(int x, int y, int w, int h); -void resize(Client *c, int x, int y, int w, int h, int interact); -void resizeclient(Client *c, int x, int y, int w, int h); -void resizemouse(Arg *arg); -void restack(Monitor *m); -void run(void); -void scan(void); -int sendevent(Client *c, Atom proto); -void sendtomon(Client *c, Monitor *m); -void setclientstate(Client *c, long state); -void setfocus(Client *c); -void setfullscreen(Client *c, int fullscreen); -void setlayout(Arg *arg); -void setmfact(Arg *arg); -void setup(void); -void seturgent(Client *c, int urg); -void showhide(Client *c); -void sigchld(int unused); -void swallow(Client *p, Client *c); -Client *swallowing(Window w); -void spawn(Arg *arg); -void tag(Arg *arg); -void tagmon(Arg *arg); -Client *termof(Client *c); -void tile(Monitor *); -void togglebar(Arg *arg); -void togglefocus(Arg *arg); -void togglefloating(Arg *arg); -void togglescratch(Arg *arg); -void toggletag(Arg *arg); -void toggleview(Arg *arg); -void unfocus(Client *c, int setfocus); -void unmanage(Client *c, int destroyed); -void unmapnotify(XEvent *e); -void unswallow(Client *c); -void updatebarpos(Monitor *m); -void updatebars(void); -void updateclientlist(void); -int updategeom(void); -void updatenumlockmask(void); -void updatesizehints(Client *c); -void updatestatus(void); -void updatetitle(Client *c); -void updatewindowtype(Client *c); -void updatewmhints(Client *c); -void view(Arg *arg); -pid_t winpid(Window w); -Client *wintoclient(Window w); -Monitor *wintomon(Window w); -int xerror(Display *dpy, XErrorEvent *ee); -int xerrordummy(Display *dpy, XErrorEvent *ee); -int xerrorstart(Display *dpy, XErrorEvent *ee); -void zoom(Arg *arg); - -#include "config.h" - -/* draw.c */ - -/* Drawable abstraction */ -Drw *drw_create(Display *dpy, int screen, Window win, uint w, uint h); -void drw_resize(Drw *drw, uint w, uint h); -void drw_free(Drw *drw); - -/* Fnt abstraction */ -Fnt *drw_fontset_create(Drw* drw, char *fonts[], size_t fontcount); -void drw_fontset_free(Fnt* set); -uint drw_fontset_getwidth(Drw *drw, char *text); -void drw_font_getexts(Fnt *font, char *text, uint len, uint *w, uint *h); - -/* Colorscheme abstraction */ -void drw_clr_create(Drw *drw, Clr *dest, char *clrname); -Clr *drw_scm_create(Drw *drw, char *clrnames[], size_t clrcount); - -/* Cursor abstraction */ -Cur *drw_cur_create(Drw *drw, int shape); -void drw_cur_free(Drw *drw, Cur *cursor); - -/* Drawing context manipulation */ -void drw_setfontset(Drw *drw, Fnt *set); -void drw_setscheme(Drw *drw, Clr *scm); - -/* Drawing functions */ -void drw_rect(Drw *drw, int x, int y, uint w, uint h, int filled, int invert); -int drw_text(Drw *drw, int x, int y, uint w, uint h, uint lpad, char *text, int invert); - -/* Map functions */ -void drw_map(Drw *drw, Window win, int x, int y, uint w, uint h); - -/* util.c */ -void fatal(char *fmt, ...); -void *ecalloc(size_t nmemb, size_t size); -pid_t getparentproc(pid_t p); -pid_t isdescendent(pid_t p, pid_t c); -- cgit v1.2.1