From ihatchondo at common-lisp.net Fri Aug 29 14:57:47 2008 From: ihatchondo at common-lisp.net (ihatchondo) Date: Fri, 29 Aug 2008 10:57:47 -0400 (EDT) Subject: [Eclipse-cvs] CVS eclipse Message-ID: <20080829145747.02736610B9@common-lisp.net> 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.