]> Dogcows Code - chaz/openbox/blobdiff - openbox/frame.c
only hilight the first entry when opening the menu with a keybind
[chaz/openbox] / openbox / frame.c
index 780bc23d1302fe4caa0b65c7e89c9c87f8e01123..e5b4cdebbb568249a5010a05d90c478f14cd7e0e 100644 (file)
@@ -856,13 +856,11 @@ void frame_grab_client(ObFrame *self)
     /*
       When reparenting the client window, it is usually not mapped yet, since
       this occurs from a MapRequest. However, in the case where Openbox is
-      starting up, the window is already mapped, so we'll see unmap events for
-      it. There are 2 unmap events generated that we see, one with the 'event'
-      member set the root window, and one set to the client, but both get
-      handled and need to be ignored.
+      starting up, the window is already mapped, so we'll see an unmap event
+      for it.
     */
     if (ob_state() == OB_STATE_STARTING)
-        self->client->ignore_unmaps += 2;
+        ++self->client->ignore_unmaps;
 
     /* select the event mask on the client's parent (to receive config/map
        req's) the ButtonPress is to catch clicks on the client border */
@@ -1343,13 +1341,14 @@ void frame_client_gravity(ObFrame *self, gint *x, gint *y, gint w, gint h)
     case SouthEastGravity:
     case EastGravity:
         /* the right side of the client will be the right side of the frame */
-        *x -= self->size.right + self->size.left;
+        *x -= self->size.right + self->size.left -
+            self->client->border_width * 2;
         break;
 
     case ForgetGravity:
     case StaticGravity:
         /* the client's position won't move */
-        *x -= self->size.left;
+        *x -= self->size.left - self->client->border_width;
         break;
     }
 
@@ -1372,13 +1371,14 @@ void frame_client_gravity(ObFrame *self, gint *x, gint *y, gint w, gint h)
     case SouthEastGravity:
     case SouthGravity:
         /* the bottom of the client will be the bottom of the frame */
-        *y -= self->size.bottom + self->size.top;
+        *y -= self->size.bottom + self->size.top -
+            self->client->border_width * 2;
         break;
 
     case ForgetGravity:
     case StaticGravity:
         /* the client's position won't move */
-        *y -= self->size.top;
+        *y -= self->size.top - self->client->border_width;
         break;
     }
 }
@@ -1402,12 +1402,13 @@ void frame_frame_gravity(ObFrame *self, gint *x, gint *y, gint w, gint h)
     case EastGravity:
     case SouthEastGravity:
         /* the right side of the client will be the right side of the frame */
-        *x += self->size.right + self->size.left;
+        *x += self->size.right + self->size.left -
+            self->client->border_width * 2;
         break;
     case StaticGravity:
     case ForgetGravity:
         /* the client's position won't move */
-        *x += self->size.left;
+        *x += self->size.left - self->client->border_width;
         break;
     }
 
@@ -1428,12 +1429,13 @@ void frame_frame_gravity(ObFrame *self, gint *x, gint *y, gint w, gint h)
     case SouthGravity:
     case SouthEastGravity:
         /* the bottom of the client will be the bottom of the frame */
-        *y += self->size.bottom + self->size.top;
+        *y += self->size.bottom + self->size.top -
+            self->client->border_width * 2;
         break;
     case StaticGravity:
     case ForgetGravity:
         /* the client's position won't move */
-        *y += self->size.top;
+        *y += self->size.top - self->client->border_width;
         break;
     }
 }
This page took 0.025838 seconds and 4 git commands to generate.