summaryrefslogtreecommitdiff
path: root/otk/widget.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-01-04 05:18:33 +0000
committerDana Jansens <danakj@orodu.net>2003-01-04 05:18:33 +0000
commitbf404e092be46801b1a78f9a71e10d0d00b75894 (patch)
tree5beb02abff23d8cc1e019206d5f7d2ade7f8fc08 /otk/widget.cc
parente3b50c2d137ba194073dc062edf73e79c18b7fe8 (diff)
make the frame window override-redirect
Diffstat (limited to 'otk/widget.cc')
-rw-r--r--otk/widget.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/otk/widget.cc b/otk/widget.cc
index 231dee06..5dd1bce9 100644
--- a/otk/widget.cc
+++ b/otk/widget.cc
@@ -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;