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)