diff --git a/src/ui-goodies.lisp b/src/ui-goodies.lisp index 65d60ec..69d7232 100644 --- a/src/ui-goodies.lisp +++ b/src/ui-goodies.lisp @@ -623,7 +623,11 @@ along the focused window." (defun pass-focus-next () "Move focus to next window in left to right writing order." (if (not (window-focused-pinned-p)) - (let* ((visible-sorted-window (windows:remove-intersecting-window)) + (let* ((discarded-window-type '(main-window::main-window + command-window:command-window + notify-window:notify-window)) + (visible-sorted-window (windows:remove-intersecting-window :discarded-window-type + discarded-window-type)) (focused-window (main-window:focused-window *main-window*)) (focused-position (position focused-window visible-sorted-window)) (next-window-position (rem (1+ focused-position) (length visible-sorted-window))) diff --git a/src/windows.lisp b/src/windows.lisp index c4f7e14..e035498 100644 --- a/src/windows.lisp +++ b/src/windows.lisp @@ -342,12 +342,9 @@ height, position and so on)" (h (win-height object))) (2d-utils:make-iaabb2 x y (1- (+ x w)) (1- (+ y h))))) -(defun remove-intersecting-window () +(defun remove-intersecting-window (&key (discarded-window-type '())) (labels ((copy-subwindows-stack () - (let ((copy '()) - (discarded-window-type '(main-window::main-window - command-window:command-window - notify-window:notify-window))) + (let ((copy '())) (do-stack-element (w *window-stack*) (when (and (win-visible-p w) (not (find-if (lambda (a) (typep w a))