[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/exwm 4d43e31 2/2: Avoid using `set-mouse-position' to w
From: |
Chris Feng |
Subject: |
[elpa] externals/exwm 4d43e31 2/2: Avoid using `set-mouse-position' to warp pointer |
Date: |
Sun, 12 Aug 2018 08:05:44 -0400 (EDT) |
branch: externals/exwm
commit 4d43e3119a2d0cb002d87340cd11c1d372ad126e
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Avoid using `set-mouse-position' to warp pointer
* exwm-workspace.el (exwm-workspace-switch): Warp pointer with the
WarpPointer request.
---
exwm-workspace.el | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/exwm-workspace.el b/exwm-workspace.el
index 6535e11..1034966 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -607,9 +607,18 @@ for internal use only."
'exwm-outer-id)))
(when (or (> win-x (frame-pixel-width frame))
(> win-y (frame-pixel-height)))
- (set-mouse-position frame
- (/ (frame-width frame) 2)
- (/ (frame-height frame) 2)))))
+ (xcb:+request exwm--connection
+ (make-instance 'xcb:WarpPointer
+ :src-window xcb:Window:None
+ :dst-window (frame-parameter frame
+ 'exwm-outer-id)
+ :src-x 0
+ :src-y 0
+ :src-width 0
+ :src-height 0
+ :dst-x (/ (frame-pixel-width frame) 2)
+ :dst-y (/ (frame-pixel-height frame) 2)))
+ (xcb:flush exwm--connection))))
(when (frame-live-p old-frame)
(with-selected-frame old-frame
(run-hooks 'focus-out-hook)))