]> Dogcows Code - chaz/openbox/commitdiff
make the frame window override-redirect
authorDana Jansens <danakj@orodu.net>
Sat, 4 Jan 2003 05:18:33 +0000 (05:18 +0000)
committerDana Jansens <danakj@orodu.net>
Sat, 4 Jan 2003 05:18:33 +0000 (05:18 +0000)
otk/otk_wrap.cc
otk/widget.cc
otk/widget.hh
src/frame.cc
src/frame.hh

index 8b072b3082aaa08da50dc0e89c70fad2f8491ca1..0b7ee3ac5af5481f5a570d4bac232f56ac54c0b7 100644 (file)
@@ -1862,7 +1862,7 @@ static PyObject *_wrap_new_OtkWidget__SWIG_1(PyObject *self, PyObject *args) {
     int arg3 = (int) otk::OtkWidget::Horizontal ;
     Cursor arg4 = (Cursor) 0 ;
     int arg5 = (int) 1 ;
-    unsigned long arg6 = (unsigned long) 0 ;
+    bool arg6 = (bool) false ;
     otk::OtkWidget *result;
     Cursor *argp4 ;
     PyObject * obj0  = 0 ;
@@ -1878,7 +1878,7 @@ static PyObject *_wrap_new_OtkWidget__SWIG_1(PyObject *self, PyObject *args) {
         arg4 = *argp4; 
     }
     if (obj5) {
-        arg6 = (unsigned long) PyInt_AsLong(obj5);
+        arg6 = (bool) PyInt_AsLong(obj5);
         if (PyErr_Occurred()) SWIG_fail;
     }
     result = (otk::OtkWidget *)new otk::OtkWidget(arg1,arg2,(otk::OtkWidget::Direction )arg3,arg4,arg5,arg6);
index 231dee06ce6ef23e47ba9d4c2371f8885946dba1..5dd1bce9976e82a643bace905b438c501e36418d 100644 (file)
@@ -35,7 +35,7 @@ OtkWidget::OtkWidget(OtkWidget *parent, Direction direction)
 
 OtkWidget::OtkWidget(OtkEventDispatcher *event_dispatcher, Style *style,
                      Direction direction, Cursor cursor, int bevel_width,
-                     unsigned long create_mask)
+                     bool override_redirect)
   : OtkEventHandler(),
     _dirty(false),_focused(false),
     _parent(0), _style(style), _direction(direction), _cursor(cursor),
@@ -48,7 +48,7 @@ OtkWidget::OtkWidget(OtkEventDispatcher *event_dispatcher, Style *style,
 {
   assert(event_dispatcher);
   assert(style);
-  create(create_mask);
+  create(override_redirect);
   _event_dispatcher->registerHandler(_window, this);
   setStyle(_style); // let the widget initialize stuff
 }
@@ -68,7 +68,7 @@ OtkWidget::~OtkWidget()
   XDestroyWindow(otk::OBDisplay::display, _window);
 }
 
-void OtkWidget::create(unsigned long mask)
+void OtkWidget::create(bool override_redirect)
 {
   const ScreenInfo *scr_info = otk::OBDisplay::screenInfo(_screen);
   Window p_window = _parent ? _parent->window() : scr_info->rootWindow();
@@ -76,15 +76,17 @@ void OtkWidget::create(unsigned long mask)
   _rect.setRect(0, 0, 1, 1); // just some initial values
 
   XSetWindowAttributes attrib_create;
-  unsigned long create_mask = CWBackPixmap | CWBorderPixel | CWEventMask |
-                              mask;
+  unsigned long create_mask = CWBackPixmap | CWBorderPixel | CWEventMask;
 
   attrib_create.background_pixmap = None;
   attrib_create.colormap = scr_info->colormap();
-  attrib_create.override_redirect = true; // not used by default
   attrib_create.event_mask = ButtonPressMask | ButtonReleaseMask |
     ButtonMotionMask | ExposureMask | StructureNotifyMask;
 
+  if (override_redirect) {
+    create_mask |= CWOverrideRedirect;
+    attrib_create.override_redirect = true;
+  }
 
   if (_cursor) {
     create_mask |= CWCursor;
index 8d3bfb2308344262b793c4908d084763536ab894..337bbf14a493a1002e09820cccd9d186c2c48c56 100644 (file)
@@ -28,7 +28,7 @@ public:
   OtkWidget(otk::OtkWidget *parent, Direction = Horizontal);
   OtkWidget(otk::OtkEventDispatcher *event_dispatcher, otk::Style *style,
             Direction direction = Horizontal, Cursor cursor = 0,
-            int bevel_width = 1, unsigned long create_mask = 0);
+            int bevel_width = 1, bool override_redirect = false);
 
   virtual ~OtkWidget();
 
@@ -126,7 +126,7 @@ protected:
   bool _focused;
 
   virtual void adjust(void);
-  virtual void create(unsigned long mask = 0);
+  virtual void create(bool override_redirect = false);
   virtual void adjustHorz(void);
   virtual void adjustVert(void);
   virtual void internalResize(int width, int height);
index dc126ea3b8f43d3dfe32f71d46c7ddc13b9ac251..d2760213fc242cd20e6496ca9d2ed43abe178de8 100644 (file)
@@ -24,8 +24,7 @@ namespace ob {
 const long OBFrame::event_mask;
 
 OBFrame::OBFrame(OBClient *client, otk::Style *style)
-  : otk::OtkWidget(Openbox::instance, style, Horizontal, 0, 1,
-                   CWOverrideRedirect),
+  : otk::OtkWidget(Openbox::instance, style, Horizontal, 0, 1, true),
     OBWidget(Type_Frame),
     _client(client),
     _screen(otk::OBDisplay::screenInfo(client->screen())),
@@ -106,7 +105,6 @@ void OBFrame::focus()
 {
   otk::OtkWidget::focus();
   update();
-  _handle.update();
 }
 
 
index e7a552375f499de3eb9042989fcfd9a37ff5fc02..44153d4694cd2c211291d7489b9768a87367c5f8 100644 (file)
@@ -34,7 +34,7 @@ public:
 
   //! The event mask to grab on frame windows
   static const long event_mask = EnterWindowMask | LeaveWindowMask;
-
+   
 private:
   OBClient *_client;
   const otk::ScreenInfo *_screen;
This page took 0.037128 seconds and 4 git commands to generate.