client->rect.setSize(64, 64);
}
+ Atom *proto;
+ int num_return = 0;
+ if (XGetWMProtocols(display, client->window, &proto, &num_return)) {
+ for (int i = 0; i < num_return; ++i) {
+ if (proto[i] ==
+ blackbox->getXAtom()->getAtom(XAtom::blackbox_structure_messages)) {
+ screen->addNetizen(new Netizen(screen, client->window));
+ }
+ }
+ }
+
XSetWindowBorderWidth(display, client->window, 0);
XGrabServer(display);
case TopCenter:
case TopLeft:
case TopRight:
- strut.top = getExposedHeight() + border_width;
+ strut.top = frame.rect.top() + getExposedHeight() + border_width;
break;
case BottomCenter:
case BottomLeft:
case BottomRight:
- strut.bottom = getExposedHeight() + border_width;
+ int pos;
+ if (do_auto_hide)
+ pos = frame.y_hidden;
+ else
+ pos = frame.rect.y();
+ strut.bottom = (screen->getRect().bottom() - pos);
break;
case CenterLeft:
strut.left = getExposedWidth() + border_width;
y = (screen->getHeight() - frame.rect.height()) / 2;
else
y = screen->getHeight() - frame.rect.height()
- - (screen->getBorderWidth() * 2);
+ - (screen->getBorderWidth() * 2);
break;
y = 0;
else
y = screen->getHeight() - frame.rect.height()
- - (screen->getBorderWidth() * 2);
+ - (screen->getBorderWidth() * 2);
break;
slit_rect.setSize(slit_rect.width() + (screen->getBorderWidth() * 2),
slit_rect.height() + (screen->getBorderWidth() * 2));
- if (slit_rect.intersects(tbar_rect)) {
+ if (! screen->doHideToolbar() && slit_rect.intersects(tbar_rect)) {
int delta = screen->getToolbar()->getExposedHeight() +
screen->getBorderWidth();
if (frame.rect.bottom() <= tbar_rect.bottom())