X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fplace.c;h=d9919d0cadd3ed09c53e23a820d1642f006fad07;hb=48d36cd587e70b9680f65811d08038496a9ccc12;hp=836c215d9239e27a3aeeae6c4d2ef1bf8032e3b1;hpb=aeac3b735bf4caf7c014c58c1271b2cbe5aedd80;p=chaz%2Fopenbox diff --git a/openbox/place.c b/openbox/place.c index 836c215d..d9919d0c 100644 --- a/openbox/place.c +++ b/openbox/place.c @@ -107,7 +107,7 @@ static Rect **pick_head(ObClient *c) screen_pointer_pos(&px, &py); for (i = 0; i < screen_num_monitors; i++) { - Rect const *monitor = screen_physical_area_monitor(i); + const Rect *monitor = screen_physical_area_monitor(i); gboolean contain = RECT_CONTAINS(*monitor, px, py); if (contain) { add_choice(choice, i); @@ -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;