]> Dogcows Code - chaz/openbox/blobdiff - otk/appwidget.cc
stacked cycling menu works now. add a highlighted flag to otk widgets
[chaz/openbox] / otk / appwidget.cc
index ee5428838185685beacc2869ca93b0e5fb9d20d8..5c963f7b58a5acbbf90703c487e7d78eb7b952c5 100644 (file)
@@ -6,6 +6,8 @@
 
 #include "appwidget.hh"
 #include "application.hh"
+#include "property.hh"
+#include "renderstyle.hh"
 
 extern "C" {
 #include <X11/Xlib.h>
@@ -13,20 +15,16 @@ extern "C" {
 
 namespace otk {
 
-AppWidget::AppWidget(Application *app, Direction direction,
-                           Cursor cursor, int bevel_width)
-  : Widget(app, app->getStyle(), direction, cursor, bevel_width),
+AppWidget::AppWidget(Application *app, Direction direction, int bevel)
+  : Widget(app->screen(), app, direction, bevel),
     _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);
 }
 
@@ -34,14 +32,22 @@ AppWidget::~AppWidget()
 {
 }
 
-void AppWidget::show(void)
+void AppWidget::render()
+{
+  XSetWindowBackground(**display, window(),
+                       RenderStyle::style(screen())->
+                       titlebarUnfocusBackground()->color().pixel());
+  Widget::render();
+}
+
+void AppWidget::show()
 {
   Widget::show(true);
 
   _application->_appwidget_count++;
 }
 
-void AppWidget::hide(void)
+void AppWidget::hide()
 {
   Widget::hide();
 
@@ -51,8 +57,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.027185 seconds and 4 git commands to generate.