strange behavior between banish and cursorwarp
adetabrani opened this issue · 7 comments
hi bakkeby, I just added the banish patch to my build which I previously applied the cursorwarp patch, but I get strange behavior,
for example I have 3 windows, currently I'm on window 1 then I focus on window 2 then i focus on window 3, the result is that when I move the mouse, my cursor position is still in window 2 (which should be in window 3), I noticed that the cursor disappeared after I focused on window 3, how to fix this behavior?
*I know that you said that banish is compatible with warp patch, but for some reason I currently prefer cursorwarp patch because some of my patches are not compatible with warp patch
for example I have 3 windows, currently I'm on window 1 then I focus on window 2 then i focus on window 3, the result is that when I move the mouse, my cursor position is still in window 2 (which should be in window 3)
Why should the mouse cursor be on window 3?
The mouse cursor should appear in the same place where it disappeared.
There is no compatibility with the warp or cursorwarp patches out of the box.
The mouse cursor should appear in the same place where it disappeared.
I suppose that when changing the focus window, the mouse will still follow the current position of the focus window even if it disappears
I suppose that may be if you have enabled resizehints
in config.h, or if the window has some large minimum size restrictions.
As for the banish issue, I believe that would just be the cursorwarp patch interfering. The banish patch is not compatible with warp patches out of the box, but it is not complicated to hack in support for that.
I suppose that may be if you have enabled
resizehints
in config.h, or if the window has some large minimum size restrictions.
Thanks, that solved my issue
As for the banish issue, I believe that would just be the cursorwarp patch interfering. The banish patch is not compatible with warp patches out of the box, but it is not complicated to hack in support for that.
since I'm not proficient in using C, I would really appreciate it if you can implement it 😂
The cursorwarp patch is not a particularly good patch as there are a lot of situations where one would not want the cursor to warp, but on the other hand it is very simple. Curious that they felt the need to provide four patches for each of the one-liners.
When it comes to compatibility with banish it is just a matter of updating the return position for the cursor if it is hidden, rather than calling XWarpPointer
. I have copied up an untested example patch here:
https://github.com/bakkeby/patches/blob/71bb902dc03e47f44cb58d270c87ea63f022f544/dwm/dwm-banish-cursorwarp-6.4.diff
Oh finally it worked very well, thank you very much for the update