X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=dwm.h;h=0786dab84f9d5ca1b496b00ca664e35418f51be1;hb=a923298d3577dca0e69fd70edbef56c7822258e3;hp=c2f1e7e0a4f01b6b6720369c3440f92cac98ce2a;hpb=2d81b78b853565a3e34a8a9190e2362a6fdde739;p=dwm.git diff --git a/dwm.h b/dwm.h index c2f1e7e..0786dab 100644 --- a/dwm.h +++ b/dwm.h @@ -74,11 +74,6 @@ typedef struct { } font; } DC; /* draw context */ -typedef struct { - const char *symbol; - void (*arrange)(void); -} Layout; - extern const char *tags[]; /* all tags */ extern char stext[256]; /* status text */ extern int screen, sx, sy, sw, sh; /* screen geometry */ @@ -86,13 +81,12 @@ extern int wax, way, wah, waw; /* windowarea geometry */ extern unsigned int bh, blw, bpos; /* bar height, bar layout label width, bar position */ extern unsigned int ntags, numlockmask; /* number of tags, numlock mask */ extern void (*handler[LASTEvent])(XEvent *); /* event handler */ -extern Atom wmatom[WMLast], netatom[NetLast]; +extern Atom dwmconfig, wmatom[WMLast], netatom[NetLast]; extern Bool selscreen, *seltag; /* seltag is array of Bool */ extern Client *clients, *sel, *stack; /* global client list and stack */ extern Cursor cursor[CurLast]; extern DC dc; /* global draw context */ extern Display *dpy; -extern Layout *lt; extern Window root, barwin; /* client.c */ @@ -105,9 +99,8 @@ void killclient(const char *arg); /* kill sel nicely */ void manage(Window w, XWindowAttributes *wa); /* manage new client */ void resize(Client *c, int x, int y, int w, int h, Bool sizehints); /* resize with given coordinates c*/ -void togglefloating(const char *arg); /* toggles sel between floating/tiled state */ void unban(Client *c); /* unbans c */ -void unmanage(Client *c); /* destroy c */ +void unmanage(Client *c, long state); /* unmanage c */ void updatesizehints(Client *c); /* update the size hint variables of c */ void updatetitle(Client *c); /* update the name of c */ @@ -120,12 +113,18 @@ unsigned int textw(const char *text); /* return the width of text in px*/ void grabkeys(void); /* grab all keys defined in config.h */ /* layout.c */ -void focusclient(const char *arg); /* focuses next(1)/previous(-1) visible client */ +void arrange(void); /* arranges all windows depending on the layout in use */ +void focusnext(const char *arg); /* focuses next visible client */ +void focusprev(const char *arg); /* focuses prev visible client */ +const char *getsymbol(void); /* returns symbol of enabled layout */ +Bool isfloating(void); /* returns True if floating layout is enabled */ +Bool isarrange(void (*func)()); /* returns True if func is the layout function in use */ void initlayouts(void); /* initialize layout array */ Client *nexttiled(Client *c); /* returns tiled successor of c */ void restack(void); /* restores z layers of all clients */ void setlayout(const char *arg); /* sets layout, NULL means next layout */ void togglebar(const char *arg); /* shows/hides the bar */ +void togglemax(const char *arg); /* toggles maximization of floating client */ /* main.c */ void updatebarpos(void); /* updates the bar position */ @@ -137,6 +136,7 @@ void compileregs(void); /* initialize regexps of rules defined in config.h */ Bool isvisible(Client *c); /* returns True if client is visible */ void settags(Client *c, Client *trans); /* sets tags of c */ void tag(const char *arg); /* tags sel with arg's index */ +void togglefloating(const char *arg); /* toggles sel between floating/tiled state */ void toggletag(const char *arg); /* toggles sel tags with arg's index */ void toggleview(const char *arg); /* toggles the tag with arg's index (in)visible */ void view(const char *arg); /* views the tag with arg's index */