summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mendler <mail@daniel-mendler.de>2025-08-31 17:03:44 +0200
committerDaniel Mendler <mail@daniel-mendler.de>2025-08-31 17:03:44 +0200
commit84592c1a54e8ffecff44b8f32f72cf36fc66f7f2 (patch)
treeea9ec2d19131508fe8d4e39f31916b16ce4a8613
parent6b1ceef882e9809083e660c10d669d132746b975 (diff)
corfu--make-frame: Handle mixed tty/graphical sessions
-rw-r--r--corfu.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/corfu.el b/corfu.el
index 644a918..bb74c35 100644
--- a/corfu.el
+++ b/corfu.el
@@ -465,6 +465,9 @@ FRAME is the existing frame."
(unless (and (frame-live-p frame)
(eq (frame-parent frame)
(and (not (bound-and-true-p exwm--connection)) parent))
+ ;; Handle mixed tty/graphical sessions
+ (eq (display-graphic-p frame)
+ (display-graphic-p parent))
;; If there is more than one window, `frame-root-window' may
;; return nil. Recreate the frame in this case.
(window-live-p (frame-root-window frame)))
@@ -519,7 +522,8 @@ FRAME is the existing frame."
(make-frame-visible 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))
+ (when (and (bound-and-true-p exwm--connection)
+ (display-graphic-p frame) (frame-parent frame))
(redisplay t)
(set-frame-parameter frame 'parent-frame nil))
frame)