[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