diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-01-19 19:21:10 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2020-01-19 19:21:10 +0100 |
commit | 09eac381e58e74051ab7ddb1e96fc32671d3cada (patch) | |
tree | 2111457c356853a44ffc859d1e8cf6951dc14bab /sys/src/cmd/acme/cols.c | |
parent | 16f11e4cd6a925d10aaef1416bbe2d8874618f74 (diff) | |
parent | 47bae09b33f677b9e1f5b45190ec5216f5d988e0 (diff) |
merge
Diffstat (limited to 'sys/src/cmd/acme/cols.c')
-rw-r--r-- | sys/src/cmd/acme/cols.c | 13 |
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 |