]> Dogcows Code - chaz/openbox/blobdiff - openbox/place.c
update the user-interaction timestamp when running a (non-interactive) action on...
[chaz/openbox] / openbox / place.c
index 8292d6a24536f76ae6f87dd08b689f65540c70ca..d9919d0cadd3ed09c53e23a820d1642f006fad07 100644 (file)
@@ -107,9 +107,8 @@ static Rect **pick_head(ObClient *c)
     screen_pointer_pos(&px, &py);
 
     for (i = 0; i < screen_num_monitors; i++) {
-        Rect *monitor = screen_physical_area_monitor(i);
+        const Rect *monitor = screen_physical_area_monitor(i);
         gboolean contain = RECT_CONTAINS(*monitor, px, py);
-        g_free(monitor);
         if (contain) {
             add_choice(choice, i);
             ob_debug("placement adding choice %d for mouse pointer", i);
@@ -407,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;
@@ -415,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;
This page took 0.02289 seconds and 4 git commands to generate.