the coordiantes are from the client, not the frame
Dana Jansens danakj@orodu.net
2 files changed,
14 insertions(+),
0 deletions(-)
M
openbox/resist.c
→
openbox/resist.c
@@ -36,6 +36,8 @@ ObClient *snapx = NULL, *snapy = NULL;
if (!resist) return; + frame_client_gravity(c->frame, x, y, c->area.width, c->area.height); + w = c->frame->area.width; h = c->frame->area.height;@@ -112,6 +114,8 @@ }
if (snapx && snapy) break; } + + frame_frame_gravity(c->frame, x, y, c->area.width, c->area.height); } void resist_move_monitors(ObClient *c, gint resist, gint *x, gint *y)@@ -125,6 +129,8 @@ gint cl, ct, cr, cb; /* current edges */
gint w, h; /* current size */ if (!resist) return; + + frame_client_gravity(c->frame, x, y, c->area.width, c->area.height); w = c->frame->area.width; h = c->frame->area.height;@@ -173,6 +179,8 @@ *y = pt;
else if (cb <= pb && b > pb && b < pb + resist) *y = pb - h + 1; } + + frame_frame_gravity(c->frame, x, y, c->area.width, c->area.height); } void resist_size_windows(ObClient *c, gint resist, gint *w, gint *h,
M
openbox/resist.h
→
openbox/resist.h
@@ -23,7 +23,13 @@ struct _ObClient;
#include <glib.h> +/*! @x The client's x destination (in the client's coordinates, not the frame's + @y The client's y destination (in the client's coordinates, not the frame's +*/ void resist_move_windows(struct _ObClient *c, gint resist, gint *x, gint *y); +/*! @x The client's x destination (in the client's coordinates, not the frame's + @y The client's y destination (in the client's coordinates, not the frame's +*/ void resist_move_monitors(struct _ObClient *c, gint resist, gint *x, gint *y); void resist_size_windows(struct _ObClient *c, gint resist, gint *w, gint *h, ObCorner corn);