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.