[clfswm-cvs] r309 - in clfswm: . src

Philippe Brochard pbrochard at common-lisp.net
Mon Aug 30 20:16:41 UTC 2010


Author: pbrochard
Date: Mon Aug 30 16:16:40 2010
New Revision: 309

Log:
src/clfswm-corner.lisp (present-clfswm-terminal): Make the clfswm terminal working even on xterm title changes.

Modified:
   clfswm/ChangeLog
   clfswm/src/clfswm-corner.lisp
   clfswm/src/config.lisp

Modified: clfswm/ChangeLog
==============================================================================
--- clfswm/ChangeLog	(original)
+++ clfswm/ChangeLog	Mon Aug 30 16:16:40 2010
@@ -1,3 +1,8 @@
+2010-08-30  Philippe Brochard  <pbrochard at common-lisp.net>
+
+	* src/clfswm-corner.lisp (present-clfswm-terminal): Make the
+	clfswm terminal working even on xterm title changes.
+
 2010-08-29  Philippe Brochard  <pbrochard at common-lisp.net>
 
 	* src/clfswm-util.lisp (run-other-window-manager): Update for

Modified: clfswm/src/clfswm-corner.lisp
==============================================================================
--- clfswm/src/clfswm-corner.lisp	(original)
+++ clfswm/src/clfswm-corner.lisp	Mon Aug 30 16:16:40 2010
@@ -120,30 +120,25 @@
   t)
 
 
-
 (defun present-clfswm-terminal ()
   "Hide/Unhide a terminal"
-  (stop-button-event)
-  (let ((found nil))
-    (dolist (win (xlib:query-tree *root*))
-      (when (string-equal (xlib:wm-name win) *clfswm-terminal-name*)
-	(setf found t)
-	(unless (child-equal-p *clfswm-terminal* win)
-	  (setf *clfswm-terminal* win)
-	  (hide-window *clfswm-terminal*))))
-    (unless found
+  (labels ((find-clfswm-terminal ()
+	     (dolist (win (xlib:query-tree *root*))
+	       (when (child-equal-p win *clfswm-terminal*)
+		 (return t)))))
+    (stop-button-event)
+    (unless (find-clfswm-terminal)
       (do-shell *clfswm-terminal-cmd*)
       (loop :with done = nil :until done
 	 :do (dolist (win (xlib:query-tree *root*))
 	       (when (string-equal (xlib:wm-name win) *clfswm-terminal-name*)
 		 (setf *clfswm-terminal* win
 		       done t))))
-      (hide-window *clfswm-terminal*)))
-  (cond ((window-hidden-p *clfswm-terminal*) (unhide-window *clfswm-terminal*)
-	 (focus-window *clfswm-terminal*)
-	 (raise-window *clfswm-terminal*))
-	(t (hide-window *clfswm-terminal*)
-	   (show-all-children nil)))
-  t)
-
+      (hide-window *clfswm-terminal*))
+    (cond ((window-hidden-p *clfswm-terminal*) (unhide-window *clfswm-terminal*)
+	   (focus-window *clfswm-terminal*)
+	   (raise-window *clfswm-terminal*))
+	  (t (hide-window *clfswm-terminal*)
+	     (show-all-children nil)))
+    t))
 

Modified: clfswm/src/config.lisp
==============================================================================
--- clfswm/src/config.lisp	(original)
+++ clfswm/src/config.lisp	Mon Aug 30 16:16:40 2010
@@ -128,6 +128,7 @@
 
 (defparameter *clfswm-terminal-name* "clfswm-terminal"
   "Config(Corner group): The clfswm terminal name")
+;;(defparameter *clfswm-terminal-cmd* (format nil "xterm -T ~A -e /bin/bash --noprofile --norc" *clfswm-terminal-name*)
 (defparameter *clfswm-terminal-cmd* (format nil "xterm -T ~A" *clfswm-terminal-name*)
   "Config(Corner group): The clfswm terminal command.
 This command must set the window title to *clfswm-terminal-name*")




More information about the clfswm-cvs mailing list