From 3b518eec23e221aa2480970dd35c11c68653869a Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Thu, 1 Oct 2015 09:30:14 +0800 Subject: [PATCH] Fix a position calculation error on multi-monitor settings * exwm-floating.el (exwm-floating--set-floating): Always use relative positions. --- exwm-floating.el | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/exwm-floating.el b/exwm-floating.el index 59b4e44..f408cc1 100644 --- a/exwm-floating.el +++ b/exwm-floating.el @@ -85,8 +85,15 @@ (x (slot-value exwm--geometry 'x)) (y (slot-value exwm--geometry 'y)) (width (slot-value exwm--geometry 'width)) - (height (slot-value exwm--geometry 'height))) - (exwm--log "Floating geometry (original): %dx%d%+d%+d" width height x y) + (height (slot-value exwm--geometry 'height)) + (frame-geometry (frame-parameter original-frame 'exwm-geometry))) + (exwm--log "Floating geometry (original, absolute): %dx%d%+d%+d" + width height x y) + (when frame-geometry + (setq x (- x (slot-value frame-geometry 'x)) + y (- y (slot-value frame-geometry 'y)))) + (exwm--log "Floating geometry (original, relative): %dx%d%+d%+d" + width height x y) ;; Save window IDs (set-frame-parameter frame 'exwm-window-id frame-id) (set-frame-parameter frame 'exwm-outer-id outer-id)