[Eclipse-cvs] CVS eclipse

ihatchondo ihatchondo at common-lisp.net
Fri Nov 2 09:33:09 UTC 2007


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

Modified Files:
	widgets.lisp misc.lisp 
Log Message:
Fix: bug, desktop window were restacked when one of their modal or transient for were.

--- /project/eclipse/cvsroot/eclipse/widgets.lisp	2007/11/02 09:11:42	1.50
+++ /project/eclipse/cvsroot/eclipse/widgets.lisp	2007/11/02 09:33:08	1.51
@@ -1,5 +1,5 @@
 ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*-
-;;; $Id: widgets.lisp,v 1.50 2007/11/02 09:11:42 ihatchondo Exp $
+;;; $Id: widgets.lisp,v 1.51 2007/11/02 09:33:08 ihatchondo Exp $
 ;;;
 ;;; ECLIPSE. The Common Lisp Window Manager.
 ;;; Copyright (C) 2000, 2001, 2002 Iban HATCHONDO
@@ -274,6 +274,10 @@
       (setf (window-priority (if master (widget-window master) window) desk-w)
 	    (if desk-w :above :below)))))
 
+(defun application-netwm-type-p (application type)
+  "Returns t if application is of the given type."
+  (member type (application-type application)))
+
 (defun application-panel-p (application)
   "Returns t if application is a panel (e.g: _net_wm_window_type_dock)."
   (member :_net_wm_window_type_dock (application-type application)))
--- /project/eclipse/cvsroot/eclipse/misc.lisp	2007/05/07 13:22:50	1.39
+++ /project/eclipse/cvsroot/eclipse/misc.lisp	2007/11/02 09:33:08	1.40
@@ -1,5 +1,5 @@
 ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*-
-;;; $Id: misc.lisp,v 1.39 2007/05/07 13:22:50 ihatchondo Exp $
+;;; $Id: misc.lisp,v 1.40 2007/11/02 09:33:08 ihatchondo Exp $
 ;;;
 ;;; This file is part of Eclipse.
 ;;; Copyright (C) 2002 Iban HATCHONDO
@@ -210,11 +210,12 @@
 	 (first-win (windows &optional above-p)
 	   (car (if above-p (last windows) windows)))
 	 (restack (app sib-app priority)
-	   (let* ((window (widget-window (or (application-master app) app)))
-		  (sm (when sib-app (application-master sib-app)))
-		  (sibling (when sib-app (widget-window (or sm sib-app)))))
-	     (unless (xlib:window-equal window sibling)
-	       (setf (xlib:window-priority window sibling) priority)))))
+           (unless (application-netwm-type-p app :_net_wm_window_type_desktop)
+             (let* ((window (widget-window (or (application-master app) app)))
+                    (sm (when sib-app (application-master sib-app)))
+                    (sibling (when sib-app (widget-window (or sm sib-app)))))
+               (unless (xlib:window-equal window sibling)
+                 (setf (xlib:window-priority window sibling) priority))))))
     (let* ((win (or (lookup-app-w (lookup-widget window)) window))
 	   (sib (or (lookup-app-w (lookup-widget sibling)) sibling))
 	   (widget (lookup-widget win))




More information about the Eclipse-cvs mailing list