summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openbox/frame.c7
-rw-r--r--openbox/frame.h4
2 files changed, 11 insertions, 0 deletions
diff --git a/openbox/frame.c b/openbox/frame.c
index cefa389e..0f9e581f 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -1539,6 +1539,13 @@ void frame_rect_to_frame(ObFrame *self, Rect *r)
frame_client_gravity(self, &r->x, &r->y);
}
+void frame_rect_to_client(ObFrame *self, Rect *r)
+{
+ r->width -= self->size.left + self->size.right;
+ r->height -= self->size.top + self->size.bottom;
+ frame_frame_gravity(self, &r->x, &r->y);
+}
+
static void flash_done(gpointer data)
{
ObFrame *self = data;
diff --git a/openbox/frame.h b/openbox/frame.h
index edf75b05..7fed639d 100644
--- a/openbox/frame.h
+++ b/openbox/frame.h
@@ -237,6 +237,10 @@ void frame_frame_gravity(ObFrame *self, gint *x, gint *y);
for the frame, given its current decorations sizes */
void frame_rect_to_frame(ObFrame *self, Rect *r);
+/*! Convert a rectangle in frame coordinates/sizes to what it would be for the
+ client, given its current decorations sizes */
+void frame_rect_to_client(ObFrame *self, Rect *r);
+
void frame_flash_start(ObFrame *self);
void frame_flash_stop(ObFrame *self);