X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fblackbox.cc;h=0865b681f6e50fb1ed330294ea55c1f3a6925d4b;hb=b950402ba238aeb6d76604b761b6fdc249b070ab;hp=3cc12bc4523e65333d00e6ab719efd728d7b2114;hpb=f4c0547b7a90c9647a2c39c3d1a737142eab088e;p=chaz%2Fopenbox diff --git a/src/blackbox.cc b/src/blackbox.cc index 3cc12bc4..0865b681 100644 --- a/src/blackbox.cc +++ b/src/blackbox.cc @@ -322,7 +322,12 @@ void Blackbox::process_event(XEvent *e) { BlackboxWindow *win = searchWindow(e->xmaprequest.window); - if (! win) { + if (win) { + if (win->isIconic()) { + win->deiconify(); + win->setInputFocus(); + } + } else { BScreen *screen = searchScreen(e->xmaprequest.parent); if (! screen) { @@ -444,13 +449,9 @@ void Blackbox::process_event(XEvent *e) { case PropertyNotify: { last_time = e->xproperty.time; - if (e->xproperty.state != PropertyDelete) { - BlackboxWindow *win = searchWindow(e->xproperty.window); - - if (win) - win->propertyNotifyEvent(e->xproperty.atom); - } - + BlackboxWindow *win = searchWindow(e->xproperty.window); + if (win) + win->propertyNotifyEvent(&e->xproperty); break; } @@ -1143,6 +1144,7 @@ void Blackbox::restart(const char *prog) { shutdown(); if (prog) { + putenv(const_cast(screenList.front()->displayString().c_str())); execlp(prog, prog, NULL); perror(prog); }