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

pbrochard at common-lisp.net pbrochard at common-lisp.net
Wed Jul 16 21:44:26 UTC 2008


Author: pbrochard
Date: Wed Jul 16 17:44:23 2008
New Revision: 151

Modified:
   clfswm/ChangeLog
   clfswm/TODO
   clfswm/src/clfswm-nw-hooks.lisp
   clfswm/src/clfswm-util.lisp
   clfswm/src/config.lisp
Log:
display-current-window-info: Display the window id. have-to-present-virtual-keyboard: Add a virtual keyboard corner	(top right by default). By default 'xvkbd' is used.

Modified: clfswm/ChangeLog
==============================================================================
--- clfswm/ChangeLog	(original)
+++ clfswm/ChangeLog	Wed Jul 16 17:44:23 2008
@@ -1,3 +1,17 @@
+2008-07-16  Philippe Brochard  <pbrochard at common-lisp.net>
+
+	* src/clfswm-util.lisp (display-current-window-info): Display the
+	window id.
+	(have-to-present-virtual-keyboard): Add a virtual keyboard corner
+	(top right by default). By default 'xvkbd' is used.
+	Here is an ~/.Xresources example:
+	  xvkbd.windowGeometry: 300x100-0-0
+	  xvkbd*Font: 6x12
+	  xvkbd.modalKeytop: true
+	  xvkbd.customization: -french
+	  xvkbd.keypad: false
+
+
 2008-06-28  Philippe Brochard  <pbrochard at common-lisp.net>
 
 	* src/xlib-util.lisp (move-window, resize-window): Compress motion

Modified: clfswm/TODO
==============================================================================
--- clfswm/TODO	(original)
+++ clfswm/TODO	Wed Jul 16 17:44:23 2008
@@ -9,6 +9,8 @@
 
 - Show config -> list and display documentation for all tweakable global variables. [Philippe]
 
+- Fast switch between two children. [Philippe]
+
 - A Gimp layout example (a main window and all others on the left) [Philippe]
 
 - Hook to open next window in named/numbered frame [Philippe]
@@ -46,3 +48,4 @@
 
 - Undo/redo (any idea to implement this is welcome)
 
+- Mouse support in menu?
\ No newline at end of file

Modified: clfswm/src/clfswm-nw-hooks.lisp
==============================================================================
--- clfswm/src/clfswm-nw-hooks.lisp	(original)
+++ clfswm/src/clfswm-nw-hooks.lisp	Wed Jul 16 17:44:23 2008
@@ -80,7 +80,8 @@
 (defun default-frame-nw-hook (frame window)
   "Open the next window in the current frame"
   (declare (ignore frame))
-  (unless (string-equal (xlib:get-wm-class window) "ROX-Pinboard")
+  (unless (or (string-equal (xlib:get-wm-class window) "ROX-Pinboard")
+	      (string-equal (xlib:get-wm-class window) "xvkbd"))
     (leave-if-not-frame *current-child*)
     (when (frame-p *current-child*)
       (pushnew window (frame-child *current-child*)))

Modified: clfswm/src/clfswm-util.lisp
==============================================================================
--- clfswm/src/clfswm-util.lisp	(original)
+++ clfswm/src/clfswm-util.lisp	Wed Jul 16 17:44:23 2008
@@ -518,6 +518,17 @@
       (setf *current-root* parent))
     t))
 
+(let ((vt-keyboard-on nil))
+  (defun have-to-present-virtual-keyboard (root-x root-y)
+    (when (and (frame-p *current-root*)
+	       (in-corner *present-virtual-keyboard-corner* root-x root-y))
+      (stop-button-event)
+      (do-shell (if vt-keyboard-on
+		    *virtual-keyboard-kill-cmd*
+		    *virtual-keyboard-cmd*))
+      (setf vt-keyboard-on (not vt-keyboard-on))
+      t)))
+  
 
 
 
@@ -578,6 +589,7 @@
 On *present-all-windows-corner*: Present all windows in all frames."
   (or (have-to-present-windows root-x root-y)
       (have-to-present-all-windows root-x root-y)
+      (have-to-present-virtual-keyboard root-x root-y)
       (mouse-click-to-focus-generic window root-x root-y #'move-frame)))
 
 (defun mouse-click-to-focus-and-resize (window root-x root-y)
@@ -586,6 +598,7 @@
 On *present-all-windows-corner*: Present all windows in all frames."
   (or (have-to-present-windows root-x root-y)
       (have-to-present-all-windows root-x root-y)
+      (have-to-present-virtual-keyboard root-x root-y)
       (mouse-click-to-focus-generic window root-x root-y #'resize-frame)))
 
 
@@ -943,7 +956,8 @@
     (info-mode (list (format nil "Window:       ~A" window)
 		     (format nil "Window name:  ~A" (xlib:wm-name window))
 		     (format nil "Window class: ~A" (xlib:get-wm-class window))
-		     (format nil "Window type:  ~:(~A~)" (window-type window)))))
+		     (format nil "Window type:  ~:(~A~)" (window-type window))
+		     (format nil "Window id:    0x~X" (xlib:window-id window)))))
   (leave-second-mode))
 
 

Modified: clfswm/src/config.lisp
==============================================================================
--- clfswm/src/config.lisp	(original)
+++ clfswm/src/config.lisp	Wed Jul 16 17:44:23 2008
@@ -94,7 +94,12 @@
   "Which corner enable the mouse present all windows
 One of :bottom-right :bottom-left :top-right :top-left")
 
+(defparameter *present-virtual-keyboard-corner* :top-right
+  "Which corner enable the mouse present virtual keyboard.
+One of :bottom-right :bottom-left :top-right :top-left")
 
+(defparameter *virtual-keyboard-cmd* "xvkbd")
+(defparameter *virtual-keyboard-kill-cmd* "pkill xvkbd")
 
 
 



More information about the clfswm-cvs mailing list