// update EVERYTHING the first time!!
- // we default to NormalState, visible
+ // defaults
_wmstate = NormalState;
- // start unfocused
_focused = false;
- // not a transient by default of course
_transient_for = 0;
- // pick a layer to start from
_layer = Layer_Normal;
- // default to not urgent
_urgent = false;
- // not positioned unless specified
_positioned = false;
- // nothing is disabled unless specified
_disabled_decorations = 0;
- // no modal children until they set themselves
_modal_child = 0;
+ _group = None;
+ _desktop = 0;
getArea();
getDesktop();
+ getState(); // do this before updateTransientFor! (for _modal)
+ getShaped();
updateTransientFor();
getMwmHints();
getType(); // this can change the mwmhints for special cases
- getState();
- getShaped();
-
updateProtocols();
getGravity(); // get the attribute gravity
setDesktop(openbox->screen(_screen)->desktop());
if (_shaded)
shade(false);
- // XXX: deiconify
focus();
openbox->screen(_screen)->raiseWindow(this);
+ } else if (e.message_type == otk::Property::atoms.openbox_active_window) {
+ if (_iconic)
+ setDesktop(openbox->screen(_screen)->desktop());
+ if (e.data.l[0] && _shaded)
+ shade(false);
+ focus();
+ if (e.data.l[1])
+ openbox->screen(_screen)->raiseWindow(this);
}
}
{
XWindowAttributes wa;
if (XGetWindowAttributes(**otk::display, _window, &wa)) {
- printf("%snstalling Window Colormap 0x%lx!\n", install ? "I" : "Uni", _window);
if (install)
XInstallColormap(**otk::display, wa.colormap);
else