BlackboxWindow *win = searchWindow(e->xmaprequest.window);
if (win) {
+ bool focus = False;
if (win->isIconic()) {
win->deiconify();
- win->setInputFocus();
+ focus = True;
+ }
+ if (win->isShaded()) {
+ win->shade();
+ focus = True;
}
+
+ if (focus && (win->isTransient() || win->getScreen()->doFocusNew()))
+ win->setInputFocus();
} else {
BScreen *screen = searchScreen(e->xmaprequest.parent);
if (win) {
if (win->isIconic())
win->deiconify(False, True);
+ if (win->isShaded())
+ win->shade();
if (win->isVisible() && win->setInputFocus()) {
- //win->getScreen()->getWorkspace(win->getWorkspaceNumber())->
- // raiseWindow(win);
+ win->getScreen()->getWorkspace(win->getWorkspaceNumber())->
+ raiseWindow(win);
win->installColormap(True);
}
}
bool Blackbox::handleSignal(int sig) {
switch (sig) {
case SIGHUP:
+ restart();
+ break;
+
case SIGUSR1:
reconfigure();
break;