[clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-150-g482c7b3

Philippe Brochard pbrochard at common-lisp.net
Fri Nov 9 22:07:14 UTC 2012


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager".

The branch, master has been updated
       via  482c7b3303101e2bc62d142c38045814e66e6b00 (commit)
      from  cdeb96b82d4633877d4f711675f8c2f07caaa976 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 482c7b3303101e2bc62d142c38045814e66e6b00
Author: Philippe Brochard <pbrochard at common-lisp.net>
Date:   Fri Nov 9 23:06:58 2012 +0100

    Add support for numeric keypad with numlock on

diff --git a/src/clfswm-info.lisp b/src/clfswm-info.lisp
index 59e9f87..707b65e 100644
--- a/src/clfswm-info.lisp
+++ b/src/clfswm-info.lisp
@@ -125,6 +125,7 @@
 (defun set-default-info-keys ()
   (define-info-key (#\q) 'leave-info-mode)
   (define-info-key ("Return") 'leave-info-mode-and-valid)
+  (define-info-key ("KP_Enter" :mod-2) 'leave-info-mode-and-valid)
   (define-info-key ("space") 'leave-info-mode-and-valid)
   (define-info-key ("Escape") 'leave-info-mode)
   (define-info-key ("g" :control) 'leave-info-mode)
diff --git a/src/clfswm-query.lisp b/src/clfswm-query.lisp
index a178b79..d70e8b4 100644
--- a/src/clfswm-query.lisp
+++ b/src/clfswm-query.lisp
@@ -40,6 +40,16 @@
 (defparameter *query-return* nil)
 
 
+(defun add-char-in-query-string (char)
+  (setf *query-string* (concatenate 'string
+                                    (when (<= *query-pos* (length *query-string*))
+                                      (subseq *query-string* 0 *query-pos*))
+                                    (string char)
+                                    (when (< *query-pos* (length *query-string*))
+                                      (subseq *query-string* *query-pos*))))
+  (incf *query-pos*))
+
+
 (defun query-show-paren (orig-string pos dec)
   "Replace matching parentheses with brackets"
   (let ((string (copy-seq orig-string)))
@@ -335,7 +345,23 @@ that calls query-mode-complete-suggest."
   (define-query-key ("Right" :control) 'query-right-word)
   (define-query-key ("Up") 'query-previous-history)
   (define-query-key ("Down") 'query-next-history)
-  (define-query-key ("k" :control) 'query-delete-eof))
+  (define-query-key ("k" :control) 'query-delete-eof)
+  (define-query-key ("KP_Insert" :mod-2) 'add-char-in-query-string "0")
+  (define-query-key ("KP_End" :mod-2) 'add-char-in-query-string "1")
+  (define-query-key ("KP_Down" :mod-2) 'add-char-in-query-string "2")
+  (define-query-key ("KP_Page_Down" :mod-2) 'add-char-in-query-string "3")
+  (define-query-key ("KP_Left" :mod-2) 'add-char-in-query-string "4")
+  (define-query-key ("KP_Begin" :mod-2) 'add-char-in-query-string "5")
+  (define-query-key ("KP_Right" :mod-2) 'add-char-in-query-string "6")
+  (define-query-key ("KP_Home" :mod-2) 'add-char-in-query-string "7")
+  (define-query-key ("KP_Up" :mod-2) 'add-char-in-query-string "8")
+  (define-query-key ("KP_Page_Up" :mod-2) 'add-char-in-query-string "9")
+  (define-query-key ("KP_Delete" :mod-2) 'add-char-in-query-string ".")
+  (define-query-key ("KP_Add" :mod-2) 'add-char-in-query-string "+")
+  (define-query-key ("KP_Subtract" :mod-2) 'add-char-in-query-string "-")
+  (define-query-key ("KP_Multiply" :mod-2) 'add-char-in-query-string "*")
+  (define-query-key ("KP_Divide" :mod-2) 'add-char-in-query-string "/")
+  (define-query-key ("KP_Enter" :mod-2) 'leave-query-mode-valid))
 
 
 
@@ -344,13 +370,7 @@ that calls query-mode-complete-suggest."
 	 (keysym (keycode->keysym code modifiers))
 	 (char (xlib:keysym->character *display* keysym state)))
     (when (and char (characterp char))
-      (setf *query-string* (concatenate 'string
-					(when (<= *query-pos* (length *query-string*))
-					  (subseq *query-string* 0 *query-pos*))
-					(string char)
-					(when (< *query-pos* (length *query-string*))
-					  (subseq *query-string* *query-pos*))))
-      (incf *query-pos*))))
+      (add-char-in-query-string char))))
 
 
 

-----------------------------------------------------------------------

Summary of changes:
 src/clfswm-info.lisp  |    1 +
 src/clfswm-query.lisp |   36 ++++++++++++++++++++++++++++--------
 2 files changed, 29 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
CLFSWM - A(nother) Common Lisp FullScreen Window Manager




More information about the clfswm-cvs mailing list