From pbrochard at common-lisp.net Tue May 5 07:37:23 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 05 May 2009 03:37:23 -0400 Subject: [clfswm-cvs] r219 - in clfswm: . src Message-ID: Author: pbrochard Date: Tue May 5 03:37:23 2009 New Revision: 219 Log: src/*.lisp (*): Use map-window instead of xlib:map-window. So calls xlib:display-finish-output on each map-request. So speed up the window display. Modified: clfswm/ChangeLog clfswm/src/clfswm-circulate-mode.lisp clfswm/src/clfswm-info.lisp clfswm/src/clfswm-internal.lisp clfswm/src/clfswm-query.lisp clfswm/src/clfswm-second-mode.lisp clfswm/src/clfswm-util.lisp clfswm/src/clfswm.lisp clfswm/src/xlib-util.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Tue May 5 03:37:23 2009 @@ -1,3 +1,12 @@ +2009-05-05 Philippe Brochard + + * src/*.lisp (*): Use map-window instead of xlib:map-window. So + calls xlib:display-finish-output on each map-request. So speed up + the window display. + + * src/xlib-util.lisp (map-window): New function. Call + xlib:display-finish-output on each map request. + 2009-04-28 Philippe Brochard * src/clfswm-second-mode.lisp (sm-handle-motion-notify): Modified: clfswm/src/clfswm-circulate-mode.lisp ============================================================================== --- clfswm/src/clfswm-circulate-mode.lisp (original) +++ clfswm/src/clfswm-circulate-mode.lisp Tue May 5 03:37:23 2009 @@ -201,7 +201,7 @@ :background (get-color *circulate-background*) :font *circulate-font* :line-style :solid)) - (xlib:map-window *circulate-window*) + (map-window *circulate-window*) (draw-circulate-mode-window) (when child-direction (reorder-child child-direction)) Modified: clfswm/src/clfswm-info.lisp ============================================================================== --- clfswm/src/clfswm-info.lisp (original) +++ clfswm/src/clfswm-info.lisp Tue May 5 03:37:23 2009 @@ -243,7 +243,7 @@ (handle-button-release (&rest event-slots &key window root-x root-y code state &allow-other-keys) (declare (ignore event-slots)) (funcall-button-from-code *info-mouse* code state window root-x root-y *fun-release* (list info)))) - (xlib:map-window window) + (map-window window) (draw-info-window info) (xgrab-pointer *root* 68 69) (unless keyboard-grabbed-p Modified: clfswm/src/clfswm-internal.lisp ============================================================================== --- clfswm/src/clfswm-internal.lisp (original) +++ clfswm/src/clfswm-internal.lisp Tue May 5 03:37:23 2009 @@ -506,7 +506,7 @@ (if show-window-p (when (or *show-root-frame-p* (not (equal frame *current-root*))) (setf (xlib:window-background window) (get-color "Black")) - (xlib:map-window window) + (map-window window) (when raise-p (raise-window window))) (hide-window window))) (display-frame-info frame))) @@ -517,7 +517,7 @@ (if (or (managed-window-p window parent) (equal parent *current-child*)) (progn - (xlib:map-window window) + (map-window window) (when raise-p (raise-window window))) (hide-window window)))) @@ -911,7 +911,7 @@ (format t "Processing ~S: type=~A ~S~%" (xlib:wm-name win) (window-type win) win) (unhide-window win) (process-new-window win) - (xlib:map-window win) + (map-window win) (raise-window win) (pushnew (xlib:window-id win) id-list)))))) (netwm-set-client-list id-list))) Modified: clfswm/src/clfswm-query.lisp ============================================================================== --- clfswm/src/clfswm-query.lisp (original) +++ clfswm/src/clfswm-query.lisp Tue May 5 03:37:23 2009 @@ -122,7 +122,7 @@ :background (get-color *query-background*) :font *query-font* :line-style :solid)) - (xlib:map-window *query-window*) + (map-window *query-window*) (query-print-string) (wait-no-key-or-button-press)) Modified: clfswm/src/clfswm-second-mode.lisp ============================================================================== --- clfswm/src/clfswm-second-mode.lisp (original) +++ clfswm/src/clfswm-second-mode.lisp Tue May 5 03:37:23 2009 @@ -211,7 +211,7 @@ :background (get-color *sm-background-color*) :font *sm-font* :line-style :solid)) - (xlib:map-window *sm-window*) + (map-window *sm-window*) (draw-second-mode-window) (no-focus) (ungrab-main-keys) Modified: clfswm/src/clfswm-util.lisp ============================================================================== --- clfswm/src/clfswm-util.lisp (original) +++ clfswm/src/clfswm-util.lisp Tue May 5 03:37:23 2009 @@ -118,7 +118,7 @@ (dolist (window (get-hidden-windows)) (unhide-window window) (process-new-window window) - (xlib:map-window window))) + (map-window window))) (show-all-children)) @@ -269,7 +269,7 @@ (:exposure (print-key nil nil nil nil nil))) t)) (xgrab-pointer *root* 92 93) - (xlib:map-window window) + (map-window window) (format t "~&Press 'q' to stop the identify loop~%") (print-key nil nil nil nil nil) (force-output) @@ -522,7 +522,7 @@ parent *current-root* mouse-fn #'resize-frame) (place-frame child parent root-x root-y 10 10) - (xlib:map-window (frame-window child)) + (map-window (frame-window child)) (pushnew child (frame-child *current-root*))) (setf child (find-frame-window window *current-root*) parent (find-parent-frame child *current-root*))) @@ -569,7 +569,7 @@ parent *current-root* mouse-fn #'resize-frame) (place-frame child parent root-x root-y 10 10) - (xlib:map-window (frame-window child)) + (map-window (frame-window child)) (pushnew child (frame-child *current-root*))) (typecase child (xlib:window Modified: clfswm/src/clfswm.lisp ============================================================================== --- clfswm/src/clfswm.lisp (original) +++ clfswm/src/clfswm.lisp Tue May 5 03:37:23 2009 @@ -97,7 +97,7 @@ (unless send-event-p (unhide-window window) (process-new-window window) - (xlib:map-window window) + (map-window window) (unless (null-size-window-p window) (show-all-children)))) @@ -239,7 +239,7 @@ (xgrab-init-keyboard) (init-last-child) (call-hook *binding-hook*) - (xlib:map-window *no-focus-window*) + (map-window *no-focus-window*) (dbg *display*) (setf (xlib:window-event-mask *root*) (xlib:make-event-mask :substructure-redirect :substructure-notify Modified: clfswm/src/xlib-util.lisp ============================================================================== --- clfswm/src/xlib-util.lisp (original) +++ clfswm/src/xlib-util.lisp Tue May 5 03:37:23 2009 @@ -134,9 +134,15 @@ (when (window-hidden-p window) (xlib:map-window window) (setf (window-state window) +normal-state+ - (xlib:window-event-mask window) *window-events*))))) + (xlib:window-event-mask window) *window-events*)))) + (xlib:display-finish-output *display*)) +(defun map-window (window) + (when window + (with-xlib-protect + (xlib:map-window window) + (xlib:display-finish-output *display*)))) @@ -256,7 +262,8 @@ (setf (window-state window) +iconic-state+ (xlib:window-event-mask window) (remove :structure-notify *window-events*)) (xlib:unmap-window window) - (setf (xlib:window-event-mask window) *window-events*)))) + (setf (xlib:window-event-mask window) *window-events*))) + (xlib:display-finish-output *display*)) @@ -318,13 +325,15 @@ (with-xlib-protect (when (window-hidden-p window) (unhide-window window)) - (setf (xlib:window-priority window) :top-if)))) + (setf (xlib:window-priority window) :top-if))) + (xlib:display-finish-output *display*)) (defun focus-window (window) "Give the window focus." (when window (with-xlib-protect - (xlib:set-input-focus *display* window :parent)))) + (xlib:set-input-focus *display* window :parent))) + (xlib:display-finish-output *display*)) @@ -334,7 +343,8 @@ (defun no-focus () "don't focus any window but still read keyboard events." - (xlib:set-input-focus *display* *no-focus-window* :pointer-root)) + (xlib:set-input-focus *display* *no-focus-window* :pointer-root) + (xlib:display-finish-output *display*)) From pbrochard at common-lisp.net Tue May 5 20:17:31 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 05 May 2009 16:17:31 -0400 Subject: [clfswm-cvs] r220 - in clfswm: . src Message-ID: Author: pbrochard Date: Tue May 5 16:17:31 2009 New Revision: 220 Log: reorder-child, reorder-brother: Reinitialise on circulate type change child to brother or brother to child. Modified: clfswm/ChangeLog clfswm/src/clfswm-circulate-mode.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Tue May 5 16:17:31 2009 @@ -1,5 +1,9 @@ 2009-05-05 Philippe Brochard + * src/clfswm-circulate-mode.lisp (reorder-child) + (reorder-brother): Reinitialise on circulate type change + child to brother or brother to child. + * src/*.lisp (*): Use map-window instead of xlib:map-window. So calls xlib:display-finish-output on each map-request. So speed up the window display. Modified: clfswm/src/clfswm-circulate-mode.lisp ============================================================================== --- clfswm/src/clfswm-circulate-mode.lisp (original) +++ clfswm/src/clfswm-circulate-mode.lisp Tue May 5 16:17:31 2009 @@ -54,11 +54,26 @@ "Leave the circulate mode" (throw 'exit-circulate-loop nil)) + + +(defun reset-circulate-child () + (setf *circulate-hit* 0 + *circulate-parent* nil + *circulate-orig* (frame-child *current-child*))) + +(defun reset-circulate-brother () + (setf *circulate-parent* (find-parent-frame *current-child*)) + (when (frame-p *circulate-parent*) + (setf *circulate-orig* (frame-child *circulate-parent*)))) + + + (defun reorder-child (direction) (with-slots (child) *current-child* - (when *circulate-orig* - (let ((elem (nth (mod (incf *circulate-hit* direction) (length *circulate-orig*)) *circulate-orig*))) - (setf child (nconc (list elem) (remove elem *circulate-orig*)))))) + (unless *circulate-orig* + (reset-circulate-child)) + (let ((elem (nth (mod (incf *circulate-hit* direction) (length *circulate-orig*)) *circulate-orig*))) + (setf child (nconc (list elem) (remove elem *circulate-orig*))))) (show-all-children) (draw-circulate-mode-window)) @@ -69,6 +84,8 @@ (if frame-is-root? (hide-all *current-root*) (select-current-frame nil)) + (unless (and *circulate-orig* *circulate-parent*) + (reset-circulate-brother)) (let ((elem (nth (mod (incf *circulate-hit* direction) (length *circulate-orig*)) *circulate-orig*))) (setf (frame-child *circulate-parent*) (nconc (list elem) (remove elem *circulate-orig*)) *current-child* (frame-selected-child *circulate-parent*))) @@ -79,16 +96,6 @@ -(defun reset-circulate-child () - (setf *circulate-hit* 0 - *circulate-parent* nil - *circulate-orig* (frame-child *current-child*))) - -(defun reset-circulate-brother () - (setf *circulate-parent* (find-parent-frame *current-child*)) - (when (frame-p *circulate-parent*) - (setf *circulate-orig* (frame-child *circulate-parent*)))) - (defun circulate-select-next-child () From pbrochard at common-lisp.net Tue May 5 21:48:09 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 05 May 2009 17:48:09 -0400 Subject: [clfswm-cvs] r221 - in clfswm: . src Message-ID: Author: pbrochard Date: Tue May 5 17:48:08 2009 New Revision: 221 Log: Add support for Clozure Common Lisp (CCL) Modified: clfswm/ChangeLog clfswm/src/tools.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Tue May 5 17:48:08 2009 @@ -1,5 +1,7 @@ 2009-05-05 Philippe Brochard + * src/*.lisp: Add support for Clozure Common Lisp (CCL). + * src/clfswm-circulate-mode.lisp (reorder-child) (reorder-brother): Reinitialise on circulate type change child to brother or brother to child. Modified: clfswm/src/tools.lisp ============================================================================== --- clfswm/src/tools.lisp (original) +++ clfswm/src/tools.lisp Tue May 5 17:48:08 2009 @@ -459,10 +459,10 @@ #+gcl (si:getenv (string var)) #+lispworks (lw:environment-variable (string var)) #+lucid (lcl:environment-variable (string var)) - #+mcl (ccl::getenv var) + #+(or mcl ccl) (ccl::getenv var) #+sbcl (sb-posix:getenv (string var)) #+ecl (si:getenv (string var)) - #-(or allegro clisp cmu gcl lispworks lucid mcl sbcl scl ecl) + #-(or allegro clisp cmu gcl lispworks lucid mcl sbcl scl ecl ccl) (error 'not-implemented :proc (list 'getenv var))) @@ -482,7 +482,8 @@ #+lucid (setf (lcl:environment-variable (string var)) (string val)) #+sbcl (sb-posix:putenv (format nil "~A=~A" (string var) (string val))) #+ecl (si:setenv (string var) (string val)) - #-(or allegro clisp cmu gcl lispworks lucid sbcl scl ecl) + #+ccl (ccl::setenv (string var) (string val)) + #-(or allegro clisp cmu gcl lispworks lucid sbcl scl ecl ccl) (error 'not-implemented :proc (list '(setf getenv) var))) @@ -497,7 +498,8 @@ #+ecl (si:quit) #+gcl (lisp:quit) #+lispworks (lw:quit) - #+(or allegro-cl allegro-cl-trial) (excl:exit)) + #+(or allegro-cl allegro-cl-trial) (excl:exit) + #+ccl (ccl:quit)) @@ -537,7 +539,8 @@ #+lucid (apply #'lcl:run-program prog :wait wait :arguments args opts) #+sbcl (apply #'sb-ext:run-program prog args :wait wait :output *standard-output* opts) #+ecl (apply #'ext:run-program prog args opts) - #-(or allegro clisp cmu gcl liquid lispworks lucid sbcl ecl) + #+ccl (applay #'ccl:run-program prog args opts :wait wait) + #-(or allegro clisp cmu gcl liquid lispworks lucid sbcl ecl ccl) (error 'not-implemented :proc (list 'run-prog prog opts))) From pbrochard at common-lisp.net Sat May 9 21:13:00 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 09 May 2009 17:13:00 -0400 Subject: [clfswm-cvs] r222 - in clfswm: . src Message-ID: Author: pbrochard Date: Sat May 9 17:13:00 2009 New Revision: 222 Log: maximize-layout: New layout: Maximize windows and frames in there parent frame. Modified: clfswm/ChangeLog clfswm/TODO clfswm/src/clfswm-layout.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Sat May 9 17:13:00 2009 @@ -1,3 +1,8 @@ +2009-05-09 Philippe Brochard + + * src/clfswm-layout.lisp (maximize-layout): New layout: Maximize + windows and frames in there parent frame. + 2009-05-05 Philippe Brochard * src/*.lisp: Add support for Clozure Common Lisp (CCL). Modified: clfswm/TODO ============================================================================== --- clfswm/TODO (original) +++ clfswm/TODO Sat May 9 17:13:00 2009 @@ -7,6 +7,9 @@ =============== Should handle these soon. +- toggle-maximize-in-parent: maximize the current child in its parent (set its float coordinates + to 0 0 1 1) + - Show config -> list and display documentation for all tweakable global variables. [Philippe] TODO : In ~/.clfswmrc: Modified: clfswm/src/clfswm-layout.lisp ============================================================================== --- clfswm/src/clfswm-layout.lisp (original) +++ clfswm/src/clfswm-layout.lisp Sat May 9 17:13:00 2009 @@ -33,7 +33,7 @@ ;;; child in screen size (integer) as 5 values (rx, ry, rw, rh). ;;; This method can use the float size of the child (x, y ,w , h). ;;; It can be specialised for xlib:window or frame -;;; 2- Define a seter function for your layout +;;; 2- Define a setter function for your layout ;;; 3- Register your new layout with register-layout or create ;;; a sub menu for it with register-layout-sub-menu. @@ -154,6 +154,26 @@ (register-layout 'set-no-layout) +;;; Maximize layout +(defgeneric maximize-layout (child parent) + (:documentation "Maximize layout: Maximize windows and frames in there parent frame")) + +(defmethod maximize-layout (child parent) + (declare (ignore child)) + (with-slots (rx ry rw rh) parent + (values (1+ rx) + (1+ ry) + (- rw 2) + (- rh 2)))) + + +(defun set-maximize-layout () + "Maximize layout: Maximize windows and frames in there parent frame" + (set-layout #'maximize-layout)) + +(register-layout 'set-maximize-layout) + + ;;; Tile layout @@ -429,7 +449,7 @@ (1+ ry) (- (round (* rw (- 1 size))) 2) (- rh 2))))))) - + (defun set-main-window-right-layout () "Main window right: Main windows on the right. Others on the left." (layout-ask-size "Split size in percent (%)" :tile-size) @@ -457,7 +477,7 @@ (1+ ry) (- (round (* rw (- 1 size))) 2) (- rh 2))))))) - + (defun set-main-window-left-layout () "Main window left: Main windows on the left. Others on the right." (layout-ask-size "Split size in percent (%)" :tile-size) @@ -484,7 +504,7 @@ (1+ (round (+ ry (* rh size)))) (- rw 2) (- (round (* rh (- 1 size))) 2))))))) - + (defun set-main-window-top-layout () "Main window top: Main windows on the top. Others on the bottom." (layout-ask-size "Split size in percent (%)" :tile-size) @@ -511,7 +531,7 @@ (1+ ry) (- rw 2) (- (round (* rh (- 1 size))) 2))))))) - + (defun set-main-window-bottom-layout () "Main window bottom: Main windows on the bottom. Others on the top." (layout-ask-size "Split size in percent (%)" :tile-size) @@ -592,7 +612,7 @@ (unless (do-corner-action root-x root-y *corner-main-mode-left-button*) (if (and (frame-p *current-child*) (member window (frame-data-slot *current-child* :main-window-list))) - (replay-button-event) + (replay-button-event) (mouse-click-to-focus-generic window root-x root-y #'move-frame)))) From pbrochard at common-lisp.net Sat May 9 21:52:25 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 09 May 2009 17:52:25 -0400 Subject: [clfswm-cvs] r223 - in clfswm: . src Message-ID: Author: pbrochard Date: Sat May 9 17:52:25 2009 New Revision: 223 Log: frame-toggle-maximize: New function: Maximize/Unmaximize the current frame in its parent frame. Modified: clfswm/ChangeLog clfswm/TODO clfswm/src/bindings-second-mode.lisp clfswm/src/bindings.lisp clfswm/src/clfswm-util.lisp clfswm/src/menu-def.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Sat May 9 17:52:25 2009 @@ -1,5 +1,8 @@ 2009-05-09 Philippe Brochard + * src/clfswm-util.lisp (frame-toggle-maximize): New function: + Maximize/Unmaximize the current frame in its parent frame. + * src/clfswm-layout.lisp (maximize-layout): New layout: Maximize windows and frames in there parent frame. Modified: clfswm/TODO ============================================================================== --- clfswm/TODO (original) +++ clfswm/TODO Sat May 9 17:52:25 2009 @@ -7,9 +7,6 @@ =============== Should handle these soon. -- toggle-maximize-in-parent: maximize the current child in its parent (set its float coordinates - to 0 0 1 1) - - Show config -> list and display documentation for all tweakable global variables. [Philippe] TODO : In ~/.clfswmrc: Modified: clfswm/src/bindings-second-mode.lisp ============================================================================== --- clfswm/src/bindings-second-mode.lisp (original) +++ clfswm/src/bindings-second-mode.lisp Sat May 9 17:52:25 2009 @@ -107,6 +107,7 @@ (define-second-key (#\Tab :shift) 'switch-to-last-child) (define-second-key ("Return" :mod-1) 'enter-frame) (define-second-key ("Return" :mod-1 :shift) 'leave-frame) + (define-second-key ("Return" :mod-5) 'frame-toggle-maximize) (define-second-key ("Page_Up" :mod-1) 'frame-lower-child) (define-second-key ("Page_Down" :mod-1) 'frame-raise-child) (define-second-key ("Home" :mod-1) 'switch-to-root-frame) Modified: clfswm/src/bindings.lisp ============================================================================== --- clfswm/src/bindings.lisp (original) +++ clfswm/src/bindings.lisp Sat May 9 17:52:25 2009 @@ -41,14 +41,12 @@ (define-main-key ("Left" :mod-1) 'select-previous-brother) (define-main-key ("Down" :mod-1) 'select-previous-level) (define-main-key ("Up" :mod-1) 'select-next-level) - ;; Work in progress - ;; (define-circulate-modifier "Alt_L") - ;; (define-circulate-reverse-modifier '("Shift_L" "Shift_R")) (define-main-key ("Tab" :mod-1) 'select-next-child) (define-main-key ("Tab" :mod-1 :shift) 'select-previous-child) (define-main-key ("Tab" :shift) 'switch-to-last-child) (define-main-key ("Return" :mod-1) 'enter-frame) (define-main-key ("Return" :mod-1 :shift) 'leave-frame) + (define-main-key ("Return" :mod-5) 'frame-toggle-maximize) (define-main-key ("Page_Up" :mod-1) 'frame-lower-child) (define-main-key ("Page_Down" :mod-1) 'frame-raise-child) (define-main-key ("Home" :mod-1) 'switch-to-root-frame) Modified: clfswm/src/clfswm-util.lisp ============================================================================== --- clfswm/src/clfswm-util.lisp (original) +++ clfswm/src/clfswm-util.lisp Sat May 9 17:52:25 2009 @@ -214,6 +214,27 @@ +;;; Maximize function +(defun frame-toggle-maximize () + "Maximize/Unmaximize the current frame in its parent frame" + (when (frame-p *current-child*) + (let ((unmaximized-coords (frame-data-slot *current-child* :unmaximized-coords))) + (if unmaximized-coords + (with-slots (x y w h) *current-child* + (destructuring-bind (nx ny nw nh) unmaximized-coords + (setf (frame-data-slot *current-child* :unmaximized-coords) nil + x nx y ny w nw h nh))) + (with-slots (x y w h) *current-child* + (setf (frame-data-slot *current-child* :unmaximized-coords) + (list x y w h) + x 0 y 0 w 1 h 1)))) + (show-all-children *current-root*))) + + + + + + @@ -1218,4 +1239,3 @@ - Modified: clfswm/src/menu-def.lisp ============================================================================== --- clfswm/src/menu-def.lisp (original) +++ clfswm/src/menu-def.lisp Sat May 9 17:52:25 2009 @@ -77,6 +77,7 @@ (add-sub-menu 'frame-menu "a" 'frame-adding-menu "Adding frame menu") +(add-menu-key 'frame-menu "x" 'frame-toggle-maximize) (add-sub-menu 'frame-menu "l" 'frame-layout-menu "Frame layout menu") (add-sub-menu 'frame-menu "n" 'frame-nw-hook-menu "Frame new window hook menu") (add-sub-menu 'frame-menu "m" 'frame-movement-menu "Frame movement menu") From pbrochard at common-lisp.net Sat May 9 22:02:12 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 09 May 2009 18:02:12 -0400 Subject: [clfswm-cvs] r224 - in clfswm: . src Message-ID: Author: pbrochard Date: Sat May 9 18:02:12 2009 New Revision: 224 Log: frame-toggle-maximize: Redisplay only the parent frame of the current frame. Modified: clfswm/ChangeLog clfswm/src/clfswm-util.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Sat May 9 18:02:12 2009 @@ -1,3 +1,8 @@ +2009-05-10 Philippe Brochard + + * src/clfswm-util.lisp (frame-toggle-maximize): Redisplay only the + parent frame of the current frame. + 2009-05-09 Philippe Brochard * src/clfswm-util.lisp (frame-toggle-maximize): New function: Modified: clfswm/src/clfswm-util.lisp ============================================================================== --- clfswm/src/clfswm-util.lisp (original) +++ clfswm/src/clfswm-util.lisp Sat May 9 18:02:12 2009 @@ -228,7 +228,8 @@ (setf (frame-data-slot *current-child* :unmaximized-coords) (list x y w h) x 0 y 0 w 1 h 1)))) - (show-all-children *current-root*))) + (show-all-children (find-parent-frame *current-child*)) + (leave-second-mode))) From pbrochard at common-lisp.net Sat May 9 22:19:19 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 09 May 2009 18:19:19 -0400 Subject: [clfswm-cvs] r225 - in clfswm: . src Message-ID: Author: pbrochard Date: Sat May 9 18:19:18 2009 New Revision: 225 Log: reorder-child, reorder-brother: Handle empty frames. Modified: clfswm/ChangeLog clfswm/src/clfswm-circulate-mode.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Sat May 9 18:19:18 2009 @@ -1,5 +1,8 @@ 2009-05-10 Philippe Brochard + * src/clfswm-circulate-mode.lisp (reorder-child) + (reorder-brother): Handle empty frames. + * src/clfswm-util.lisp (frame-toggle-maximize): Redisplay only the parent frame of the current frame. Modified: clfswm/src/clfswm-circulate-mode.lisp ============================================================================== --- clfswm/src/clfswm-circulate-mode.lisp (original) +++ clfswm/src/clfswm-circulate-mode.lisp Sat May 9 18:19:18 2009 @@ -72,10 +72,12 @@ (with-slots (child) *current-child* (unless *circulate-orig* (reset-circulate-child)) - (let ((elem (nth (mod (incf *circulate-hit* direction) (length *circulate-orig*)) *circulate-orig*))) - (setf child (nconc (list elem) (remove elem *circulate-orig*))))) - (show-all-children) - (draw-circulate-mode-window)) + (let ((len (length *circulate-orig*))) + (when (plusp len) + (let ((elem (nth (mod (incf *circulate-hit* direction) len) *circulate-orig*))) + (setf child (nconc (list elem) (remove elem *circulate-orig*))))) + (show-all-children) + (draw-circulate-mode-window)))) (defun reorder-brother (direction) @@ -86,11 +88,13 @@ (select-current-frame nil)) (unless (and *circulate-orig* *circulate-parent*) (reset-circulate-brother)) - (let ((elem (nth (mod (incf *circulate-hit* direction) (length *circulate-orig*)) *circulate-orig*))) - (setf (frame-child *circulate-parent*) (nconc (list elem) (remove elem *circulate-orig*)) - *current-child* (frame-selected-child *circulate-parent*))) - (when frame-is-root? - (setf *current-root* *current-child*)) + (let ((len (length *circulate-orig*))) + (when (plusp len) + (let ((elem (nth (mod (incf *circulate-hit* direction) len) *circulate-orig*))) + (setf (frame-child *circulate-parent*) (nconc (list elem) (remove elem *circulate-orig*)) + *current-child* (frame-selected-child *circulate-parent*))) + (when frame-is-root? + (setf *current-root* *current-child*)))) (show-all-children *current-root*) (draw-circulate-mode-window))) From pbrochard at common-lisp.net Sat May 9 22:27:46 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 09 May 2009 18:27:46 -0400 Subject: [clfswm-cvs] r226 - in clfswm: . src Message-ID: Author: pbrochard Date: Sat May 9 18:27:46 2009 New Revision: 226 Log: reorder-brother: Redisplay only the parent frame of the current child. Modified: clfswm/ChangeLog clfswm/src/clfswm-circulate-mode.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Sat May 9 18:27:46 2009 @@ -2,6 +2,8 @@ * src/clfswm-circulate-mode.lisp (reorder-child) (reorder-brother): Handle empty frames. + (reorder-brother): Redisplay only the parent frame of the current + child. * src/clfswm-util.lisp (frame-toggle-maximize): Redisplay only the parent frame of the current frame. Modified: clfswm/src/clfswm-circulate-mode.lisp ============================================================================== --- clfswm/src/clfswm-circulate-mode.lisp (original) +++ clfswm/src/clfswm-circulate-mode.lisp Sat May 9 18:27:46 2009 @@ -95,7 +95,7 @@ *current-child* (frame-selected-child *circulate-parent*))) (when frame-is-root? (setf *current-root* *current-child*)))) - (show-all-children *current-root*) + (show-all-children (find-parent-frame *current-child*)) (draw-circulate-mode-window))) From pbrochard at common-lisp.net Sat May 9 22:31:25 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 09 May 2009 18:31:25 -0400 Subject: [clfswm-cvs] r227 - clfswm/doc Message-ID: Author: pbrochard Date: Sat May 9 18:31:24 2009 New Revision: 227 Log: update documentation Modified: clfswm/doc/keys.html clfswm/doc/keys.txt clfswm/doc/menu.html clfswm/doc/menu.txt Modified: clfswm/doc/keys.html ============================================================================== --- clfswm/doc/keys.html (original) +++ clfswm/doc/keys.html Sat May 9 18:31:24 2009 @@ -60,7 +60,7 @@ Right - Select the next brother frame + Select the next brother @@ -71,7 +71,7 @@ Left - Select the previous brother frame + Select the previous brother @@ -115,7 +115,7 @@ Tab - Select the previous child + Select the previouschild @@ -153,6 +153,17 @@ + Mod-5 + + + Return + + + Maximize/Unmaximize the current frame in its parent frame + + + + Mod-1 @@ -302,7 +313,8 @@ T - Switch to editing mode + + @@ -313,7 +325,8 @@ Less - Switch to editing mode + + @@ -780,7 +793,7 @@ Right - Select the next brother frame + Select the next brother @@ -791,7 +804,7 @@ Left - Select the previous brother frame + Select the previous brother @@ -835,7 +848,7 @@ Tab - Select the previous child + Select the previouschild @@ -873,6 +886,17 @@ + Mod-5 + + + Return + + + Maximize/Unmaximize the current frame in its parent frame + + + + Mod-1 Modified: clfswm/doc/keys.txt ============================================================================== --- clfswm/doc/keys.txt (original) +++ clfswm/doc/keys.txt Sat May 9 18:31:24 2009 @@ -8,15 +8,16 @@ Mod-1 F1 Open the help and info window Mod-1 Control Shift Home Exit clfswm - Mod-1 Right Select the next brother frame - Mod-1 Left Select the previous brother frame + Mod-1 Right Select the next brother + Mod-1 Left Select the previous brother Mod-1 Down Select the previous level in frame Mod-1 Up Select the next level in frame Mod-1 Tab Select the next child - Mod-1 Shift Tab Select the previous child + Mod-1 Shift Tab Select the previouschild Shift Tab Store the current child and switch to the previous one Mod-1 Return Enter in the selected frame - ie make it the root frame Mod-1 Shift Return Leave the selected frame - ie make its parent the root frame + Mod-5 Return Maximize/Unmaximize the current frame in its parent frame Mod-1 Page_up Lower the child in the current frame Mod-1 Page_down Raise the child in the current frame Mod-1 Home Switch to the root frame @@ -30,8 +31,8 @@ Mod-1 Control Shift Escape Kill focus window: Destroy the focus window in all frames and workspaces Control Escape Remove the focus window in the current frame Shift Escape Unhide all hidden windows into the current child - Mod-1 T Switch to editing mode - Control Less Switch to editing mode + Mod-1 T NIL + Control Less NIL Mod-1 |1| Bind or jump to a slot Mod-1 |2| Bind or jump to a slot Mod-1 |3| Bind or jump to a slot @@ -82,15 +83,16 @@ Escape Leave second mode T Tile the current frame Mod-1 Control Shift Home Exit clfswm - Mod-1 Right Select the next brother frame - Mod-1 Left Select the previous brother frame + Mod-1 Right Select the next brother + Mod-1 Left Select the previous brother Mod-1 Down Select the previous level in frame Mod-1 Up Select the next level in frame Mod-1 Tab Select the next child - Mod-1 Shift Tab Select the previous child + Mod-1 Shift Tab Select the previouschild Shift Tab Store the current child and switch to the previous one Mod-1 Return Enter in the selected frame - ie make it the root frame Mod-1 Shift Return Leave the selected frame - ie make its parent the root frame + Mod-5 Return Maximize/Unmaximize the current frame in its parent frame Mod-1 Page_up Lower the child in the current frame Mod-1 Page_down Raise the child in the current frame Mod-1 Home Switch to the root frame Modified: clfswm/doc/menu.html ============================================================================== --- clfswm/doc/menu.html (original) +++ clfswm/doc/menu.html Sat May 9 18:31:24 2009 @@ -48,506 +48,6 @@

Standard-Menu

-

- a: < GAMES > -

-

- b: < APPS > -

-

- c: < XSHELLS > -

-

- d: < HELP > -

-
-

- Games -

-

- a: < PUZZLES > -

-

- b: < ARCADE > -

-

- c: < BOARD > -

-

- d: < TETRIS-LIKE > -

-
-

- Puzzles -

-

- a: LMarbles -

-

- b: Glotski -

-

- c: Fish Fillets -

-

- d: Pathological -

-

- e: Einstein -

-
-

- Arcade -

-

- a: Thrust -

-

- b: Thrust -

-

- c: lbreakout2 -

-

- d: Ri-li -

-

- e: xmoto -

-

- f: Toppler -

-

- g: Childsplay -

-

- h: Barrage -

-

- i: trackballs -

-

- j: rrootage -

-

- k: Abuse -

-
-

- Board -

-

- a: eboard -

-
-

- Tetris-Like -

-

- a: LTris -

-

- b: Frozen-Bubble -

-
-

- Apps -

-

- a: < NET > -

-

- b: < SYSTEM > -

-

- c: < VIEWERS > -

-

- d: < PROGRAMMING > -

-

- e: < EMULATORS > -

-

- f: < EDITORS > -

-

- g: < MATH > -

-

- h: < GRAPHICS > -

-

- i: < TOOLS > -

-

- j: < DATABASES > -

-

- k: < EDUCATION > -

-

- l: < SOUND > -

-

- m: < SHELLS > -

-
-

- Net -

-

- a: Lynx -

-

- b: Lynx Manual -

-

- c: Iceweasel -

-

- d: Icedove Mail -

-

- e: Mutt -

-

- f: Links 2 -

-

- g: Links 2 (text) -

-

- h: w3m -

-

- i: Licq -

-

- j: Telnet -

-
-

- System -

-

- a: X-Terminal as root (GKsu) -

-

- b: Aptitude -

-

- c: RT2500 configuration utility -

-

- d: Top -

-

- e: Pstree -

-

- f: Pstree -

-

- g: reportbug -

-

- h: KControl -

-

- i: KInfoCenter -

-

- j: Task selector -

-

- k: < LANGUAGE-ENVIRONMENT > -

-

- l: ROX Filer -

-

- m: KDebugDialog -

-

- n: KDCOP -

-

- o: GDM flexiserver -

-

- p: GDM flexiserver in Xnest -

-

- q: GDM Photo Setup -

-

- r: GDM Setup -

-

- s: Kicker -

-

- t: < ADMIN > -

-
-

- Language-Environment -

-

- a: Native Language Environment -

-

- b: Native Language Environment - remove -

-

- c: Japanese environment -

-

- d: Thai environment -

-

- e: Korean environment -

-

- f: Danish environment -

-

- g: German environment -

-

- h: Spanish environment -

-

- i: French environment -

-

- j: Russian environment -

-

- k: Belarusian environment -

-

- l: Bulgarian environment -

-

- m: Macedonian environment -

-

- n: Serbian environment -

-

- o: Ukrainian environment -

-

- p: Polish environment -

-

- q: Catalan environment -

-

- r: Lithuanian environment -

-

- s: Turkish environment -

-
-

- Admin -

-

- a: alsaconf - Configure your soundcards for the ALSA system -

-
-

- Viewers -

-

- a: GV -

-

- b: gmplayer -

-

- c: Xpdf -

-

- d: VLC media player -

-

- e: ImageMagick -

-
-

- Programming -

-

- a: Tclsh8.4 -

-

- b: TkWish8.4 -

-

- c: Python (v2.4) -

-

- d: BeanShell (text) -

-

- e: BeanShell (windowed) -

-

- f: Guile 1.8 -

-

- g: GDB -

-
-

- Emulators -

-

- a: hatari -

-
-

- Editors -

-

- a: Emacs 21 (X11) -

-

- b: Emacs 21 (text) -

-

- c: Nano -

-

- d: AbiWord Word Processor -

-

- e: OpenOffice.org Writer -

-
-

- Math -

-

- a: OpenOffice.org Math -

-

- b: Bc -

-

- c: Dc -

-

- d: OpenOffice.org Calc -

-
-

- Graphics -

-

- a: tuxpaint -

-

- b: tuxpaint-config -

-

- c: xfig - XFig is a menu-driven tool that allows the user to draw and manipulate objects interactively in an X window. The resulting pictures can be saved, printed on postscript printers, or converted to a variety of other formats (e.g. to allow inclusion in LaTeX documents or web pages) using the transfig program. -

-

- d: The GIMP -

-

- e: OpenOffice.org Draw -

-

- f: OpenOffice.org Impress -

-
-

- Tools -

-

- a: k3b -

-

- b: xvkbd -

-

- c: Rclock -

-
-

- Databases -

-

- a: OpenOffice.org Base -

-

- b: HSQLDB Database Manager -

-

- c: HSQLDB Database Manager (Swing) -

-

- d: HSQLDB Query Tool -

-

- e: HSQLDB Transfer Tool -

-
-

- Education -

-

- a: gcompris -

-

- b: gcompris profile editor -

-
-

- Sound -

-

- a: Alsamixergui -

-
-

- Shells -

-

- a: Bash -

-

- b: Sh -

-

- c: tcsh -

-
-

- Xshells -

-

- a: XTerm -

-

- b: XTerm (Unicode) -

-

- c: Rxvt -

-
-

- Help -

-

- a: Info -


Child-Menu @@ -593,6 +93,9 @@ a: < Adding frame menu >

+ x: Maximize/Unmaximize the current frame in its parent frame +

+

l: < Frame layout menu >

@@ -631,19 +134,22 @@ b: No layout: Maximize windows in there frame - Leave frame to there size

- c: < Frame tile layout menu > + c: Maximize layout: Maximize windows and frames in there parent frame +

+

+ d: < Frame tile layout menu >

- d: < Tile in one direction layout menu > + e: < Tile in one direction layout menu >

- e: < Tile with some space on one side menu > + f: < Tile with some space on one side menu >

- f: < Main window layout menu > + g: < Main window layout menu >

- g: < The GIMP layout menu > + h: < The GIMP layout menu >


@@ -803,6 +309,21 @@

c: Center the current frame

+

+ Right: Select the next brother frame +

+

+ Left: Select the previous brother frame +

+

+ Up: Select the next level +

+

+ Down: Select the previous levelframe +

+

+ Tab: Select the next child +


Frame-Pack-Menu Modified: clfswm/doc/menu.txt ============================================================================== --- clfswm/doc/menu.txt (original) +++ clfswm/doc/menu.txt Sat May 9 18:31:24 2009 @@ -13,188 +13,6 @@ m: < CLFSWM menu > Standard-Menu -a: < GAMES > -b: < APPS > -c: < XSHELLS > -d: < HELP > - -Games -a: < PUZZLES > -b: < ARCADE > -c: < BOARD > -d: < TETRIS-LIKE > - -Puzzles -a: LMarbles -b: Glotski -c: Fish Fillets -d: Pathological -e: Einstein - -Arcade -a: Thrust -b: Thrust -c: lbreakout2 -d: Ri-li -e: xmoto -f: Toppler -g: Childsplay -h: Barrage -i: trackballs -j: rrootage -k: Abuse - -Board -a: eboard - -Tetris-Like -a: LTris -b: Frozen-Bubble - -Apps -a: < NET > -b: < SYSTEM > -c: < VIEWERS > -d: < PROGRAMMING > -e: < EMULATORS > -f: < EDITORS > -g: < MATH > -h: < GRAPHICS > -i: < TOOLS > -j: < DATABASES > -k: < EDUCATION > -l: < SOUND > -m: < SHELLS > - -Net -a: Lynx -b: Lynx Manual -c: Iceweasel -d: Icedove Mail -e: Mutt -f: Links 2 -g: Links 2 (text) -h: w3m -i: Licq -j: Telnet - -System -a: X-Terminal as root (GKsu) -b: Aptitude -c: RT2500 configuration utility -d: Top -e: Pstree -f: Pstree -g: reportbug -h: KControl -i: KInfoCenter -j: Task selector -k: < LANGUAGE-ENVIRONMENT > -l: ROX Filer -m: KDebugDialog -n: KDCOP -o: GDM flexiserver -p: GDM flexiserver in Xnest -q: GDM Photo Setup -r: GDM Setup -s: Kicker -t: < ADMIN > - -Language-Environment -a: Native Language Environment -b: Native Language Environment - remove -c: Japanese environment -d: Thai environment -e: Korean environment -f: Danish environment -g: German environment -h: Spanish environment -i: French environment -j: Russian environment -k: Belarusian environment -l: Bulgarian environment -m: Macedonian environment -n: Serbian environment -o: Ukrainian environment -p: Polish environment -q: Catalan environment -r: Lithuanian environment -s: Turkish environment - -Admin -a: alsaconf - Configure your soundcards for the ALSA system - -Viewers -a: GV -b: gmplayer -c: Xpdf -d: VLC media player -e: ImageMagick - -Programming -a: Tclsh8.4 -b: TkWish8.4 -c: Python (v2.4) -d: BeanShell (text) -e: BeanShell (windowed) -f: Guile 1.8 -g: GDB - -Emulators -a: hatari - -Editors -a: Emacs 21 (X11) -b: Emacs 21 (text) -c: Nano -d: AbiWord Word Processor -e: OpenOffice.org Writer - -Math -a: OpenOffice.org Math -b: Bc -c: Dc -d: OpenOffice.org Calc - -Graphics -a: tuxpaint -b: tuxpaint-config -c: xfig - XFig is a menu-driven tool that allows the user to draw and manipulate objects interactively in an X window. The resulting pictures can be saved, printed on postscript printers, or converted to a variety of other formats (e.g. to allow inclusion in LaTeX documents or web pages) using the transfig program. -d: The GIMP -e: OpenOffice.org Draw -f: OpenOffice.org Impress - -Tools -a: k3b -b: xvkbd -c: Rclock - -Databases -a: OpenOffice.org Base -b: HSQLDB Database Manager -c: HSQLDB Database Manager (Swing) -d: HSQLDB Query Tool -e: HSQLDB Transfer Tool - -Education -a: gcompris -b: gcompris profile editor - -Sound -a: Alsamixergui - -Shells -a: Bash -b: Sh -c: tcsh - -Xshells -a: XTerm -b: XTerm (Unicode) -c: Rxvt - -Help -a: Info Child-Menu r: Rename the current child @@ -211,6 +29,7 @@ Frame-Menu a: < Adding frame menu > +x: Maximize/Unmaximize the current frame in its parent frame l: < Frame layout menu > n: < Frame new window hook menu > m: < Frame movement menu > @@ -225,11 +44,12 @@ Frame-Layout-Menu a: < Frame fast layout menu > b: No layout: Maximize windows in there frame - Leave frame to there size -c: < Frame tile layout menu > -d: < Tile in one direction layout menu > -e: < Tile with some space on one side menu > -f: < Main window layout menu > -g: < The GIMP layout menu > +c: Maximize layout: Maximize windows and frames in there parent frame +d: < Frame tile layout menu > +e: < Tile in one direction layout menu > +f: < Tile with some space on one side menu > +g: < Main window layout menu > +h: < The GIMP layout menu > Frame-Fast-Layout-Menu s: Switch between two layouts @@ -288,6 +108,11 @@ f: < Frame fill menu > r: < Frame resize menu > c: Center the current frame +Right: Select the next brother frame +Left: Select the previous brother frame +Up: Select the next level +Down: Select the previous levelframe +Tab: Select the next child Frame-Pack-Menu Up: Pack the current frame up From pbrochard at common-lisp.net Sat May 9 22:36:00 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 09 May 2009 18:36:00 -0400 Subject: [clfswm-cvs] r228 - clfswm Message-ID: Author: pbrochard Date: Sat May 9 18:36:00 2009 New Revision: 228 Log: clfswm.asd: Dependency fix for clfswm-generic-mode. Modified: clfswm/ChangeLog clfswm/clfswm.asd Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Sat May 9 18:36:00 2009 @@ -1,5 +1,7 @@ 2009-05-10 Philippe Brochard + * clfswm.asd: Dependency fix for clfswm-generic-mode. + * src/clfswm-circulate-mode.lisp (reorder-child) (reorder-brother): Handle empty frames. (reorder-brother): Redisplay only the parent frame of the current Modified: clfswm/clfswm.asd ============================================================================== --- clfswm/clfswm.asd (original) +++ clfswm/clfswm.asd Sat May 9 18:36:00 2009 @@ -34,7 +34,7 @@ (:file "clfswm-internal" :depends-on ("xlib-util" "clfswm-keys" "netwm-util" "tools" "config")) (:file "clfswm-circulate-mode" - :depends-on ("xlib-util" "clfswm-keys" + :depends-on ("xlib-util" "clfswm-keys" "clfswm-generic-mode" "clfswm-internal" "netwm-util" "tools" "config")) (:file "clfswm" :depends-on ("xlib-util" "netwm-util" "clfswm-keys" "config" From pbrochard at common-lisp.net Sun May 10 21:10:51 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 10 May 2009 17:10:51 -0400 Subject: [clfswm-cvs] r229 - in clfswm: . doc src Message-ID: Author: pbrochard Date: Sun May 10 17:10:50 2009 New Revision: 229 Log: reorder-brother: Handle root-frame correctly. Modified: clfswm/ChangeLog clfswm/doc/keys.html clfswm/doc/keys.txt clfswm/doc/menu.html clfswm/doc/menu.txt clfswm/src/clfswm-circulate-mode.lisp clfswm/src/clfswm-second-mode.lisp clfswm/src/menu-def.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Sun May 10 17:10:50 2009 @@ -1,5 +1,8 @@ 2009-05-10 Philippe Brochard + * src/clfswm-circulate-mode.lisp (reorder-brother): Handle + root-frame correctly. + * clfswm.asd: Dependency fix for clfswm-generic-mode. * src/clfswm-circulate-mode.lisp (reorder-child) Modified: clfswm/doc/keys.html ============================================================================== --- clfswm/doc/keys.html (original) +++ clfswm/doc/keys.html Sun May 10 17:10:50 2009 @@ -313,8 +313,7 @@ T - - + Switch to editing mode @@ -325,8 +324,7 @@ Less - - + Switch to editing mode @@ -1627,7 +1625,7 @@ - Motion + Clfswm motion Grab text Modified: clfswm/doc/keys.txt ============================================================================== --- clfswm/doc/keys.txt (original) +++ clfswm/doc/keys.txt Sun May 10 17:10:50 2009 @@ -31,8 +31,8 @@ Mod-1 Control Shift Escape Kill focus window: Destroy the focus window in all frames and workspaces Control Escape Remove the focus window in the current frame Shift Escape Unhide all hidden windows into the current child - Mod-1 T NIL - Control Less NIL + Mod-1 T Switch to editing mode + Control Less Switch to editing mode Mod-1 |1| Bind or jump to a slot Mod-1 |2| Bind or jump to a slot Mod-1 |3| Bind or jump to a slot @@ -171,7 +171,7 @@ 2 Leave the info mode 4 Move one line up 5 Move one line down - Motion Grab text + Clfswm::motion Grab text Modified: clfswm/doc/menu.html ============================================================================== --- clfswm/doc/menu.html (original) +++ clfswm/doc/menu.html Sun May 10 17:10:50 2009 @@ -93,9 +93,6 @@ a: < Adding frame menu >

- x: Maximize/Unmaximize the current frame in its parent frame -

-

l: < Frame layout menu >

@@ -113,6 +110,9 @@

s: < Frame miscallenous menu >

+

+ x: Maximize/Unmaximize the current frame in its parent frame +


Frame-Adding-Menu Modified: clfswm/doc/menu.txt ============================================================================== --- clfswm/doc/menu.txt (original) +++ clfswm/doc/menu.txt Sun May 10 17:10:50 2009 @@ -29,13 +29,13 @@ Frame-Menu a: < Adding frame menu > -x: Maximize/Unmaximize the current frame in its parent frame l: < Frame layout menu > n: < Frame new window hook menu > m: < Frame movement menu > f: < Frame focus policy menu > w: < Managed window type menu > s: < Frame miscallenous menu > +x: Maximize/Unmaximize the current frame in its parent frame Frame-Adding-Menu a: Add a default frame in the current frame Modified: clfswm/src/clfswm-circulate-mode.lisp ============================================================================== --- clfswm/src/clfswm-circulate-mode.lisp (original) +++ clfswm/src/clfswm-circulate-mode.lisp Sun May 10 17:10:50 2009 @@ -95,7 +95,9 @@ *current-child* (frame-selected-child *circulate-parent*))) (when frame-is-root? (setf *current-root* *current-child*)))) - (show-all-children (find-parent-frame *current-child*)) + (show-all-children (if frame-is-root? + *current-child* + (find-parent-frame *current-child*))) (draw-circulate-mode-window))) Modified: clfswm/src/clfswm-second-mode.lisp ============================================================================== --- clfswm/src/clfswm-second-mode.lisp (original) +++ clfswm/src/clfswm-second-mode.lisp Sun May 10 17:10:50 2009 @@ -238,6 +238,7 @@ (defun second-key-mode () + "Switch to editing mode" (generic-mode 'exit-second-loop :enter-function #'sm-enter-function :loop-function #'sm-loop-function Modified: clfswm/src/menu-def.lisp ============================================================================== --- clfswm/src/menu-def.lisp (original) +++ clfswm/src/menu-def.lisp Sun May 10 17:10:50 2009 @@ -77,14 +77,13 @@ (add-sub-menu 'frame-menu "a" 'frame-adding-menu "Adding frame menu") -(add-menu-key 'frame-menu "x" 'frame-toggle-maximize) (add-sub-menu 'frame-menu "l" 'frame-layout-menu "Frame layout menu") (add-sub-menu 'frame-menu "n" 'frame-nw-hook-menu "Frame new window hook menu") (add-sub-menu 'frame-menu "m" 'frame-movement-menu "Frame movement menu") (add-sub-menu 'frame-menu "f" 'frame-focus-policy "Frame focus policy menu") (add-sub-menu 'frame-menu "w" 'frame-managed-window-menu "Managed window type menu") (add-sub-menu 'frame-menu "s" 'frame-miscellaneous-menu "Frame miscallenous menu") - +(add-menu-key 'frame-menu "x" 'frame-toggle-maximize) (add-menu-key 'frame-adding-menu "a" 'add-default-frame) From pbrochard at common-lisp.net Tue May 12 23:06:16 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 12 May 2009 19:06:16 -0400 Subject: [clfswm-cvs] r230 - in clfswm: . src Message-ID: Author: pbrochard Date: Tue May 12 19:06:15 2009 New Revision: 230 Log: info-mode: Optimization in loop function. *.lisp: Handle motion with a default modifier. Modified: clfswm/ChangeLog clfswm/src/clfswm-info.lisp clfswm/src/clfswm-second-mode.lisp clfswm/src/clfswm.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Tue May 12 19:06:15 2009 @@ -1,3 +1,15 @@ +2009-05-13 Philippe Brochard + + * src/clfswm-second-mode.lisp (sm-handle-motion-notify): Handle + motion with a default modifier. + + * src/clfswm.lisp (handle-motion-notify): Handle motion with a + default modifier. + + * src/clfswm-info.lisp (info-mode): Handle motion with a default + modifier. + (info-mode): Optimization in loop function. + 2009-05-10 Philippe Brochard * src/clfswm-circulate-mode.lisp (reorder-brother): Handle Modified: clfswm/src/clfswm-info.lisp ============================================================================== --- clfswm/src/clfswm-info.lisp (original) +++ clfswm/src/clfswm-info.lisp Tue May 12 19:06:15 2009 @@ -179,7 +179,7 @@ (define-info-mouse (2) 'mouse-leave-info-mode) (define-info-mouse (4) 'info-mouse-previous-line) (define-info-mouse (5) 'info-mouse-next-line) - (define-info-mouse ('Motion) 'info-mouse-motion nil)) + (define-info-mouse ('motion) 'info-mouse-motion nil)) (add-hook *binding-hook* 'set-default-info-mouse) @@ -236,7 +236,8 @@ (handle-motion-notify (&rest event-slots &key root-x root-y &allow-other-keys) (declare (ignore event-slots)) (unless (compress-motion-notify) - (funcall-button-from-code *info-mouse* 'motion 0 window root-x root-y *fun-press* (list info)))) + (funcall-button-from-code *info-mouse* 'motion (modifiers->state *default-modifiers*) + window root-x root-y *fun-press* (list info)))) (handle-button-press (&rest event-slots &key window root-x root-y code state &allow-other-keys) (declare (ignore event-slots)) (funcall-button-from-code *info-mouse* code state window root-x root-y *fun-press* (list info))) @@ -250,8 +251,7 @@ (xgrab-keyboard *root*)) (generic-mode 'exit-info-loop :loop-function (lambda () - (raise-window (info-window info)) - (draw-info-window info)) + (raise-window (info-window info))) :button-press-hook #'handle-button-press :button-release-hook #'handle-button-release :motion-notify-hook #'handle-motion-notify Modified: clfswm/src/clfswm-second-mode.lisp ============================================================================== --- clfswm/src/clfswm-second-mode.lisp (original) +++ clfswm/src/clfswm-second-mode.lisp Tue May 12 19:06:15 2009 @@ -61,7 +61,9 @@ (defun sm-handle-motion-notify (&rest event-slots &key window root-x root-y &allow-other-keys) (declare (ignore event-slots)) (unless (compress-motion-notify) - (funcall-button-from-code *second-mouse* 'motion 0 window root-x root-y *fun-press*))) + (funcall-button-from-code *second-mouse* 'motion + (modifiers->state *default-modifiers*) + window root-x root-y *fun-press*))) (defun sm-handle-button-press (&rest event-slots &key window root-x root-y code state &allow-other-keys) (declare (ignore event-slots)) Modified: clfswm/src/clfswm.lisp ============================================================================== --- clfswm/src/clfswm.lisp (original) +++ clfswm/src/clfswm.lisp Tue May 12 19:06:15 2009 @@ -50,7 +50,9 @@ (defun handle-motion-notify (&rest event-slots &key window root-x root-y &allow-other-keys) (declare (ignore event-slots)) (unless (compress-motion-notify) - (funcall-button-from-code *main-mouse* 'motion 0 window root-x root-y *fun-press*))) + (funcall-button-from-code *main-mouse* 'motion + (modifiers->state *default-modifiers*) + window root-x root-y *fun-press*))) (defun handle-configure-request (&rest event-slots &key stack-mode #|parent|# window #|above-sibling|# From pbrochard at common-lisp.net Wed May 13 14:17:04 2009 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 13 May 2009 10:17:04 -0400 Subject: [clfswm-cvs] r231 - in clfswm: . src Message-ID: Author: pbrochard Date: Wed May 13 10:17:03 2009 New Revision: 231 Log: reorder-brother: Ensure that the parent is a frame. Modified: clfswm/ChangeLog clfswm/src/clfswm-circulate-mode.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog (original) +++ clfswm/ChangeLog Wed May 13 10:17:03 2009 @@ -1,5 +1,8 @@ 2009-05-13 Philippe Brochard + * src/clfswm-circulate-mode.lisp (reorder-brother): Ensure that + the parent is a frame. + * src/clfswm-second-mode.lisp (sm-handle-motion-notify): Handle motion with a default modifier. Modified: clfswm/src/clfswm-circulate-mode.lisp ============================================================================== --- clfswm/src/clfswm-circulate-mode.lisp (original) +++ clfswm/src/clfswm-circulate-mode.lisp Wed May 13 10:17:03 2009 @@ -90,9 +90,10 @@ (reset-circulate-brother)) (let ((len (length *circulate-orig*))) (when (plusp len) - (let ((elem (nth (mod (incf *circulate-hit* direction) len) *circulate-orig*))) - (setf (frame-child *circulate-parent*) (nconc (list elem) (remove elem *circulate-orig*)) - *current-child* (frame-selected-child *circulate-parent*))) + (when (frame-p *circulate-parent*) + (let ((elem (nth (mod (incf *circulate-hit* direction) len) *circulate-orig*))) + (setf (frame-child *circulate-parent*) (nconc (list elem) (remove elem *circulate-orig*)) + *current-child* (frame-selected-child *circulate-parent*)))) (when frame-is-root? (setf *current-root* *current-child*)))) (show-all-children (if frame-is-root?