trenamed floating into swimming (this does not clash with C naming conventions … | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit cee56d38632bbac08e7f59d58c7c7ab1370be329 | |
parent 7c4da2446531bfec2f9b32998604aa9ff2da11c3 | |
Author: Anselm R. Garbe <[email protected]> | |
Date: Mon, 19 Feb 2007 17:00:32 +0100 | |
renamed floating into swimming (this does not clash with C naming conventions a… | |
Diffstat: | |
M client.c | 8 ++++---- | |
M config.arg.h | 8 ++++---- | |
M config.default.h | 8 ++++---- | |
M dwm.1 | 20 ++++++++++---------- | |
M dwm.h | 7 +++---- | |
M event.c | 8 ++++---- | |
M screen.c | 133 ++++++++++++++++-------------… | |
7 files changed, 96 insertions(+), 96 deletions(-) | |
--- | |
diff --git a/client.c b/client.c | |
t@@ -253,8 +253,8 @@ manage(Window w, XWindowAttributes *wa) { | |
updatetitle(c); | |
for(t = clients; t && t->win != trans; t = t->next); | |
settags(c, t); | |
- if(!c->isfloat) | |
- c->isfloat = (t != NULL) || c->isfixed; | |
+ if(!c->swimming) | |
+ c->swimming = (t != NULL) || c->isfixed; | |
attach(c); | |
attachstack(c); | |
c->isbanned = True; | |
t@@ -268,7 +268,7 @@ manage(Window w, XWindowAttributes *wa) { | |
Client * | |
nexttiled(Client *c) { | |
- for(; c && (c->isfloat || !isvisible(c)); c = c->next); | |
+ for(; c && (c->swimming || !isvisible(c)); c = c->next); | |
return c; | |
} | |
t@@ -440,7 +440,7 @@ zoom(Arg *arg) { | |
if(!sel) | |
return; | |
- if(sel->isfloat || (lt->arrange == dofloat)) { | |
+ if(sel->swimming || (lt->arrange == swim)) { | |
togglemax(sel); | |
return; | |
} | |
diff --git a/config.arg.h b/config.arg.h | |
t@@ -8,8 +8,8 @@ const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8",… | |
#define LAYOUTS \ | |
static Layout layout[] = { \ | |
/* symbol function */ \ | |
- { "[]=", dotile }, /* first entry is default */ \ | |
- { "><>", dofloat }, \ | |
+ { "[]=", tile }, /* first entry is default */ \ | |
+ { "><>", swim }, \ | |
}; | |
#define BORDERPX 1 | |
t@@ -64,7 +64,7 @@ static Key key[] = { \ | |
{ MODKEY|ControlMask|ShiftMask, XK_9, toggletag,… | |
{ MODKEY|ShiftMask, XK_c, killclient, … | |
{ MODKEY, XK_space, togglelayout, … | |
- { MODKEY|ShiftMask, XK_space, togglefloat, … | |
+ { MODKEY|ShiftMask, XK_space, toggleswimming, … | |
{ MODKEY, XK_0, view, … | |
{ MODKEY, XK_1, view, … | |
{ MODKEY, XK_2, view, … | |
t@@ -89,7 +89,7 @@ static Key key[] = { \ | |
#define RULES \ | |
static Rule rule[] = { \ | |
- /* class:instance:title regex tags regex isfloat */ \ | |
+ /* class:instance:title regex tags regex swimming */ \ | |
{ "Firefox", "3", False }, \ | |
{ "Gimp", NULL, True }, \ | |
{ "MPlayer", NULL, True }, \ | |
diff --git a/config.default.h b/config.default.h | |
t@@ -8,8 +8,8 @@ const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8",… | |
#define LAYOUTS \ | |
Layout layout[] = { \ | |
/* symbol function */ \ | |
- { "[]=", dotile }, /* first entry is default */ \ | |
- { "><>", dofloat }, \ | |
+ { "[]=", tile }, /* first entry is default */ \ | |
+ { "><>", swim }, \ | |
}; | |
#define BORDERPX 1 | |
t@@ -59,7 +59,7 @@ static Key key[] = { \ | |
{ MODKEY|ControlMask|ShiftMask, XK_9, toggletag,… | |
{ MODKEY|ShiftMask, XK_c, killclient, … | |
{ MODKEY, XK_space, togglelayout, … | |
- { MODKEY|ShiftMask, XK_space, togglefloat, … | |
+ { MODKEY|ShiftMask, XK_space, toggleswimming, … | |
{ MODKEY, XK_0, view, … | |
{ MODKEY, XK_1, view, … | |
{ MODKEY, XK_2, view, … | |
t@@ -86,7 +86,7 @@ static Key key[] = { \ | |
* xprop | awk -F '"' '/^WM_CLASS/ { printf("%s:%s:",$4,$2) }; /^WM_NAME/ { pr… | |
#define RULES \ | |
static Rule rule[] = { \ | |
- /* class:instance:title regex tags regex isfloat */ \ | |
+ /* class:instance:title regex tags regex swimming */ \ | |
{ "Gimp", NULL, True }, \ | |
{ "MPlayer", NULL, True }, \ | |
{ "Acroread", NULL, True }, \ | |
diff --git a/dwm.1 b/dwm.1 | |
t@@ -6,13 +6,13 @@ dwm \- dynamic window manager | |
.RB [ \-v ] | |
.SH DESCRIPTION | |
dwm is a dynamic window manager for X. It manages windows in tiling and | |
-floating layouts. Either layout can be applied dynamically, optimizing the | |
+swimming layouts. Either layout can be applied dynamically, optimizing the | |
environment for the application in use and the task performed. | |
.P | |
In tiling layout windows are managed in a master and stacking area. The master | |
area contains the windows which currently need most attention, whereas the | |
-stacking area contains all other windows. In floating layout windows can be | |
-resized and moved freely. Dialog windows are always managed floating, | |
+stacking area contains all other windows. In swimming layout windows can be | |
+resized and moved freely. Dialog windows are always managed swimming, | |
regardless of the layout applied. | |
.P | |
Windows are grouped by tags. Each window can be tagged with one or multiple | |
t@@ -38,7 +38,7 @@ is read and displayed in the status text area. | |
.TP | |
.B Button1 | |
click on a tag label to display all windows with that tag, click on the layout | |
-label toggles between tiling and floating layout. | |
+label toggles between tiling and swimming layout. | |
.TP | |
.B Button3 | |
click on a tag label adds/removes all windows with that tag to/from the view. | |
t@@ -67,7 +67,7 @@ Focus next window. | |
Focus previous window. | |
.TP | |
.B Mod1-Return | |
-Zooms/cycles current window to/from master area (tiling layout), toggles maxim… | |
+Zooms/cycles current window to/from master area (tiling layout), toggles maxim… | |
.TP | |
.B Mod1-g | |
Grow master area (tiling layout only). | |
t@@ -98,10 +98,10 @@ tag to/from current window. | |
Close focused window. | |
.TP | |
.B Mod1-space | |
-Toggle between tiling and floating layout (affects all windows). | |
+Toggle between tiling and swimming layout (affects all windows). | |
.TP | |
.B Mod1-Shift-space | |
-Toggle focused window between floating and non-floating state (tiling layout o… | |
+Toggle focused window between swimming and non-swimming state (tiling layout o… | |
.TP | |
.B Mod1-[1..n] | |
View all windows with | |
t@@ -121,13 +121,13 @@ Quit dwm. | |
.SS Mouse commands | |
.TP | |
.B Mod1-Button1 | |
-Move current window while dragging (floating layout only). | |
+Move current window while dragging (swimming layout only). | |
.TP | |
.B Mod1-Button2 | |
-Zooms/cycles current window to/from master area (tiling layout), toggles maxim… | |
+Zooms/cycles current window to/from master area (tiling layout), toggles maxim… | |
.TP | |
.B Mod1-Button3 | |
-Resize current window while dragging (floating layout only). | |
+Resize current window while dragging (swimming layout only). | |
.SH CUSTOMIZATION | |
dwm is customized by creating a custom config.h and (re)compiling the source | |
code. This keeps it fast, secure and simple. | |
diff --git a/dwm.h b/dwm.h | |
t@@ -72,7 +72,7 @@ struct Client { | |
int minax, minay, maxax, maxay; | |
long flags; | |
unsigned int border; | |
- Bool isbanned, isfixed, isfloat, ismax; | |
+ Bool isbanned, isfixed, ismax, swimming; | |
Bool *tags; | |
Client *next; | |
Client *prev; | |
t@@ -129,16 +129,15 @@ extern int xerror(Display *dsply, XErrorEvent *ee); … | |
/* screen.c */ | |
extern void compileregs(void); /* initialize regexps of… | |
-extern void dofloat(void); /* arranges all windows floa… | |
-extern void dotile(void); /* arranges all windows tiled… | |
extern void incnmaster(Arg *arg); /* increments nmaster with ar… | |
extern void initlayouts(void); /* initialize layout arr… | |
extern Bool isvisible(Client *c); /* returns True if client is … | |
extern void resizemaster(Arg *arg); /* resizes the master perce… | |
extern void restack(void); /* restores z layers of all … | |
extern void settags(Client *c, Client *trans); /* sets tags of c */ | |
+extern void swim(void); /* arranges all windows… | |
extern void tag(Arg *arg); /* tags c with arg's index */ | |
-extern void togglefloat(Arg *arg); /* toggles focusesd client b… | |
+extern void toggleswimming(Arg *arg); /* toggles focusesd clien… | |
extern void togglelayout(Arg *arg); /* toggles layout */ | |
extern void toggletag(Arg *arg); /* toggles c tags with arg's i… | |
extern void toggleview(Arg *arg); /* toggles the tag with arg's… | |
diff --git a/event.c b/event.c | |
t@@ -156,14 +156,14 @@ buttonpress(XEvent *e) { | |
focus(c); | |
if(CLEANMASK(ev->state) != MODKEY) | |
return; | |
- if(ev->button == Button1 && (lt->arrange == dofloat || c->isfl… | |
+ if(ev->button == Button1 && (lt->arrange == swim || c->swimmin… | |
restack(); | |
movemouse(c); | |
} | |
else if(ev->button == Button2) | |
zoom(NULL); | |
else if(ev->button == Button3 | |
- && (lt->arrange == dofloat || c->isfloat) && !c->isfixed) | |
+ && (lt->arrange == swim || c->swimming) && !c->isfixed) | |
{ | |
restack(); | |
resizemouse(c); | |
t@@ -181,7 +181,7 @@ configurerequest(XEvent *e) { | |
c->ismax = False; | |
if(ev->value_mask & CWBorderWidth) | |
c->border = ev->border_width; | |
- if(c->isfixed || c->isfloat || (lt->arrange == dofloat)) { | |
+ if(c->isfixed || c->swimming || (lt->arrange == swim)) { | |
if(ev->value_mask & CWX) | |
c->x = ev->x; | |
if(ev->value_mask & CWY) | |
t@@ -309,7 +309,7 @@ propertynotify(XEvent *e) { | |
default: break; | |
case XA_WM_TRANSIENT_FOR: | |
XGetTransientForHint(dpy, c->win, &trans); | |
- if(!c->isfloat && (c->isfloat = (trans != 0))) | |
+ if(!c->swimming && (c->swimming = (getclient(t… | |
lt->arrange(); | |
break; | |
case XA_WM_NORMAL_HINTS: | |
diff --git a/screen.c b/screen.c | |
t@@ -19,7 +19,7 @@ Layout *lt = NULL; | |
typedef struct { | |
const char *prop; | |
const char *tags; | |
- Bool isfloat; | |
+ Bool swimming; | |
} Rule; | |
typedef struct { | |
t@@ -27,7 +27,6 @@ typedef struct { | |
regex_t *tagregex; | |
} Regs; | |
-LAYOUTS | |
TAGS | |
RULES | |
t@@ -35,60 +34,8 @@ static Regs *regs = NULL; | |
static unsigned int nrules = 0; | |
static unsigned int nlayouts = 0; | |
-/* extern */ | |
- | |
-void | |
-compileregs(void) { | |
- unsigned int i; | |
- regex_t *reg; | |
- | |
- if(regs) | |
- return; | |
- nrules = sizeof rule / sizeof rule[0]; | |
- regs = emallocz(nrules * sizeof(Regs)); | |
- for(i = 0; i < nrules; i++) { | |
- if(rule[i].prop) { | |
- reg = emallocz(sizeof(regex_t)); | |
- if(regcomp(reg, rule[i].prop, REG_EXTENDED)) | |
- free(reg); | |
- else | |
- regs[i].propregex = reg; | |
- } | |
- if(rule[i].tags) { | |
- reg = emallocz(sizeof(regex_t)); | |
- if(regcomp(reg, rule[i].tags, REG_EXTENDED)) | |
- free(reg); | |
- else | |
- regs[i].tagregex = reg; | |
- } | |
- } | |
-} | |
- | |
-void | |
-dofloat(void) { | |
- Client *c; | |
- | |
- for(c = clients; c; c = c->next) { | |
- if(isvisible(c)) { | |
- if(c->isbanned) | |
- XMoveWindow(dpy, c->win, c->x, c->y); | |
- c->isbanned = False; | |
- resize(c, c->x, c->y, c->w, c->h, True); | |
- } | |
- else { | |
- c->isbanned = True; | |
- XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y); | |
- } | |
- } | |
- if(!sel || !isvisible(sel)) { | |
- for(c = stack; c && !isvisible(c); c = c->snext); | |
- focus(c); | |
- } | |
- restack(); | |
-} | |
- | |
-void | |
-dotile(void) { | |
+static void | |
+tile(void) { | |
unsigned int i, n, nx, ny, nw, nh, mw, mh, tw, th; | |
Client *c; | |
t@@ -105,7 +52,7 @@ dotile(void) { | |
if(c->isbanned) | |
XMoveWindow(dpy, c->win, c->x, c->y); | |
c->isbanned = False; | |
- if(c->isfloat) | |
+ if(c->swimming) | |
continue; | |
c->ismax = False; | |
nx = wax; | |
t@@ -139,9 +86,40 @@ dotile(void) { | |
restack(); | |
} | |
+LAYOUTS | |
+ | |
+/* extern */ | |
+ | |
+void | |
+compileregs(void) { | |
+ unsigned int i; | |
+ regex_t *reg; | |
+ | |
+ if(regs) | |
+ return; | |
+ nrules = sizeof rule / sizeof rule[0]; | |
+ regs = emallocz(nrules * sizeof(Regs)); | |
+ for(i = 0; i < nrules; i++) { | |
+ if(rule[i].prop) { | |
+ reg = emallocz(sizeof(regex_t)); | |
+ if(regcomp(reg, rule[i].prop, REG_EXTENDED)) | |
+ free(reg); | |
+ else | |
+ regs[i].propregex = reg; | |
+ } | |
+ if(rule[i].tags) { | |
+ reg = emallocz(sizeof(regex_t)); | |
+ if(regcomp(reg, rule[i].tags, REG_EXTENDED)) | |
+ free(reg); | |
+ else | |
+ regs[i].tagregex = reg; | |
+ } | |
+ } | |
+} | |
+ | |
void | |
incnmaster(Arg *arg) { | |
- if((lt->arrange == dofloat) || (nmaster + arg->i < 1) | |
+ if((lt->arrange != tile) || (nmaster + arg->i < 1) | |
|| (wah / (nmaster + arg->i) <= 2 * BORDERPX)) | |
return; | |
nmaster += arg->i; | |
t@@ -176,7 +154,7 @@ isvisible(Client *c) { | |
void | |
resizemaster(Arg *arg) { | |
- if(lt->arrange != dotile) | |
+ if(lt->arrange != tile) | |
return; | |
if(arg->i == 0) | |
master = MASTER; | |
t@@ -197,10 +175,10 @@ restack(void) { | |
drawstatus(); | |
if(!sel) | |
return; | |
- if(sel->isfloat || lt->arrange == dofloat) | |
+ if(sel->swimming || lt->arrange == swim) | |
XRaiseWindow(dpy, sel->win); | |
- if(lt->arrange != dofloat) { | |
- if(!sel->isfloat) | |
+ if(lt->arrange != swim) { | |
+ if(!sel->swimming) | |
XLowerWindow(dpy, sel->win); | |
for(c = nexttiled(clients); c; c = nexttiled(c->next)) { | |
if(c == sel) | |
t@@ -230,7 +208,7 @@ settags(Client *c, Client *trans) { | |
ch.res_name ? ch.res_name : "", c->name); | |
for(i = 0; i < nrules; i++) | |
if(regs[i].propregex && !regexec(regs[i].propregex, pr… | |
- c->isfloat = rule[i].isfloat; | |
+ c->swimming = rule[i].swimming; | |
for(j = 0; regs[i].tagregex && j < ntags; j++)… | |
if(!regexec(regs[i].tagregex, tags[j],… | |
matched = True; | |
t@@ -249,6 +227,29 @@ settags(Client *c, Client *trans) { | |
} | |
void | |
+swim(void) { | |
+ Client *c; | |
+ | |
+ for(c = clients; c; c = c->next) { | |
+ if(isvisible(c)) { | |
+ if(c->isbanned) | |
+ XMoveWindow(dpy, c->win, c->x, c->y); | |
+ c->isbanned = False; | |
+ resize(c, c->x, c->y, c->w, c->h, True); | |
+ } | |
+ else { | |
+ c->isbanned = True; | |
+ XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y); | |
+ } | |
+ } | |
+ if(!sel || !isvisible(sel)) { | |
+ for(c = stack; c && !isvisible(c); c = c->snext); | |
+ focus(c); | |
+ } | |
+ restack(); | |
+} | |
+ | |
+void | |
tag(Arg *arg) { | |
unsigned int i; | |
t@@ -262,10 +263,10 @@ tag(Arg *arg) { | |
} | |
void | |
-togglefloat(Arg *arg) { | |
- if(!sel || lt->arrange == dofloat) | |
+toggleswimming(Arg *arg) { | |
+ if(!sel || lt->arrange == swim) | |
return; | |
- sel->isfloat = !sel->isfloat; | |
+ sel->swimming = !sel->swimming; | |
lt->arrange(); | |
} | |