summaryrefslogtreecommitdiff
path: root/openbox/resist.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-07-20 20:23:35 -0400
committerDana Jansens <danakj@orodu.net>2007-07-20 20:23:35 -0400
commitf0e82075a14f4bcfc6ee219b636f99f0568a15bf (patch)
tree7d4253853eeabb56043ae7b50cbad2e739464a2a /openbox/resist.c
parent019e80355920a29fb1b6c800b268004e8573c98a (diff)
let you resize aspect ratio windows in north and south directions, and make them resist properly when resizing
Diffstat (limited to 'openbox/resist.c')
-rw-r--r--openbox/resist.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/openbox/resist.c b/openbox/resist.c
index a3eee7b9..b8f24893 100644
--- a/openbox/resist.c
+++ b/openbox/resist.c
@@ -234,6 +234,8 @@ void resist_size_windows(ObClient *c, gint resist, gint *w, gint *h,
case OB_DIRECTION_EAST:
case OB_DIRECTION_NORTHEAST:
case OB_DIRECTION_SOUTHEAST:
+ case OB_DIRECTION_NORTH:
+ case OB_DIRECTION_SOUTH:
dlt = l;
drb = r + *w - c->frame->area.width;
if (r < tl && drb >= tl &&
@@ -249,9 +251,6 @@ void resist_size_windows(ObClient *c, gint resist, gint *w, gint *h,
dlt > tr - resist)
*w = r - tr, snapx = target;
break;
- case OB_DIRECTION_NORTH:
- case OB_DIRECTION_SOUTH:
- break;
}
}
}
@@ -263,6 +262,8 @@ void resist_size_windows(ObClient *c, gint resist, gint *w, gint *h,
case OB_DIRECTION_SOUTH:
case OB_DIRECTION_SOUTHWEST:
case OB_DIRECTION_SOUTHEAST:
+ case OB_DIRECTION_EAST:
+ case OB_DIRECTION_WEST:
dlt = t;
drb = b + *h - c->frame->area.height;
if (b < tt && drb >= tt &&
@@ -278,9 +279,6 @@ void resist_size_windows(ObClient *c, gint resist, gint *w, gint *h,
dlt > tb - resist)
*h = b - tb, snapy = target;
break;
- case OB_DIRECTION_EAST:
- case OB_DIRECTION_WEST:
- break;
}
}
}
@@ -340,6 +338,8 @@ void resist_size_monitors(ObClient *c, gint resist, gint *w, gint *h,
case OB_DIRECTION_EAST:
case OB_DIRECTION_NORTHEAST:
case OB_DIRECTION_SOUTHEAST:
+ case OB_DIRECTION_NORTH:
+ case OB_DIRECTION_SOUTH:
dlt = l;
drb = r + *w - c->frame->area.width;
if (r <= ar && drb > ar && drb <= ar + resist)
@@ -357,9 +357,6 @@ void resist_size_monitors(ObClient *c, gint resist, gint *w, gint *h,
else if (l >= pl && dlt < pl && dlt >= pl - resist)
*w = r - pl + 1;
break;
- case OB_DIRECTION_NORTH:
- case OB_DIRECTION_SOUTH:
- break;
}
/* vertical snapping */
@@ -367,6 +364,8 @@ void resist_size_monitors(ObClient *c, gint resist, gint *w, gint *h,
case OB_DIRECTION_SOUTH:
case OB_DIRECTION_SOUTHWEST:
case OB_DIRECTION_SOUTHEAST:
+ case OB_DIRECTION_WEST:
+ case OB_DIRECTION_EAST:
dlt = t;
drb = b + *h - c->frame->area.height;
if (b <= ab && drb > ab && drb <= ab + resist)
@@ -384,9 +383,6 @@ void resist_size_monitors(ObClient *c, gint resist, gint *w, gint *h,
else if (t >= pt && dlt < pt && dlt >= pt - resist)
*h = b - pt + 1;
break;
- case OB_DIRECTION_WEST:
- case OB_DIRECTION_EAST:
- break;
}
g_free(area);