mirror of https://codeberg.org/cage/tinmop/
- fixed moving the focus between windows using ALT-arrow.
This commit is contained in:
parent
eb53afcbe1
commit
0c3cd2d6a7
|
@ -431,7 +431,8 @@ Metadata includes:
|
||||||
(setf (windows:in-focus win) t)
|
(setf (windows:in-focus win) t)
|
||||||
(windows:draw-all)
|
(windows:draw-all)
|
||||||
(when info-change-focus-message
|
(when info-change-focus-message
|
||||||
(info-message info-change-focus-message +maximum-event-priority+)))
|
(info-message info-change-focus-message +maximum-event-priority+))
|
||||||
|
win)
|
||||||
|
|
||||||
(defun remove-focus-to-all-windows ()
|
(defun remove-focus-to-all-windows ()
|
||||||
(stack:do-stack-element (window windows::*window-stack*)
|
(stack:do-stack-element (window windows::*window-stack*)
|
||||||
|
@ -453,7 +454,8 @@ Metadata includes:
|
||||||
intersect-sorted))
|
intersect-sorted))
|
||||||
(when intersect-sorted
|
(when intersect-sorted
|
||||||
(remove-focus-to-all-windows)
|
(remove-focus-to-all-windows)
|
||||||
(give-focus (first-elt intersect-sorted) nil))))
|
(give-focus (first-elt intersect-sorted) nil)
|
||||||
|
t)))
|
||||||
|
|
||||||
(defun pinned-window-p (window)
|
(defun pinned-window-p (window)
|
||||||
(member window
|
(member window
|
||||||
|
@ -491,7 +493,7 @@ current has focus"
|
||||||
(intersect-fn (w)
|
(intersect-fn (w)
|
||||||
(<= (win-y w)
|
(<= (win-y w)
|
||||||
y-focused
|
y-focused
|
||||||
(+ (win-y w) (win-height w))))
|
(1- (+ (win-y w) (win-height w)))))
|
||||||
(sort-predicate (a b)
|
(sort-predicate (a b)
|
||||||
(< (win-y a) (win-y b))))
|
(< (win-y a) (win-y b))))
|
||||||
(pass-focus #'all-adjacent-fn #'intersect-fn #'sort-predicate)))))
|
(pass-focus #'all-adjacent-fn #'intersect-fn #'sort-predicate)))))
|
||||||
|
@ -518,14 +520,15 @@ current has focus"
|
||||||
(when (not (window-focused-pinned-p))
|
(when (not (window-focused-pinned-p))
|
||||||
(let* ((window (main-window:focused-window *main-window*))
|
(let* ((window (main-window:focused-window *main-window*))
|
||||||
(x-focused (win-x window))
|
(x-focused (win-x window))
|
||||||
(y-focused (win-y window)))
|
(y-focused (win-y window))
|
||||||
|
(w-focused (win-height window)))
|
||||||
(labels ((all-adjacent-fn (w)
|
(labels ((all-adjacent-fn (w)
|
||||||
(> (win-y w)
|
(> (win-y w)
|
||||||
y-focused))
|
(1- (+ y-focused w-focused))))
|
||||||
(intersect-fn (w)
|
(intersect-fn (w)
|
||||||
(<= (win-x w)
|
(<= (win-x w)
|
||||||
x-focused
|
x-focused
|
||||||
(+ (win-x w) (win-width w))))
|
(1- (+ (win-x w) (win-width w)))))
|
||||||
(sort-predicate (a b)
|
(sort-predicate (a b)
|
||||||
(> (win-x a) (win-x b))))
|
(> (win-x a) (win-x b))))
|
||||||
(pass-focus #'all-adjacent-fn #'intersect-fn #'sort-predicate)))))
|
(pass-focus #'all-adjacent-fn #'intersect-fn #'sort-predicate)))))
|
||||||
|
@ -542,7 +545,7 @@ current has focus"
|
||||||
(intersect-fn (w)
|
(intersect-fn (w)
|
||||||
(<= (win-x w)
|
(<= (win-x w)
|
||||||
x-focused
|
x-focused
|
||||||
(+ (win-x w) (win-width w))))
|
(1- (+ (win-x w) (win-width w)))))
|
||||||
(sort-predicate (a b)
|
(sort-predicate (a b)
|
||||||
(> (win-x a) (win-x b))))
|
(> (win-x a) (win-x b))))
|
||||||
(pass-focus #'all-adjacent-fn #'intersect-fn #'sort-predicate)))))
|
(pass-focus #'all-adjacent-fn #'intersect-fn #'sort-predicate)))))
|
||||||
|
|
Loading…
Reference in New Issue