diff options
Diffstat (limited to 'app/cwm/client.c')
-rw-r--r-- | app/cwm/client.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/app/cwm/client.c b/app/cwm/client.c index 1955f4a9f..11fb8fdc6 100644 --- a/app/cwm/client.c +++ b/app/cwm/client.c @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: client.c,v 1.245 2018/02/06 15:05:20 okan Exp $ + * $OpenBSD: client.c,v 1.246 2018/11/08 15:49:42 okan Exp $ */ #include <sys/types.h> @@ -96,6 +96,7 @@ client_init(Window win, struct screen_ctx *sc, int active) cc->ptr.y = cc->geom.h / 2; cc->colormap = wattr.colormap; + cc->obwidth = wattr.border_width; if (wattr.map_state != IsViewable) { client_placecalc(cc); @@ -760,6 +761,12 @@ client_placecalc(struct client_ctx *cc) cc->geom.x = sc->view.h - cc->bwidth - 1; if (cc->geom.y + cc->geom.h + cc->bwidth <= 0) cc->geom.y = -(cc->geom.h + cc->bwidth - 1); + if (cc->flags & CLIENT_IGNORE) { + if (((cc->obwidth * 2) + cc->geom.x + cc->geom.w) == sc->view.w) + cc->geom.x += cc->obwidth * 2; + if (((cc->obwidth * 2) + cc->geom.y + cc->geom.h) == sc->view.h) + cc->geom.y += cc->obwidth * 2; + } } else { struct geom area; int xmouse, ymouse; |