summaryrefslogtreecommitdiff
path: root/openbox/place.c
diff options
context:
space:
mode:
authorMikael Magnusson <mikachu@gmail.com>2010-04-16 18:04:24 +0200
committerDana Jansens <danakj@orodu.net>2010-05-17 19:31:21 -0400
commit7a679dd1989ee0b5b36ab2d6b16af47be8a537ad (patch)
treef981d2a8fb64785371ca618b213299b083ef4421 /openbox/place.c
parent1c637efcbb26211f0274687beb8f462d5db36cd5 (diff)
Add support for using relative expressions in move and resize actions
Have MoveResizeTo use config_parse_gravity_coord instead of duplicating it locally Allow MoveResizeTo positions and sizes and per app positions to be relative to screen size Rename to config_parse_relative_number so it can be used for sizes too Add relative numbers to width/height in MoveResizeTo Add relative numbers to MoveRelative Add relative numbers to ResizeRelative, these are for the client size, not screen size
Diffstat (limited to 'openbox/place.c')
-rw-r--r--openbox/place.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/openbox/place.c b/openbox/place.c
index c39d5069..d9919d0c 100644
--- a/openbox/place.c
+++ b/openbox/place.c
@@ -406,6 +406,8 @@ static gboolean place_per_app_setting(ObClient *client, gint *x, gint *y,
settings->position.x.pos;
else
*x = screen->x + settings->position.x.pos;
+ if (settings->position.x.denom)
+ *x = (*x * screen->width) / settings->position.x.denom;
if (settings->position.y.center)
*y = screen->y + screen->height / 2 - client->area.height / 2;
@@ -414,6 +416,8 @@ static gboolean place_per_app_setting(ObClient *client, gint *x, gint *y,
settings->position.y.pos;
else
*y = screen->y + settings->position.y.pos;
+ if (settings->position.y.denom)
+ *y = (*y * screen->height) / settings->position.y.denom;
g_slice_free(Rect, screen);
return TRUE;