]> gitweb.factorcode.org Git - factor.git/commitdiff
Minor Factory changes
authorwayo.cavazos <wayo.cavazos@gmail.com>
Fri, 31 Mar 2006 00:53:36 +0000 (00:53 +0000)
committerwayo.cavazos <wayo.cavazos@gmail.com>
Fri, 31 Mar 2006 00:53:36 +0000 (00:53 +0000)
contrib/factory/factory.factor

index b6c48d2ebba457ec9feb8b8b1b03f80b3b99bed2..5568fdf70002c8051d544c38ebeac4d2d1fb711d 100644 (file)
@@ -151,6 +151,7 @@ TUPLE: wm-root ;
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 M: wm-root handle-map-request-event ( event <wm-root> -- )
+"handle-map-request-event called on wm-root" print flush
   drop XMapRequestEvent-window id>obj                          ! obj
 
   { { [ dup wm-frame? ]
@@ -164,6 +165,9 @@ M: wm-root handle-map-request-event ( event <wm-root> -- )
         "new window has override_redirect attribute set." print flush
         drop ] }
 
+    { [ dup window-id window-parent+ id>obj wm-frame? ]
+      [ "Window is already managed" print flush drop ] }
+
     { [ t ] [ window-id manage-window ] } }
 
   cond ;
@@ -332,7 +336,9 @@ TUPLE: wm-frame child ;
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 : manage-window ( window -- )
+  flush-dpy
   grab-server
+  flush-dpy
 
   create-wm-child                              ! child
   create-wm-frame                              ! frame
@@ -360,8 +366,11 @@ TUPLE: wm-frame child ;
   dup map-subwindows%
 
   dup wm-frame-child PropertyChangeMask swap select-input%
-  
-  flush-dpy 0 sync-dpy ungrab-server ;
+
+  flush-dpy
+  0 sync-dpy
+  ungrab-server
+  flush-dpy ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!