]> Dogcows Code - chaz/openbox/blobdiff - src/blackbox.cc
dont let focus fall back to strange windows like panels, only to normal windows and...
[chaz/openbox] / src / blackbox.cc
index 9eddcfdfcd8ed7192cd102b44640c40a6a0c3f7f..3ec32d5208d5d1da86f47774c9ac2b54b1916d83 100644 (file)
@@ -462,9 +462,13 @@ void Blackbox::process_event(XEvent *e) {
   case PropertyNotify: {
     last_time = e->xproperty.time;
 
-    BlackboxWindow *win = searchWindow(e->xproperty.window);
-    if (win)
+    BlackboxWindow *win = (BlackboxWindow *) 0;
+    BScreen *screen = (BScreen *) 0;
+
+    if ((win = searchWindow(e->xproperty.window)))
       win->propertyNotifyEvent(&e->xproperty);
+    else if ((screen = searchScreen(e->xproperty.window)))
+      screen->propertyNotifyEvent(&e->xproperty);
     break;
   }
 
@@ -710,9 +714,11 @@ void Blackbox::process_event(XEvent *e) {
         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);
           }
         }
@@ -972,6 +978,9 @@ void Blackbox::process_event(XEvent *e) {
 bool Blackbox::handleSignal(int sig) {
   switch (sig) {
   case SIGHUP:
+    restart();
+    break;
+
   case SIGUSR1:
     reconfigure();
     break;
This page took 0.025991 seconds and 4 git commands to generate.