summaryrefslogtreecommitdiff
path: root/sys/src/cmd/acme/cols.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2020-01-19 19:21:10 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2020-01-19 19:21:10 +0100
commit09eac381e58e74051ab7ddb1e96fc32671d3cada (patch)
tree2111457c356853a44ffc859d1e8cf6951dc14bab /sys/src/cmd/acme/cols.c
parent16f11e4cd6a925d10aaef1416bbe2d8874618f74 (diff)
parent47bae09b33f677b9e1f5b45190ec5216f5d988e0 (diff)
merge
Diffstat (limited to 'sys/src/cmd/acme/cols.c')
-rw-r--r--sys/src/cmd/acme/cols.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/src/cmd/acme/cols.c b/sys/src/cmd/acme/cols.c
index d069d64fe..6beb2edb0 100644
--- a/sys/src/cmd/acme/cols.c
+++ b/sys/src/cmd/acme/cols.c
@@ -112,7 +112,7 @@ void
colclose(Column *c, Window *w, int dofree)
{
Rectangle r;
- int i;
+ int i, didmouse, up;
/* w is locked */
if(!c->safe)
@@ -126,7 +126,7 @@ colclose(Column *c, Window *w, int dofree)
w->tag.col = nil;
w->body.col = nil;
w->col = nil;
- restoremouse(w);
+ didmouse = restoremouse(w);
if(dofree){
windelete(w);
winclose(w);
@@ -138,17 +138,24 @@ colclose(Column *c, Window *w, int dofree)
draw(screen, r, display->white, nil, ZP);
return;
}
+ up = 0;
if(i == c->nw){ /* extend last window down */
w = c->w[i-1];
r.min.y = w->r.min.y;
r.max.y = c->r.max.y;
}else{ /* extend next window up */
+ up = 1;
w = c->w[i];
r.max.y = w->r.max.y;
}
draw(screen, r, textcols[BACK], nil, ZP);
- if(c->safe)
+ if(c->safe) {
+ if(!didmouse && up)
+ w->showdel = TRUE;
winresize(w, r, FALSE);
+ if(!didmouse && up)
+ movetodel(w);
+ }
}
void