[Eclipse-cvs] CVS eclipse

ihatchondo ihatchondo at common-lisp.net
Tue May 8 22:33:17 UTC 2007


Update of /project/eclipse/cvsroot/eclipse
In directory clnet:/tmp/cvs-serv16158

Modified Files:
	eclipse.lisp 
Log Message:
Fix: the settings of all the net-wm spec root properties is now surrounded with a with-server-grabbed to avoid tones of property change event on the root window.

--- /project/eclipse/cvsroot/eclipse/eclipse.lisp	2006/01/14 15:40:55	1.25
+++ /project/eclipse/cvsroot/eclipse/eclipse.lisp	2007/05/08 22:33:17	1.26
@@ -1,5 +1,5 @@
 ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*-
-;;; $Id: eclipse.lisp,v 1.25 2006/01/14 15:40:55 ihatchondo Exp $
+;;; $Id: eclipse.lisp,v 1.26 2007/05/08 22:33:17 ihatchondo Exp $
 ;;;
 ;;; ECLIPSE. The Common Lisp Window Manager.
 ;;; Copyright (C) 2002 Iban HATCHONDO
@@ -129,27 +129,29 @@
   (let ((first-desknum (current-vscreen window))
 	(nb-vs (number-of-virtual-screens window))
 	(srcw (screen-width)) (srch (screen-height)))
-    (delete-properties window (append +gnome-protocols+ +netwm-protocol+))
-    (unless (< -1 first-desknum nb-vs) (setf first-desknum 0))
-    (setf (gnome:win-protocols window) +gnome-protocols+
-	  (gnome:win-supporting-wm-check manager) manager
-	  (gnome:win-supporting-wm-check window) manager
-	  (gnome:win-workspace-count window) nb-vs
-	  (gnome:win-workspace window) first-desknum
-
-	  (netwm:net-supported window) +netwm-protocol+
-	  (netwm:net-supporting-wm-check window) manager
-	  (netwm:net-supporting-wm-check manager) manager
-	  (netwm:net-wm-name manager) "eclipse"
-	  (netwm:net-number-of-desktops window) nb-vs
-	  (netwm:net-current-desktop window) first-desknum
-	  (netwm:net-desktop-viewport window) (make-viewport-property nb-vs)
-	  (netwm:net-desktop-geometry window) (list srcw srch)
-	  (netwm:net-workarea window) (make-list nb-vs
-					:initial-element
-					(manager-commons:make-geometry-hint
-					  :x 0 :y 0 :width srcw :height srch))
-	  )))
+    (xlib:with-server-grabbed (*display*)
+      (delete-properties window +netwm-protocol+)
+      (unless (< -1 first-desknum nb-vs) (setf first-desknum 0))
+      (setf (gnome:win-protocols window) +gnome-protocols+
+            (gnome:win-supporting-wm-check manager) manager
+            (gnome:win-supporting-wm-check window) manager
+            (gnome:win-workspace-count window) nb-vs
+            (gnome:win-workspace window) first-desknum)
+
+      (setf (netwm:net-supported window) +netwm-protocol+
+            (netwm:net-supporting-wm-check window) manager
+            (netwm:net-supporting-wm-check manager) manager
+            (netwm:net-wm-name manager) "eclipse"
+            (netwm:net-number-of-desktops window) nb-vs
+            (netwm:net-current-desktop window) first-desknum
+            (netwm:net-desktop-viewport window) (make-viewport-property nb-vs)
+            (netwm:net-desktop-geometry window) (list srcw srch)
+            (netwm:net-workarea window) (make-list nb-vs
+                                            :initial-element
+                                            (manager-commons:make-geometry-hint
+                                             :x 0 :y 0 :width srcw :height srch))
+
+	  ))))
 
 (defun initialize (display-specification sm-client-id)
   (multiple-value-bind (display screen)




More information about the Eclipse-cvs mailing list