Introduction
Introduction Statistics Contact Development Disclaimer Help
tmerged tile.c again into dwm.c - dwm - [fork] customized build of dwm, the dyn…
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit 822101dd5bceadb12351dd5f9084d7745b10ec92
parent 6bdef73a4f0c2a96f8984ddc10b55f1d753ab5fe
Author: anselm@anselm1 <unknown>
Date: Mon, 19 May 2008 20:07:12 +0100
merged tile.c again into dwm.c
Diffstat:
M config.def.h | 4 +---
M dwm.c | 101 +++++++++++++++++++++++++++++…
D tile.c | 102 -----------------------------…
3 files changed, 101 insertions(+), 106 deletions(-)
---
diff --git a/config.def.h b/config.def.h
t@@ -25,12 +25,10 @@ Rule rules[] = {
double mfact = 0.55;
Bool resizehints = True; /* False means respect size hints in tiled …
-#include "tile.c"
-
Layout layouts[] = {
/* symbol arrange geom */
{ "[]=", tile, updatetilegeom }, /* first entry is default */
- { "><>", NULL, }, /* no layout function means f…
+ { "><>", NULL, NULL }, /* no layout function means f…
};
/* key definitions */
diff --git a/dwm.c b/dwm.c
t@@ -53,7 +53,6 @@
#define MOUSEMASK (BUTTONMASK|PointerMotionMask)
/* enums */
-enum { BarTop, BarBot, BarOff, BarLast }; /* bar appearance */
enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
enum { ColBorder, ColFG, ColBG, ColLast }; /* color */
enum { NetSupported, NetWMName, NetLast }; /* EWMH atoms */
t@@ -165,11 +164,14 @@ void restack(void);
void run(void);
void scan(void);
void setclientstate(Client *c, long state);
+void setmfact(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 tileresize(Client *c, int x, int y, int w, int h);
void togglebar(const char *arg);
void togglefloating(const char *arg);
void togglelayout(const char *arg);
t@@ -181,6 +183,7 @@ void unmapnotify(XEvent *e);
void updatebar(void);
void updategeom(void);
void updatesizehints(Client *c);
+void updatetilegeom(void);
void updatetitle(Client *c);
void updatewmhints(Client *c);
void view(const char *arg);
t@@ -194,6 +197,7 @@ void zoom(const char *arg);
char stext[256];
int screen, sx, sy, sw, sh;
int bx, by, bw, bh, blw, wx, wy, ww, wh;
+int mx, my, mw, mh, tx, ty, tw, th;
int seltags = 0;
int (*xerrorxlib)(Display *, XErrorEvent *);
unsigned int numlockmask = 0;
t@@ -1333,6 +1337,24 @@ setclientstate(Client *c, long state) {
}
void
+setmfact(const char *arg) {
+ double d;
+
+ if(!arg || lt->arrange != tile)
+ return;
+ else {
+ d = strtod(arg, NULL);
+ if(arg[0] == '-' || arg[0] == '+')
+ d += mfact;
+ if(d < 0.1 || d > 0.9)
+ return;
+ mfact = d;
+ }
+ updatetilegeom();
+ arrange();
+}
+
+void
setup(void) {
unsigned int i, w;
XSetWindowAttributes wa;
t@@ -1467,6 +1489,53 @@ textw(const char *text) {
}
void
+tile(void) {
+ int x, y, h, w;
+ unsigned int i, n;
+ Client *c;
+
+ for(n = 0, c = nextunfloating(clients); c; c = nextunfloating(c->next)…
+ if(n == 0)
+ return;
+
+ /* master */
+ c = nextunfloating(clients);
+
+ if(n == 1)
+ tileresize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw);
+ else
+ tileresize(c, mx, my, mw - 2 * c->bw, mh - 2 * c->bw);
+
+ if(--n == 0)
+ return;
+
+ /* tile stack */
+ x = (tx > c->x + c->w) ? c->x + c->w + 2 * c->bw : tw;
+ y = ty;
+ w = (tx > c->x + c->w) ? wx + ww - x : tw;
+ h = th / n;
+ if(h < bh)
+ h = th;
+
+ for(i = 0, c = nextunfloating(c->next); c; c = nextunfloating(c->next)…
+ if(i + 1 == n) /* remainder */
+ tileresize(c, x, y, w - 2 * c->bw, (ty + th) - y - 2 *…
+ else
+ tileresize(c, x, y, w - 2 * c->bw, h - 2 * c->bw);
+ if(h != th)
+ y = c->y + c->h + 2 * c->bw;
+ }
+}
+
+void
+tileresize(Client *c, int x, int y, int w, int h) {
+ resize(c, x, y, w, h, resizehints);
+ if(resizehints && ((c->h < bh) || (c->h > h) || (c->w < bh) || (c->w >…
+ /* client doesn't accept size constraints */
+ resize(c, x, y, w, h, False);
+}
+
+void
togglebar(const char *arg) {
showbar = !showbar;
updategeom();
t@@ -1668,6 +1737,21 @@ updatesizehints(Client *c) {
}
void
+updatetilegeom(void) {
+ /* master area geometry */
+ mx = wx;
+ my = wy;
+ mw = mfact * ww;
+ mh = wh;
+
+ /* tile area geometry */
+ tx = mx + mw;
+ ty = wy;
+ tw = ww - mw;
+ th = wh;
+}
+
+void
updatetitle(Client *c) {
if(!gettextprop(c->win, netatom[NetWMName], c->name, sizeof c->name))
gettextprop(c->win, wmatom[WMName], c->name, sizeof c->name);
t@@ -1733,6 +1817,21 @@ xerrorstart(Display *dpy, XErrorEvent *ee) {
return -1;
}
+void
+zoom(const char *arg) {
+ Client *c = sel;
+
+ if(c == nextunfloating(clients))
+ if(!c || !(c = nextunfloating(c->next)))
+ return;
+ if(lt->arrange == tile && !sel->isfloating) {
+ detach(c);
+ attach(c);
+ focus(c);
+ }
+ arrange();
+}
+
int
main(int argc, char *argv[]) {
if(argc == 2 && !strcmp("-v", argv[1]))
diff --git a/tile.c b/tile.c
t@@ -1,102 +0,0 @@
-/* See LICENSE file for copyright and license details. */
-int bx, by, bw, bh, blw, mx, my, mw, mh, tx, ty, tw, th, wx, wy, ww, wh;
-
-void setmfact(const char *arg);
-void tile(void);
-void tileresize(Client *c, int x, int y, int w, int h);
-void updatetilegeom(void);
-
-void
-setmfact(const char *arg) {
- double d;
-
- if(!arg || lt->arrange != tile)
- return;
- else {
- d = strtod(arg, NULL);
- if(arg[0] == '-' || arg[0] == '+')
- d += mfact;
- if(d < 0.1 || d > 0.9)
- return;
- mfact = d;
- }
- updatetilegeom();
- arrange();
-}
-
-void
-tile(void) {
- int x, y, h, w;
- unsigned int i, n;
- Client *c;
-
- for(n = 0, c = nextunfloating(clients); c; c = nextunfloating(c->next)…
- if(n == 0)
- return;
-
- /* master */
- c = nextunfloating(clients);
-
- if(n == 1)
- tileresize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw);
- else
- tileresize(c, mx, my, mw - 2 * c->bw, mh - 2 * c->bw);
-
- if(--n == 0)
- return;
-
- /* tile stack */
- x = (tx > c->x + c->w) ? c->x + c->w + 2 * c->bw : tw;
- y = ty;
- w = (tx > c->x + c->w) ? wx + ww - x : tw;
- h = th / n;
- if(h < bh)
- h = th;
-
- for(i = 0, c = nextunfloating(c->next); c; c = nextunfloating(c->next)…
- if(i + 1 == n) /* remainder */
- tileresize(c, x, y, w - 2 * c->bw, (ty + th) - y - 2 *…
- else
- tileresize(c, x, y, w - 2 * c->bw, h - 2 * c->bw);
- if(h != th)
- y = c->y + c->h + 2 * c->bw;
- }
-}
-
-void
-tileresize(Client *c, int x, int y, int w, int h) {
- resize(c, x, y, w, h, resizehints);
- if(resizehints && ((c->h < bh) || (c->h > h) || (c->w < bh) || (c->w >…
- /* client doesn't accept size constraints */
- resize(c, x, y, w, h, False);
-}
-
-void
-zoom(const char *arg) {
- Client *c = sel;
-
- if(c == nextunfloating(clients))
- if(!c || !(c = nextunfloating(c->next)))
- return;
- if(lt->arrange == tile && !sel->isfloating) {
- detach(c);
- attach(c);
- focus(c);
- }
- arrange();
-}
-
-void
-updatetilegeom(void) {
- /* master area geometry */
- mx = wx;
- my = wy;
- mw = mfact * ww;
- mh = wh;
-
- /* tile area geometry */
- tx = mx + mw;
- ty = wy;
- tw = ww - mw;
- th = wh;
-}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.