]> Dogcows Code - chaz/openbox/blobdiff - src/frame.cc
make the frame window override-redirect
[chaz/openbox] / src / frame.cc
index 8085f952a3c1476cf72229da73d3ca2475752d8c..d2760213fc242cd20e6496ca9d2ed43abe178de8 100644 (file)
@@ -24,7 +24,7 @@ namespace ob {
 const long OBFrame::event_mask;
 
 OBFrame::OBFrame(OBClient *client, otk::Style *style)
-  : otk::OtkWidget(Openbox::instance, style),
+  : otk::OtkWidget(Openbox::instance, style, Horizontal, 0, 1, true),
     OBWidget(Type_Frame),
     _client(client),
     _screen(otk::OBDisplay::screenInfo(client->screen())),
@@ -43,8 +43,8 @@ OBFrame::OBFrame(OBClient *client, otk::Style *style)
   assert(client);
   assert(style);
 
-  XSelectInput(otk::OBDisplay::display, window(), OBFrame::event_mask);
-  
+  XSelectInput(otk::OBDisplay::display, _window, OBFrame::event_mask);
+
   _grip_left.setCursor(Openbox::instance->cursors().ll_angle);
   _grip_right.setCursor(Openbox::instance->cursors().lr_angle);
   
@@ -105,7 +105,6 @@ void OBFrame::focus()
 {
   otk::OtkWidget::focus();
   update();
-  _handle.update();
 }
 
 
@@ -126,7 +125,6 @@ void OBFrame::adjustSize()
 {
   // XXX: only if not overridden or something!!! MORE LOGIC HERE!!
   _decorations = _client->decorations();
-  _decorations = 0xffffffff;
 
   // true/false for whether to show each element of the titlebar
   bool tit_i = false, tit_m = false, tit_s = false, tit_c = false;
@@ -296,8 +294,12 @@ void OBFrame::adjustSize()
 
   // position/size all the windows
 
-  resize(_innersize.left + _innersize.right + _client->area().width(),
-         _innersize.top + _innersize.bottom + _client->area().height());
+  if (_client->shaded())
+    resize(_innersize.left + _innersize.right + _client->area().width(),
+           _titlebar.height());
+  else
+    resize(_innersize.left + _innersize.right + _client->area().width(),
+           _innersize.top + _innersize.bottom + _client->area().height());
 
   _plate.setGeometry(_innersize.left - cbwidth, _innersize.top - cbwidth,
                      _client->area().width(), _client->area().height());
This page took 0.025952 seconds and 4 git commands to generate.