X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fframe.cc;h=4f466b46d26edbaf053bfc0cae138102cc36e701;hb=c9ca0e797de3f8b67b47333476a98b18445cdb67;hp=fed6132eb05de9ff4b5d34a51017485a88e9c29e;hpb=2ae2b257d39ea62640c2590f794e4275c6db1cd4;p=chaz%2Fopenbox diff --git a/src/frame.cc b/src/frame.cc index fed6132e..4f466b46 100644 --- a/src/frame.cc +++ b/src/frame.cc @@ -103,6 +103,7 @@ void OBFrame::focus() { otk::OtkWidget::focus(); update(); + _handle.update(); } @@ -115,6 +116,7 @@ void OBFrame::unfocus() void OBFrame::adjust() { + // the party all happens in adjustSize } @@ -127,6 +129,7 @@ void OBFrame::adjustSize() int width; // the width of the client and its border int bwidth; // width to make borders int cbwidth; // width of the inner client border + const int bevel = _style->getBevelWidth(); if (_decorations & OBClient::Decor_Border) { bwidth = _style->getBorderWidth(); @@ -150,33 +153,31 @@ void OBFrame::adjustSize() _titlebar.setGeometry(-bwidth, -bwidth, width, - (_style->getFont()->height() + - _style->getBevelWidth() * 2)); + _style->getFont()->height() + bevel * 2); _innersize.top += _titlebar.height() + bwidth; // set the label size - _label.setGeometry(0, _style->getBevelWidth(), - width, _style->getFont()->height()); + _label.setGeometry(0, bevel, width, _style->getFont()->height()); // set the buttons sizes if (_decorations & OBClient::Decor_Iconify) - _button_iconify.setGeometry(0, _style->getBevelWidth() + 1, + _button_iconify.setGeometry(0, bevel + 1, _label.height() - 2, _label.height() - 2); if (_decorations & OBClient::Decor_Maximize) - _button_max.setGeometry(0, _style->getBevelWidth() + 1, + _button_max.setGeometry(0, bevel + 1, _label.height() - 2, _label.height() - 2); if (_decorations & OBClient::Decor_Sticky) - _button_stick.setGeometry(0, _style->getBevelWidth() + 1, + _button_stick.setGeometry(0, bevel + 1, _label.height() - 2, _label.height() - 2); if (_decorations & OBClient::Decor_Close) - _button_close.setGeometry(0, _style->getBevelWidth() + 1, + _button_close.setGeometry(0, bevel + 1, _label.height() - 2, _label.height() - 2); // separation between titlebar elements - const int sep = _style->getBevelWidth() + 1; + const int sep = bevel + 1; std::string layout = "SLIMC"; // XXX: get this from somewhere // XXX: it is REQUIRED that by this point, the string only has one of each @@ -283,8 +284,6 @@ void OBFrame::adjustSize() else _handle.hide(true); - // XXX: more is gunna have to happen here - _size.left = _innersize.left + bwidth; _size.right = _innersize.right + bwidth; _size.top = _innersize.top + bwidth;