X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fappwidget.cc;h=afb86c0bb6a859e564ae9775abdd195a315382f6;hb=5072931be0ff28cd9447926d50fe5ea202e2c370;hp=bd1acbf83d38592ed2c7484e6f6780cec66b4b64;hpb=e7bb906637f2b1b62b81950c99ab49443ba815f5;p=chaz%2Fopenbox diff --git a/otk/appwidget.cc b/otk/appwidget.cc index bd1acbf8..afb86c0b 100644 --- a/otk/appwidget.cc +++ b/otk/appwidget.cc @@ -6,6 +6,7 @@ #include "appwidget.hh" #include "application.hh" +#include "property.hh" extern "C" { #include @@ -13,46 +14,52 @@ extern "C" { namespace otk { -OtkAppWidget::OtkAppWidget(OtkApplication *app, Direction direction, - Cursor cursor, int bevel_width) - : OtkWidget(app, app->getStyle(), direction, cursor, bevel_width), +AppWidget::AppWidget(Application *app, Direction direction, + Cursor cursor, int bevel_width) + : Widget(app, app->getStyle(), direction, cursor, bevel_width), _application(app) { assert(app); - _wm_protocols = XInternAtom(OBDisplay::display, "WM_PROTOCOLS", false); - _wm_delete = XInternAtom(OBDisplay::display, "WM_DELETE_WINDOW", false); - // set WM Protocols on the window Atom protocols[2]; - protocols[0] = _wm_protocols; - protocols[1] = _wm_delete; - XSetWMProtocols(OBDisplay::display, getWindow(), protocols, 2); + protocols[0] = Property::atoms.wm_protocols; + protocols[1] = Property::atoms.wm_delete_window; + XSetWMProtocols(**display, window(), protocols, 2); + + setStyle(_style); +} + +AppWidget::~AppWidget() +{ } -OtkAppWidget::~OtkAppWidget() +void AppWidget::setStyle(RenderStyle *style) { + Widget::setStyle(style); + + setTexture(style->titlebarUnfocusBackground()); } -void OtkAppWidget::show(void) +void AppWidget::show(void) { - OtkWidget::show(true); + Widget::show(true); _application->_appwidget_count++; } -void OtkAppWidget::hide(void) +void AppWidget::hide(void) { - OtkWidget::hide(); + Widget::hide(); _application->_appwidget_count--; } -void OtkAppWidget::clientMessageHandler(const XClientMessageEvent &e) +void AppWidget::clientMessageHandler(const XClientMessageEvent &e) { - OtkEventHandler::clientMessageHandler(e); - if (e.message_type == _wm_protocols && - static_cast(e.data.l[0]) == _wm_delete) + EventHandler::clientMessageHandler(e); + if (e.message_type == Property::atoms.wm_protocols && + static_cast(e.data.l[0]) == Property::atoms.wm_delete_window) hide(); }