From pbrochard at common-lisp.net Wed Jul 16 21:44:26 2008 From: pbrochard at common-lisp.net (pbrochard at common-lisp.net) Date: Wed, 16 Jul 2008 17:44:26 -0400 (EDT) Subject: [clfswm-cvs] r151 - in clfswm: . src Message-ID: <20080716214426.4CACC702FE@common-lisp.net> 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 + + * 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 * 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") From pbrochard at common-lisp.net Sun Jul 20 19:27:49 2008 From: pbrochard at common-lisp.net (pbrochard at common-lisp.net) Date: Sun, 20 Jul 2008 15:27:49 -0400 (EDT) Subject: [clfswm-cvs] r152 - in clfswm: . src Message-ID: <20080720192749.C406E2E2D8@common-lisp.net> Author: pbrochard Date: Sun Jul 20 15:27:48 2008 New Revision: 152 Modified: clfswm/ChangeLog clfswm/TODO clfswm/src/clfswm-internal.lisp clfswm/src/config.lisp Log: place maxsized and fullscreened windows in the center of the screen Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Sun Jul 20 15:27:48 2008 @@ -4,13 +4,6 @@ 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 Modified: clfswm/TODO ============================================================================== --- clfswm/TODO (original) +++ clfswm/TODO Sun Jul 20 15:27:48 2008 @@ -11,6 +11,8 @@ - Fast switch between two children. [Philippe] +- Fast layout switch [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] Modified: clfswm/src/clfswm-internal.lisp ============================================================================== --- clfswm/src/clfswm-internal.lisp (original) +++ clfswm/src/clfswm-internal.lisp Sun Jul 20 15:27:48 2008 @@ -860,8 +860,8 @@ (xlib:drawable-height window)))) (setf (xlib:drawable-width window) (min (max min-width rwidth *default-window-width*) max-width) (xlib:drawable-height window) (min (max min-height rheight *default-window-height*) max-height)) - (setf (xlib:drawable-x window) (truncate (/ (- (xlib:screen-width *screen*) (xlib:drawable-width window)) 2)) - (xlib:drawable-y window) (truncate (/ (- (xlib:screen-height *screen*) (xlib:drawable-height window)) 2)))))) + (setf (xlib:drawable-x window) (truncate (/ (- (xlib:screen-width *screen*) (+ (xlib:drawable-width window) 2)) 2)) + (xlib:drawable-y window) (truncate (/ (- (xlib:screen-height *screen*) (+ (xlib:drawable-height window) 2)) 2)))))) Modified: clfswm/src/config.lisp ============================================================================== --- clfswm/src/config.lisp (original) +++ clfswm/src/config.lisp Sun Jul 20 15:27:48 2008 @@ -98,7 +98,15 @@ "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-cmd* "xvkbd" + "The command to display the virtual keybaord + Here is an ~/.Xresources example for xvkbd: + xvkbd.windowGeometry: 300x100-0-0 + xvkbd*Font: 6x12 + xvkbd.modalKeytop: true + xvkbd.customization: -french + xvkbd.keypad: false + And make it always on top") (defparameter *virtual-keyboard-kill-cmd* "pkill xvkbd")