diff options
author | Wolfgang Müller | 2022-01-23 12:16:52 +0100 |
---|---|---|
committer | Wolfgang Müller | 2022-01-23 12:30:19 +0100 |
commit | 417a61ed616a272c9412ab4d8f2dcd04ead25fe1 (patch) | |
tree | b4f11b243ff64d9ae1e75bf99616c21e1cc39cd0 /calmwm.h | |
parent | 84ca12376778a704129f702ce32d6d40f1000420 (diff) | |
download | cwm-417a61ed616a272c9412ab4d8f2dcd04ead25fe1.tar.gz |
Have _NET_ACTIVE_WINDOW warp the pointer only on direct user input
This functionally partly reverts commit db0f56a (Do not warp mouse to
windows marked active by EWMH, 2022-01-17) which introduced a bug where
the pointer would no longer be warped to windows activated by rofi.
Since the window switcher internal to cwm calls client_ptr_warp directly
this was not noticed immediately.
Thankfully the EWMH spec defines a "source indication" [1] in the
_NET_ACTIVE_WINDOW request [2]. This field specifies whether the request
came from a normal application or a pager and "other clients that
represent direct user actions". Window switchers like rofi should honor
this field and therefore it is trivial to fix this bug by checking for
the correct source indication value.
This means that normal windows are now prohibited from warping the
pointer under any circumstance, but the user (through specific
applications) may still elect to have the window manager honor
_NET_ACTIVE_WINDOW this way.
[1] https://specifications.freedesktop.org/wm-spec/wm-spec-1.3.html#sourceindication
[2] https://specifications.freedesktop.org/wm-spec/wm-spec-1.3.html#idm45682917892304
Diffstat (limited to 'calmwm.h')
0 files changed, 0 insertions, 0 deletions