Introduction
Introduction Statistics Contact Development Disclaimer Help
tno, reodering floating clients definately breaks the manage() policy which att…
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit 0915da8842fd6e16b804ae3205ec2f6baaaa342c
parent 0d0e8bde134b999dd22c891d227d886ca6c9ba2c
Author: Anselm R. Garbe <[email protected]>
Date: Wed, 6 Sep 2006 09:13:31 +0200
no, reodering floating clients definately breaks the manage() policy which atta…
Diffstat:
M client.c | 2 --
M tag.c | 9 +++------
M view.c | 23 +++++++++++++++--------
3 files changed, 18 insertions(+), 16 deletions(-)
---
diff --git a/client.c b/client.c
t@@ -247,8 +247,6 @@ manage(Window w, XWindowAttributes *wa)
c->isfloat = trans
|| (c->maxw && c->minw &&
c->maxw == c->minw && c->maxh == c->minh);
- if(c->isfloat)
- c->weight = ntags;
if(clients)
clients->prev = c;
diff --git a/tag.c b/tag.c
t@@ -106,8 +106,7 @@ settags(Client *c)
if(!matched)
for(i = 0; i < ntags; i++)
c->tags[i] = seltag[i];
- if(!c->isfloat)
- for(c->weight = 0; c->weight < ntags && !c->tags[c->weight]; c…
+ for(c->weight = 0; c->weight < ntags && !c->tags[c->weight]; c->weight…
}
void
t@@ -121,8 +120,7 @@ tag(Arg *arg)
for(i = 0; i < ntags; i++)
sel->tags[i] = False;
sel->tags[arg->i] = True;
- if(!sel->isfloat)
- sel->weight = arg->i;
+ sel->weight = arg->i;
arrange(NULL);
}
t@@ -138,7 +136,6 @@ toggletag(Arg *arg)
for(i = 0; i < ntags && !sel->tags[i]; i++);
if(i == ntags)
sel->tags[arg->i] = True;
- if(!sel->isfloat)
- sel->weight = (i == ntags) ? arg->i : i;
+ sel->weight = (i == ntags) ? arg->i : i;
arrange(NULL);
}
diff --git a/view.c b/view.c
t@@ -38,6 +38,13 @@ reorder()
clients = newclients;
}
+static Client *
+nexttiled(Client *c)
+{
+ for(c = getnext(c->next); c && c->isfloat; c = getnext(c->next));
+ return c;
+}
+
/* extern */
void (*arrange)(Arg *) = DEFMODE;
t@@ -82,8 +89,8 @@ dotile(Arg *arg)
maximized = False;
w = sw - mw;
- for(n = 0, c = clients; c && !c->isfloat; c = c->next)
- if(isvisible(c))
+ for(n = 0, c = clients; c; c = c->next)
+ if(isvisible(c) && !c->isfloat)
n++;
if(n > 1)
t@@ -186,8 +193,8 @@ resizecol(Arg *arg)
unsigned int n;
Client *c;
- for(n = 0, c = clients; c && !c->isfloat; c = c->next)
- if(isvisible(c))
+ for(n = 0, c = clients; c; c = c->next)
+ if(isvisible(c) && !c->isfloat)
n++;
if(!sel || sel->isfloat || n < 2 || (arrange != dotile) || maximized)
return;
t@@ -311,14 +318,14 @@ zoom(Arg *arg)
unsigned int n;
Client *c;
- for(n = 0, c = clients; c && !c->isfloat; c = c->next)
- if(isvisible(c))
+ for(n = 0, c = clients; c; c = c->next)
+ if(isvisible(c) && !c->isfloat)
n++;
if(!sel || sel->isfloat || n < 2 || (arrange != dotile) || maximized)
return;
- if((c = sel) == getnext(clients))
- if(!(c = getnext(c->next)) || c->isfloat)
+ if((c = sel) == nexttiled(clients))
+ if(!(c = nexttiled(c)))
return;
detach(c);
c->next = clients;
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.