This is a ping of a cwm(1) bug I reported last year.
With some QT applications, such as scribus or transimission-qt,
transient dialogs like "Open File" or "Create New Document" prevent the
pointer from moving outside the window. Upon reaching any edge and
going through, the pointer jumps again to the center of the window. But
this only happens when the pointer goes from the transient dialog to the
parent client. It does NOT when it goes to the root or any other
window.
Root or any other window
-------------------------------------------------
| Parent
------------------------------
| Transient |
| |
|
| <- Does NOT happen when the pointer cross the border in this
| case
Removing client_ptr_warp() from xev_handle_clientmessage(), as in the
diff at bottom, solves the problem.
Calling there client_ptr_warp() seems to be redundant, cwm always warps
the pointer when it creates a client.
Index: xevents.c
===================================================================
RCS file: /cvs/xenocara/app/cwm/xevents.c,v
diff -u -p -r1.150 xevents.c
--- xevents.c 24 Mar 2020 14:47:29 -0000 1.150
+++ xevents.c 27 Aug 2025 16:24:50 -0000
@@ -401,7 +401,6 @@ xev_handle_clientmessage(XEvent *ee)
if ((old_cc = client_current(NULL)) != NULL)
client_ptr_save(old_cc);
client_show(cc);
- client_ptr_warp(cc);
}
} else if (e->message_type == ewmh[_NET_WM_DESKTOP]) {
if ((cc = client_find(e->window)) != NULL) {
--
Walter