summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mendler <mail@daniel-mendler.de>2025-05-28 18:57:27 +0200
committerDaniel Mendler <mail@daniel-mendler.de>2025-05-28 18:57:46 +0200
commit42cadf78c72f181ca080e310b1bba0374f414953 (patch)
tree641f306fd1b352c644ceeba21f6cbea7010cc92a
parent0d3fa4f4f8ab5f0b8324f1065629f30d4dbf6875 (diff)
Fix EXWM resizing artifact when unparenting (X11/Gtk3 build)
-rw-r--r--corfu.el3
1 files changed, 2 insertions, 1 deletions
diff --git a/corfu.el b/corfu.el
index 4923647..5628ee1 100644
--- a/corfu.el
+++ b/corfu.el
@@ -499,7 +499,7 @@ FRAME is the existing frame."
unless (equal (alist-get k is) v) collect p)))
(when diff (modify-frame-parameters frame diff))
;; XXX HACK: `set-window-buffer' must be called to force fringe update.
- (when (or diff (eq (window-buffer win) (current-buffer)))
+ (when (or diff (not (eq (window-buffer win) (current-buffer))))
(set-window-buffer win (current-buffer)))
;; Disallow selection of root window (gh:minad/corfu#63)
(set-window-parameter win 'no-delete-other-windows t)
@@ -515,6 +515,7 @@ FRAME is the existing frame."
;; Unparent child frame if EXWM is used, otherwise EXWM buffers are drawn on
;; top of the Corfu child frame.
(when (and (bound-and-true-p exwm--connection) (frame-parent frame))
+ (redisplay t)
(set-frame-parameter frame 'parent-frame nil))
frame)