diff options
| author | Mikael Magnusson <mikachu@gmail.com> | 2010-04-16 18:04:24 +0200 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2010-05-17 19:31:21 -0400 |
| commit | 7a679dd1989ee0b5b36ab2d6b16af47be8a537ad (patch) | |
| tree | f981d2a8fb64785371ca618b213299b083ef4421 /openbox/place.c | |
| parent | 1c637efcbb26211f0274687beb8f462d5db36cd5 (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.c | 4 |
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; |
