]> Dogcows Code - chaz/openbox/blobdiff - otk/appwidget.cc
ignore the latex dir
[chaz/openbox] / otk / appwidget.cc
index ee5428838185685beacc2869ca93b0e5fb9d20d8..afb86c0bb6a859e564ae9775abdd195a315382f6 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "appwidget.hh"
 #include "application.hh"
+#include "property.hh"
 
 extern "C" {
 #include <X11/Xlib.h>
@@ -14,26 +15,32 @@ extern "C" {
 namespace otk {
 
 AppWidget::AppWidget(Application *app, Direction direction,
-                           Cursor cursor, int bevel_width)
+                     Cursor cursor, int bevel_width)
   : Widget(app, app->getStyle(), direction, cursor, bevel_width),
     _application(app)
 {
   assert(app);
 
-  _wm_protocols = XInternAtom(**display, "WM_PROTOCOLS", false);
-  _wm_delete = XInternAtom(**display, "WM_DELETE_WINDOW", false);
-
   // set WM Protocols on the window
   Atom protocols[2];
-  protocols[0] = _wm_protocols;
-  protocols[1] = _wm_delete;
+  protocols[0] = Property::atoms.wm_protocols;
+  protocols[1] = Property::atoms.wm_delete_window;
   XSetWMProtocols(**display, window(), protocols, 2);
+
+  setStyle(_style);
 }
 
 AppWidget::~AppWidget()
 {
 }
 
+void AppWidget::setStyle(RenderStyle *style)
+{
+  Widget::setStyle(style);
+
+  setTexture(style->titlebarUnfocusBackground());
+}
+
 void AppWidget::show(void)
 {
   Widget::show(true);
@@ -51,8 +58,8 @@ void AppWidget::hide(void)
 void AppWidget::clientMessageHandler(const XClientMessageEvent &e)
 {
   EventHandler::clientMessageHandler(e);
-  if (e.message_type == _wm_protocols &&
-      static_cast<Atom>(e.data.l[0]) == _wm_delete)
+  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.020906 seconds and 4 git commands to generate.