]> Dogcows Code - chaz/openbox/blobdiff - otk/appwidget.cc
use bevel width on the top/bottom too
[chaz/openbox] / otk / appwidget.cc
index bd1acbf83d38592ed2c7484e6f6780cec66b4b64..afb86c0bb6a859e564ae9775abdd195a315382f6 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "appwidget.hh"
 #include "application.hh"
+#include "property.hh"
 
 extern "C" {
 #include <X11/Xlib.h>
@@ -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<Atom>(e.data.l[0]) == _wm_delete)
+  EventHandler::clientMessageHandler(e);
+  if (e.message_type == Property::atoms.wm_protocols &&
+      static_cast<Atom>(e.data.l[0]) == Property::atoms.wm_delete_window)
     hide();
 }
 
This page took 0.025129 seconds and 4 git commands to generate.