[Eclipse-cvs] CVS eclipse

ihatchondo ihatchondo at common-lisp.net
Fri Aug 29 14:57:47 UTC 2008


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

Modified Files:
	global.lisp input.lisp wm.lisp 
Log Message:
Add: demands attention handling.

--- /project/eclipse/cvsroot/eclipse/global.lisp	2008/04/25 16:02:49	1.31
+++ /project/eclipse/cvsroot/eclipse/global.lisp	2008/08/29 14:57:47	1.32
@@ -1,5 +1,5 @@
 ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*-
-;;; $Id: global.lisp,v 1.31 2008/04/25 16:02:49 ihatchondo Exp $
+;;; $Id: global.lisp,v 1.32 2008/08/29 14:57:47 ihatchondo Exp $
 ;;;
 ;;; This file is part of Eclipse.
 ;;; Copyright (C) 2001, 2002 Iban HATCHONDO
@@ -46,7 +46,7 @@
     :_net_wm_state_maximized_horz :_net_wm_state_maximized_vert
     :_net_wm_state_skip_taskbar :_net_wm_state_skip_pager :_net_wm_state_shaded
     :_net_wm_state_sticky :_net_wm_state_fullscreen :_net_wm_state_hidden
-    :_net_wm_state_above :_net_wm_state_below))
+    :_net_wm_state_above :_net_wm_state_below :_net_wm_state_demands_attention))
 
 (defconstant +root-event-mask+
   '(:substructure-redirect :substructure-notify :button-press :button-release
--- /project/eclipse/cvsroot/eclipse/input.lisp	2008/04/28 16:09:16	1.51
+++ /project/eclipse/cvsroot/eclipse/input.lisp	2008/08/29 14:57:47	1.52
@@ -1,5 +1,5 @@
 ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*-
-;;; $Id: input.lisp,v 1.51 2008/04/28 16:09:16 ihatchondo Exp $
+;;; $Id: input.lisp,v 1.52 2008/08/29 14:57:47 ihatchondo Exp $
 ;;;
 ;;; ECLIPSE. The Common Lisp Window Manager.
 ;;; Copyright (C) 2000, 2001, 2002 Iban HATCHONDO
@@ -414,7 +414,9 @@
 		 (put-on-top application))
 	       (when (or-eql :_net_wm_state_below p1 p2)
 		 (set-netwm-state :_net_wm_state_below mode)
-		 (put-on-bottom application))))))
+		 (put-on-bottom application))
+               (when (or-eql :_net_wm_state_demands_attention p1 p2)
+                 (set-netwm-state :_net_wm_state_demands_attention mode))))))
 	(:_net_moveresize_window
 	 (let ((value-mask (logand #x0F (ash (aref data 0) -8)))
 	       (gravity (logand #xFF (aref data 0))))
--- /project/eclipse/cvsroot/eclipse/wm.lisp	2008/04/28 16:09:16	1.56
+++ /project/eclipse/cvsroot/eclipse/wm.lisp	2008/08/29 14:57:47	1.57
@@ -1,5 +1,5 @@
 ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*-
-;;; $Id: wm.lisp,v 1.56 2008/04/28 16:09:16 ihatchondo Exp $
+;;; $Id: wm.lisp,v 1.57 2008/08/29 14:57:47 ihatchondo Exp $
 ;;;
 ;;; ECLIPSE. The Common Lisp Window Manager.
 ;;; Copyright (C) 2000, 2001, 2002 Iban HATCHONDO
@@ -496,6 +496,13 @@
   (declare (ignorable window timestamp))
   (values))
 
+(defmethod set-focus :after (input-model window timestamp)
+  (declare (ignorable timestamp))
+  (let ((states (netwm:net-wm-state window)))
+    (when (member :_net_wm_state_demands_attention states)
+      (setf (netwm:net-wm-state window)
+            (remove :_net_wm_state_demands_attention states)))))
+
 ;; Next is methods for menu-3 who permit to manage any window :
 ;;  choose an action in the menu and click on a window
 ;;  to perform this action.




More information about the Eclipse-cvs mailing list