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

Philippe Brochard pbrochard at common-lisp.net
Sat Sep 11 12:22:10 UTC 2010


Author: pbrochard
Date: Sat Sep 11 08:22:09 2010
New Revision: 317

Log:
src/clfswm-util.lisp (update-menus): List all directories and subdirectories in /usr/share:/usr/local/share:/usr/share:/usr/local/share:/usr/share:/usr/local/share:/usr/share:/usr/local/share:/usr/share:/usr/local/share/applications.

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

Modified: clfswm/ChangeLog
==============================================================================
--- clfswm/ChangeLog	(original)
+++ clfswm/ChangeLog	Sat Sep 11 08:22:09 2010
@@ -1,3 +1,12 @@
+2010-09-11  Philippe Brochard  <pbrochard at common-lisp.net>
+
+	* src/clfswm-corner.lisp (present-clfswm-terminal)
+	(present-virtual-keyboard): Use a function (generic-present-body)
+	instead of a macro (generate-present-body).
+
+	* src/clfswm-util.lisp (update-menus): List all directories and
+	subdirectories in $XDG_DATA_DIRS/applications.
+
 2010-09-10  Philippe Brochard  <pbrochard at common-lisp.net>
 
 	* src/clfswm-corner.lisp (generate-present-body): New macro.

Modified: clfswm/TODO
==============================================================================
--- clfswm/TODO	(original)
+++ clfswm/TODO	Sat Sep 11 08:22:09 2010
@@ -7,8 +7,6 @@
 ===============
 Should handle these soon.
 
-- Use xdg menu spec instead of the Debian specific update-menu command.
-
 - Add a data slot to tell if a frame must hide or not its floating windows when its not selected.
 
 
@@ -17,7 +15,7 @@
 
 - cd/pwd a la shell to navigate through frames.
 
-- Zoom
+- Zoom:
 
 Concept:
   * zoom out: Behave as if the application window is bigger for the application but completely drawn in a small amount of space (miniature). The zoom factor is inferior to 100%

Modified: clfswm/src/clfswm-corner.lisp
==============================================================================
--- clfswm/src/clfswm-corner.lisp	(original)
+++ clfswm/src/clfswm-corner.lisp	Sat Sep 11 08:22:09 2010
@@ -123,37 +123,39 @@
 	 (return-from wait-window-in-query-tree win)))))
 
 
-(defmacro generate-present-body (cmd wait-test win &optional focus-p)
-  `(progn
-     (stop-button-event)
-     (unless (find-window-in-query-tree ,win)
-       (do-shell ,cmd)
-       (setf ,win (wait-window-in-query-tree ,wait-test))
-       (hide-window ,win))
-     (cond ((window-hidden-p ,win) (unhide-window ,win)
-	    (when ,focus-p
-	      (focus-window ,win))
-	    (raise-window ,win))
-	   (t (hide-window ,win)
-	      (show-all-children nil)))
-     t))
+(defun generic-present-body (cmd wait-test win &optional focus-p)
+  (stop-button-event)
+  (unless (find-window-in-query-tree win)
+    (do-shell cmd)
+    (setf win (wait-window-in-query-tree wait-test))
+    (hide-window win))
+  (cond ((window-hidden-p win) (unhide-window win)
+	 (when focus-p
+	   (focus-window win))
+	 (raise-window win))
+	(t (hide-window win)
+	   (show-all-children nil)))
+  win)
+
 
 
 (let (win)
   (defun present-virtual-keyboard ()
     "Present a virtual keyboard"
-    (generate-present-body *virtual-keyboard-cmd*
-			   (lambda (win)
-			     (string-equal (xlib:get-wm-class win) "xvkbd"))
-			   win)))
+    (setf win (generic-present-body *virtual-keyboard-cmd*
+				    (lambda (win)
+				      (string-equal (xlib:get-wm-class win) "xvkbd"))
+				    win))
+    t))
 
 
 (let (win)
   (defun present-clfswm-terminal ()
     "Hide/Unhide a terminal"
-    (generate-present-body *clfswm-terminal-cmd*
-			   (lambda (win)
-			     (string-equal (xlib:wm-name win) *clfswm-terminal-name*))
-			   win
-			   t)))
+    (setf win (generic-present-body *clfswm-terminal-cmd*
+				    (lambda (win)
+				      (string-equal (xlib:wm-name win) *clfswm-terminal-name*))
+				    win
+				    t))
+    t))
 

Modified: clfswm/src/clfswm-util.lisp
==============================================================================
--- clfswm/src/clfswm-util.lisp	(original)
+++ clfswm/src/clfswm-util.lisp	Sat Sep 11 08:22:09 2010
@@ -1266,7 +1266,7 @@
 	(found (make-hash-table :test #'equal)))
     (dolist (dir (remove-duplicates
 		  (split-string (getenv "XDG_DATA_DIRS") #\:) :test #'string-equal))
-      (dolist (desktop (directory (concatenate 'string dir "/applications/*.desktop")))
+      (dolist (desktop (directory (concatenate 'string dir "/applications/**/*.desktop")))
 	(unless (gethash (file-namestring desktop) found)
 	  (setf (gethash (file-namestring desktop) found) t)
 	  (um-add-desktop desktop menu)

Modified: clfswm/src/clfswm.lisp
==============================================================================
--- clfswm/src/clfswm.lisp	(original)
+++ clfswm/src/clfswm.lisp	Sat Sep 11 08:22:09 2010
@@ -178,8 +178,7 @@
 					    :height (xlib:screen-height *screen*)
 					    :depth (xlib:screen-root-depth *screen*)
 					    :drawable *root*)
-	*in-second-mode* nil
-	*vt-keyboard-on* nil)
+	*in-second-mode* nil)
   (init-modifier-list)
   (xgrab-init-pointer)
   (xgrab-init-keyboard)

Modified: clfswm/src/config.lisp
==============================================================================
--- clfswm/src/config.lisp	(original)
+++ clfswm/src/config.lisp	Sat Sep 11 08:22:09 2010
@@ -123,8 +123,6 @@
     xvkbd.customization: -french
     xvkbd.keypad: false
   And make it always on top")
-(defparameter *virtual-keyboard-kill-cmd* "pkill xvkbd"
-  "Config(Corner group): The command to stop the virtual keyboard")
 
 (defparameter *clfswm-terminal-name* "clfswm-terminal"
   "Config(Corner group): The clfswm terminal name")




More information about the clfswm-cvs mailing list