From ed1bd71bc52d7647d38d37b6a625f53a3c068084 Mon Sep 17 00:00:00 2001 From: cage Date: Fri, 5 Aug 2022 11:52:51 +0200 Subject: [PATCH] - moved window that got the focus on top of the windows stack, to be sure will be visible to the user when redrawing the terminal. --- src/ui-goodies.lisp | 1 + src/windows.lisp | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/ui-goodies.lisp b/src/ui-goodies.lisp index 4af4d81..be274a2 100644 --- a/src/ui-goodies.lisp +++ b/src/ui-goodies.lisp @@ -432,6 +432,7 @@ Metadata includes: win) (remove-focus-to-all-windows) (setf (windows:in-focus win) t) + (stack:stack-raise-to-top windows::*window-stack* win) (windows:draw-all :clear nil) (when info-change-focus-message (info-message info-change-focus-message +maximum-event-priority+)) diff --git a/src/windows.lisp b/src/windows.lisp index 86dfef2..8e7e2fb 100644 --- a/src/windows.lisp +++ b/src/windows.lisp @@ -386,12 +386,12 @@ height, position and so on)" (c:refresh-marked)) (defun draw-all (&key (clear t)) - (let ((to-be-drawn (remove-intersecting-window))) - (loop for window in to-be-drawn do - (when (win-visible-p window) - (when clear - (win-clear window)) - (draw window))))) + (let ((to-be-drawn (remove-intersecting-window))) + (loop for window in to-be-drawn do + (when (win-visible-p window) + (when clear + (win-clear window)) + (draw window))))) (defun refresh-config-all () (if command-line:*gemini-full-screen-mode*