From pbrochard at common-lisp.net Sun Mar 17 22:29:58 2013 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 17 Mar 2013 15:29:58 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-15-g13ebf06 Message-ID: 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 13ebf0682b1a9c5960af1a48173751a47c0e0029 (commit) from e1c7bb92ff3bf56c83544b36f4e424040563f63c (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 13ebf0682b1a9c5960af1a48173751a47c0e0029 Author: Philippe Brochard Date: Sun Mar 17 23:29:52 2013 +0100 Do not unmap manually windows on unmap notify event diff --git a/load.lisp b/load.lisp index d8dd479..b0938fd 100644 --- a/load.lisp +++ b/load.lisp @@ -170,4 +170,4 @@ from $XDG_CONFIG_HOME/clfswm/clfswmrc") #+:clfswm-build-image (progn (cl-user::load-info "Building CLFSWM executable image") - (build-lisp-image "clfswm")) + (build-lisp-image "clfswm")) diff --git a/src/clfswm.lisp b/src/clfswm.lisp index 62cdf76..e2f6ce5 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -105,17 +105,16 @@ (define-handler main-mode :unmap-notify (send-event-p event-window window) (unless (and (not send-event-p) - (not (xlib:window-equal window event-window))) + (not (xlib:window-equal window event-window))) (when (find-child window *root-frame*) (setf (window-state window) +withdrawn-state+) - (xlib:unmap-window window) (remove-child-in-all-frames window) (show-all-children)))) (define-handler main-mode :destroy-notify (send-event-p event-window window) (unless (or send-event-p - (xlib:window-equal window event-window)) + (xlib:window-equal window event-window)) (when (find-child window *root-frame*) (delete-child-in-all-frames window) (show-all-children) ----------------------------------------------------------------------- Summary of changes: load.lisp | 2 +- src/clfswm.lisp | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Fri Mar 22 22:11:44 2013 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 22 Mar 2013 15:11:44 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-17-g4834bf0 Message-ID: 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 4834bf07a3faeb9de9d6c99069810c49ead1f581 (commit) via b5b38f044d1e523dac522bd5ab4938090f11f6c3 (commit) from 13ebf0682b1a9c5960af1a48173751a47c0e0029 (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 4834bf07a3faeb9de9d6c99069810c49ead1f581 Author: Philippe Brochard Date: Fri Mar 22 23:11:38 2013 +0100 Do not destroy manually windows on destroy notify event (clfswm is a non reparent window manager) diff --git a/src/clfswm.lisp b/src/clfswm.lisp index e2f6ce5..34f50ad 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -117,8 +117,7 @@ (xlib:window-equal window event-window)) (when (find-child window *root-frame*) (delete-child-in-all-frames window) - (show-all-children) - (xlib:destroy-window window)))) + (show-all-children)))) (define-handler main-mode :enter-notify (window root-x root-y) commit b5b38f044d1e523dac522bd5ab4938090f11f6c3 Author: Philippe Brochard Date: Fri Mar 22 23:10:09 2013 +0100 Use child coordinates instead of stored rectangle coordinates diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index 6ccabf1..56a2a85 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -367,23 +367,22 @@ Write (defparameter *contrib-dir* \"/usr/local/lib/clfswm/\") in ~A.~%" (defun find-child-under-mouse-in-child-tree (x y) (dolist (child-rect (get-displayed-child)) - (when (in-rect x y (child-rect-x child-rect) (child-rect-y child-rect) - (child-rect-w child-rect) (child-rect-h child-rect)) - (return-from find-child-under-mouse-in-child-tree (child-rect-child child-rect))))) + (let ((child (child-rect-child child-rect))) + (when (in-rect x y (x-drawable-x child) (x-drawable-y child) + (x-drawable-width child) (x-drawable-height child)) + (return-from find-child-under-mouse-in-child-tree (child-rect-child child-rect)))))) (defun find-child-under-mouse (x y &optional also-never-managed) "Return the child under the mouse" (or (and also-never-managed - (find-child-under-mouse-in-never-managed-windows x y)) + (find-child-under-mouse-in-never-managed-windows x y)) (find-child-under-mouse-in-child-tree x y))) - - ;;; Selection functions (defun clear-selection () "Clear the current selection" @@ -1206,7 +1205,10 @@ For window: set current child to window or its parent according to window-parent (format nil "Window class: ~A" (xlib:get-wm-class window)) (format nil "Window type: ~:(~A~)" (window-type window)) (format nil "Window id: 0x~X" (xlib:window-id window)) - (format nil "Window transparency: ~A" (* 100 (window-transparency window)))) + (format nil "Window transparency: ~A" (* 100 (window-transparency window))) + (format nil " X=~A Y=~A W=~A H=~A" + (x-drawable-x window) (x-drawable-y window) + (x-drawable-width window) (x-drawable-height window))) (split-string (format nil "~A" (xlib:wm-normal-hints window)) #\Newline)))) (leave-second-mode)) ----------------------------------------------------------------------- Summary of changes: src/clfswm-util.lisp | 16 +++++++++------- src/clfswm.lisp | 3 +-- 2 files changed, 10 insertions(+), 9 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sun Mar 24 08:11:59 2013 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 24 Mar 2013 01:11:59 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-18-g2be9072 Message-ID: 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 2be90723a2266743adcce0ff14ab4af064c29ff4 (commit) from 4834bf07a3faeb9de9d6c99069810c49ead1f581 (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 2be90723a2266743adcce0ff14ab4af064c29ff4 Author: Philippe Brochard Date: Sun Mar 24 09:11:52 2013 +0100 Use in-child to find child under mouse pointer diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index 56a2a85..9440d58 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -367,10 +367,8 @@ Write (defparameter *contrib-dir* \"/usr/local/lib/clfswm/\") in ~A.~%" (defun find-child-under-mouse-in-child-tree (x y) (dolist (child-rect (get-displayed-child)) - (let ((child (child-rect-child child-rect))) - (when (in-rect x y (x-drawable-x child) (x-drawable-y child) - (x-drawable-width child) (x-drawable-height child)) - (return-from find-child-under-mouse-in-child-tree (child-rect-child child-rect)))))) + (when (in-child (child-rect-child child-rect) x y) + (return-from find-child-under-mouse-in-child-tree (child-rect-child child-rect))))) ----------------------------------------------------------------------- Summary of changes: src/clfswm-util.lisp | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sun Mar 24 15:50:59 2013 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 24 Mar 2013 08:50:59 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-19-gd6b1dd9 Message-ID: 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 d6b1dd9193b247f52b6815d39653a2ea729f5477 (commit) from 2be90723a2266743adcce0ff14ab4af064c29ff4 (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 d6b1dd9193b247f52b6815d39653a2ea729f5477 Author: Philippe Brochard Date: Sun Mar 24 16:50:54 2013 +0100 Beginning of sloppy select over all windows diff --git a/src/clfswm.lisp b/src/clfswm.lisp index 34f50ad..c874b09 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -133,12 +133,29 @@ (:sloppy-select (let* ((child (find-child-under-mouse root-x root-y)) (parent (find-parent-frame child))) (unless (or (child-root-p child) - (equal (typecase child - (xlib:window parent) - (t child)) - (current-child))) + (child-equal-p (typecase child + (xlib:window parent) + (t child)) + (current-child))) (focus-all-children child parent) - (show-all-children))))))) + (show-all-children)))) + (:sloppy-select-window (let* ((child (find-child-under-mouse root-x root-y)) + (parent (find-parent-frame child)) + (need-warp-pointer (not (or (frame-p child) + (child-equal-p child (frame-selected-child parent)))))) + (unless (child-root-p child) + (when (focus-all-children child parent) + (show-all-children) + (when need-warp-pointer + (typecase child + (xlib:window (xlib:warp-pointer *root* + (truncate (+ (x-drawable-x child) + (/ (x-drawable-width child) 2))) + (truncate (+ (x-drawable-y child) + (/ (x-drawable-height child) 2))))) + (frame (xlib:warp-pointer *root* + (+ (frame-rx child) 10) + (+ (frame-ry child) 10)))))))))))) (define-handler main-mode :exposure (window) (awhen (find-frame-window window) ----------------------------------------------------------------------- Summary of changes: src/clfswm.lisp | 27 ++++++++++++++++++++++----- 1 files changed, 22 insertions(+), 5 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager