}
_style.load(sconfig);
*/
+ otk::display->renderControl(_number)->drawRoot(*_style.rootColor());
// set up notification of netwm support
changeSupportedAtoms();
// create the decoration frame for the client window
client->frame = new Frame(client, &_style);
+ // register the plate for events (map req's)
+ // this involves removing itself from the handler list first, since it is
+ // auto added to the list, being a widget. we won't get any events on the
+ // plate except for events for the client (SubstructureRedirectMask)
+ openbox->clearHandler(client->frame->plate());
+ openbox->registerHandler(client->frame->plate(), client);
// add to the wm's map
openbox->addClient(client->frame->window(), client);
openbox->addClient(client->frame->label(), client);
openbox->addClient(client->frame->button_max(), client);
openbox->addClient(client->frame->button_iconify(), client);
- openbox->addClient(client->frame->button_stick(), client);
+ openbox->addClient(client->frame->button_alldesk(), client);
openbox->addClient(client->frame->button_close(), client);
openbox->addClient(client->frame->handle(), client);
openbox->addClient(client->frame->grip_left(), client);
openbox->removeClient(frame->label());
openbox->removeClient(frame->button_max());
openbox->removeClient(frame->button_iconify());
- openbox->removeClient(frame->button_stick());
+ openbox->removeClient(frame->button_alldesk());
openbox->removeClient(frame->button_close());
openbox->removeClient(frame->handle());
openbox->removeClient(frame->grip_left());
assert(!_stacking.empty()); // this would be bad
Client::List::iterator it = --_stacking.end();
- Client::List::const_iterator end = _stacking.begin();
+ const Client::List::iterator end = _stacking.begin();
for (; it != end && (*it)->layer() < client->layer(); --it);
if (*it == client) return; // already the bottom, return
_stacking.remove(client);
Client::List::iterator it = _stacking.begin();
- Client::List::const_iterator end = _stacking.end();
+ const Client::List::iterator end = _stacking.end();
// the stacking list is from highest to lowest
for (; it != end && (*it)->layer() > client->layer(); ++it);
printf("MapRequest for 0x%lx\n", e.window);
#endif // DEBUG
- /*
- MapRequest events come here even after the window exists instead of going
- right to the client window, because of how they are sent and their struct
- layout.
- */
- Client *c = openbox->findClient(e.window);
-
- if (c) {
- // send a net_active_window message
- XEvent ce;
- ce.xclient.type = ClientMessage;
- ce.xclient.message_type = otk::Property::atoms.net_active_window;
- ce.xclient.display = **otk::display;
- ce.xclient.window = c->window();
- ce.xclient.format = 32;
- ce.xclient.data.l[0] = 0l;
- ce.xclient.data.l[1] = 0l;
- ce.xclient.data.l[2] = 0l;
- ce.xclient.data.l[3] = 0l;
- ce.xclient.data.l[4] = 0l;
- XSendEvent(**otk::display, _info->rootWindow(), false,
- SubstructureRedirectMask | SubstructureNotifyMask,
- &ce);
- } else
- manageWindow(e.window);
+ manageWindow(e.window);
}
+
}