diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-12-18 02:28:44 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-12-18 02:28:44 +0000 |
| commit | 70eb03ad50e1a71fd64c8cb1ebabbff311850553 (patch) | |
| tree | 0cef2e44f7e97c0d00281df8746e7fb7f2c15f5f /src/frame.cc | |
| parent | 6bf858e4f4fc19914a36d51546278e6464ec00e0 (diff) | |
add an OBBackgroundWidget and use it for setting colors so far.
Diffstat (limited to 'src/frame.cc')
| -rw-r--r-- | src/frame.cc | 43 |
1 files changed, 15 insertions, 28 deletions
diff --git a/src/frame.cc b/src/frame.cc index 15404f93..fc85d6d1 100644 --- a/src/frame.cc +++ b/src/frame.cc @@ -25,14 +25,14 @@ OBFrame::OBFrame(OBClient *client, otk::Style *style) : otk::OtkWidget(Openbox::instance, style), _client(client), _screen(otk::OBDisplay::screenInfo(client->screen())), - _plate(this), - _titlebar(this), + _plate(this, OBWidget::Type_Plate), + _titlebar(this, OBWidget::Type_Titlebar), _button_close(&_titlebar), _button_iconify(&_titlebar), _button_max(&_titlebar), _button_stick(&_titlebar), _label(&_titlebar), - _handle(this), + _handle(this, OBWidget::Type_Handle), _grip_left(&_handle), _grip_right(&_handle), _decorations(client->decorations()) @@ -57,8 +57,6 @@ OBFrame::OBFrame(OBClient *client, otk::Style *style) _grip_left.setCursor(Openbox::instance->cursors().ll_angle); _grip_right.setCursor(Openbox::instance->cursors().lr_angle); - _plate.show(); - _button_close.setText("X"); _button_iconify.setText("I"); _button_max.setText("M"); @@ -68,6 +66,10 @@ OBFrame::OBFrame(OBClient *client, otk::Style *style) _style = 0; setStyle(style); + //XXX: uncomment me unfocus(); // stuff starts out focused in otk + + _plate.show(); // the other stuff is shown based on decor settings + grabClient(); } @@ -93,11 +95,6 @@ void OBFrame::setStyle(otk::Style *style) _grip_right.setPressedFocusTexture(style->getGripFocus()); _grip_right.setPressedUnfocusTexture(style->getGripUnfocus()); - _titlebar.setTexture(style->getTitleFocus()); - _titlebar.setUnfocusTexture(style->getTitleUnfocus()); - _handle.setTexture(style->getHandleFocus()); - _handle.setUnfocusTexture(style->getHandleUnfocus()); - // if a style was previously set, then 'replace' is true, cause we're // replacing a style bool replace = (_style); @@ -109,20 +106,13 @@ void OBFrame::setStyle(otk::Style *style) _style = style; // XXX: change when focus changes! - XSetWindowBorder(otk::OBDisplay::display, _plate.getWindow(), - _style->getFrameFocus()->color().pixel()); - XSetWindowBorder(otk::OBDisplay::display, getWindow(), _style->getBorderColor()->pixel()); - XSetWindowBorder(otk::OBDisplay::display, _titlebar.getWindow(), - _style->getBorderColor()->pixel()); XSetWindowBorder(otk::OBDisplay::display, _grip_left.getWindow(), _style->getBorderColor()->pixel()); XSetWindowBorder(otk::OBDisplay::display, _grip_right.getWindow(), _style->getBorderColor()->pixel()); - XSetWindowBorder(otk::OBDisplay::display, _handle.getWindow(), - _style->getBorderColor()->pixel()); - + // if !replace, then adjust() will get called after the client is grabbed! if (replace) { // size/position everything @@ -151,17 +141,14 @@ void OBFrame::adjustSize() cbwidth; width = _client->area().width() + cbwidth * 2; - XSetWindowBorderWidth(otk::OBDisplay::display, _plate.getWindow(), cbwidth); - - XSetWindowBorderWidth(otk::OBDisplay::display, getWindow(), bwidth); - XSetWindowBorderWidth(otk::OBDisplay::display, _titlebar.getWindow(), - bwidth); - XSetWindowBorderWidth(otk::OBDisplay::display, _grip_left.getWindow(), - bwidth); - XSetWindowBorderWidth(otk::OBDisplay::display, _grip_right.getWindow(), - bwidth); - XSetWindowBorderWidth(otk::OBDisplay::display, _handle.getWindow(), bwidth); + _plate.setBorderWidth(cbwidth); + setBorderWidth(bwidth); + _titlebar.setBorderWidth(bwidth); + _grip_left.setBorderWidth(bwidth); + _grip_right.setBorderWidth(bwidth); + _handle.setBorderWidth(bwidth); + if (_decorations & OBClient::Decor_Titlebar) { // set the titlebar size _titlebar.setGeometry(-bwidth, |
