commit 50af165f42bea6ae6185418f3fd8d63ec44c02fa
parent 8deb1bf6245b53493f413b40b47afaa52af61340
Author: Kris Maglione <bsdaemon@wmii.de>
Date: Tue, 20 Jun 2006 05:34:11 -0400
Fixed toggling between float/managed areas
Diffstat:
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/cmd/wm/area.c b/cmd/wm/area.c
@@ -86,13 +86,12 @@ select_area(Area *a, char *arg)
static char Ebadvalue[] = "bad value";
v = a->view;
- v->revert = a;
f = a->sel;
if(!strncmp(arg, "toggle", 7)) {
if(a != v->area)
new = v->area;
- else if(v->revert && v->revert != v->area)
+ else if(v->revert)
new = v->revert;
else
new = v->area->next;
@@ -130,6 +129,8 @@ select_area(Area *a, char *arg)
if(new->sel)
focus_client(new->sel->client, True);
v->sel = new;
+ if(a != v->area)
+ v->revert = a;
draw_clients();
return nil;
}
diff --git a/cmd/wm/fs.c b/cmd/wm/fs.c
@@ -53,9 +53,9 @@ enum { /* Dirs */
/* Files */
FsFBar, FsFBorder, FsFCNorm, FsFCSel,
FsFCctl, FsFCindex, FsFColRules, FsFCtags,
- FsFEvent, FsFFont, FsFKeys, FsFRctl, FsFTname,
- FsFTagRules, FsFTctl, FsFTindex, FsFprops,
- RsFFont, FsFgrabmod
+ FsFEvent, FsFFont, FsFKeys, FsFRctl,
+ FsFTagRules, FsFTctl, FsFTindex, FsFTname,
+ FsFgrabmod, FsFprops, RsFFont
};
/* Error messages */
@@ -292,7 +292,7 @@ write_event(char *buf) {
fi = f->fid->aux;
slen = fi->buf ? strlen(fi->buf) : 0;
fi->buf = realloc(fi->buf, slen + len + 1);
- fi->buf[slen] = '\0'; /* shut up valgring */
+ fi->buf[slen] = '\0'; /* shut up valgrind */
strcat(fi->buf, buf);
}
while((aux = pending_event_reads)) {
@@ -811,10 +811,11 @@ fs_clunk(Req *r) {
FileId *f = r->fid->aux;
switch(f->tab.type) {
+ case FsFColRules:
+ update_rules(&f->rule->rule, f->rule->string);
+ break;
case FsFTagRules:
update_rules(&f->rule->rule, f->rule->string);
- /* no break */
- case FsFColRules:
for(c=client; c; c=c->next)
apply_rules(c);
update_views();
diff --git a/cmd/wm/view.c b/cmd/wm/view.c
@@ -417,9 +417,7 @@ message_view(View *v, char *message) {
}
if(!strncmp(message, "select ", 7)) {
message += 7;
- if(v->sel->sel)
- return select_area(v->sel, message);
- return Ebadvalue;
+ return select_area(v->sel, message);
}
return Ebadvalue;
}