frame.rect.width(), frame.rect.height());
}
- // get sticky state from our parent window if we've got one
- if (isTransient() && client.transient_for != (BlackboxWindow *) ~0ul &&
- client.transient_for->isStuck() != flags.stuck)
- stick();
-
if (flags.shaded) {
flags.shaded = False;
shade();
}
-/*
- * (Un)Sticks a window and its relatives.
- */
void BlackboxWindow::stick(void) {
if (flags.stuck) {
blackbox_attrib.flags ^= AttribOmnipresent;
setState(current_state);
}
- // go up the chain
- if (isTransient() && client.transient_for != (BlackboxWindow *) ~0ul &&
- client.transient_for->isStuck() != flags.stuck)
- client.transient_for->stick();
- // go down the chain
- BlackboxWindowList::iterator it;
- const BlackboxWindowList::iterator end = client.transientList.end();
- for (it = client.transientList.begin(); it != end; ++it)
- if ((*it)->isStuck() != flags.stuck)
- (*it)->stick();
}