diff options
Diffstat (limited to 'exwm-floating.el')
-rw-r--r-- | exwm-floating.el | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/exwm-floating.el b/exwm-floating.el index b58e71a2de52..27a50169a1c7 100644 --- a/exwm-floating.el +++ b/exwm-floating.el @@ -240,7 +240,18 @@ (exwm-floating-hide)) (with-selected-frame exwm-workspace--current (exwm-layout--refresh)) - (select-frame-set-input-focus frame))) + (select-frame-set-input-focus frame)) + ;; FIXME: Strangely, the Emacs frame can move itself at this point + ;; when there are left/top struts set. Force resetting its + ;; position seems working, but it'd better to figure out why. + (when exwm-workspace--struts + (xcb:+request exwm--connection + (make-instance 'xcb:ConfigureWindow + :window outer-id + :value-mask (logior xcb:ConfigWindow:X + xcb:ConfigWindow:Y) + :x 0 :y 0)) + (xcb:flush exwm--connection))) (run-hooks 'exwm-floating-setup-hook) ;; Redraw the frame. (redisplay)) |