]> Dogcows Code - chaz/openbox/blobdiff - src/client.cc
python with callbacks!
[chaz/openbox] / src / client.cc
index 07d754624ad29aacbb4b635d52d54e3548ec6572..a0dc6d76b159202ff0a7587f44a22689a891acf4 100644 (file)
@@ -26,6 +26,7 @@ namespace ob {
 
 OBClient::OBClient(int screen, Window window)
   : otk::OtkEventHandler(),
+    OBWidget(OBWidget::Type_Client),
     frame(0), _screen(screen), _window(window)
 {
   assert(screen >= 0);
@@ -673,8 +674,6 @@ void OBClient::toggleClientBorder(bool addborder)
   case NorthWestGravity:
   case WestGravity:
   case SouthWestGravity:
-    if (addborder) x += _border_width;
-    else           x -= _border_width;
     break;
   case NorthEastGravity:
   case EastGravity:
@@ -687,8 +686,6 @@ void OBClient::toggleClientBorder(bool addborder)
   case NorthWestGravity:
   case NorthGravity:
   case NorthEastGravity:
-    if (addborder) y += _border_width;
-    else           y -= _border_width;
     break;
   case SouthWestGravity:
   case SouthGravity:
@@ -777,6 +774,11 @@ void OBClient::resize(Corner anchor, int w, int h)
   w -= _base_size.x(); 
   h -= _base_size.y();
 
+  // for interactive resizing. have to move half an increment in each
+  // direction.
+  w += _size_inc.x() / 2;
+  h += _size_inc.y() / 2;
+
   // is the window resizable? if it is not, then don't check its sizes, the
   // client can do what it wants and the user can't change it anyhow
   if (_min_size.x() <= _max_size.x() && _min_size.y() <= _max_size.y()) {
This page took 0.020951 seconds and 4 git commands to generate.