Merge lp://staging/~banw/compiz/compiz.a11y-shotcuts into lp://staging/compiz/0.9.13
Status: | Needs review |
---|---|
Proposed branch: | lp://staging/~banw/compiz/compiz.a11y-shotcuts |
Merge into: | lp://staging/compiz/0.9.13 |
Diff against target: |
1045 lines (+586/-41) 12 files modified
include/core/action.h (+3/-0) include/core/screen.h (+1/-0) plugins/ezoom/src/ezoom.cpp (+6/-0) plugins/neg/src/neg.cpp (+5/-0) plugins/showmouse/src/showmouse.cpp (+6/-0) src/action.cpp (+37/-21) src/event.cpp (+328/-15) src/eventmanagement.h (+2/-0) src/privateaction.h (+2/-0) src/privatescreen.h (+11/-0) src/screen.cpp (+136/-5) src/window.cpp (+49/-0) |
To merge this branch: | bzr merge lp://staging/~banw/compiz/compiz.a11y-shotcuts |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Andrea Azzarone | Pending | ||
Review via email: mp+320091@code.staging.launchpad.net |
Description of the change
This is an attempt at solving https:/
The current state is still WIP, but I'd like general opinion, and specific comments on how to fix some parts.
This uses XI2 Raw events to get mouse and keyboard events during active grabs (menus, etc.). Actions need be configured to use those, so it's opt-in.
I initially tried XI2 "normal" events, which include all possibly useful context, but simply listening to those prevent Core events from being dispatched on the window, so it would require using XI2 *only*, which sounds like a large change -- and even then, grabs might affect these too (on Master Devices?), I'm not 100% sure of how this works.
See the FIXMEs and alike in the code for the area that need attention and possibly a fix.
Unmerged revisions
- 4109. By Colomban Wendling
-
showmouse: Allow actions to be triggered during grabs
- 4108. By Colomban Wendling
-
neg: Allow actions to be triggered during grabs
- 4107. By Colomban Wendling
-
ezoom: Allow actions to be triggered during grabs
- 4106. By Colomban Wendling
-
Initial WIP working attempt at actions ignoring active grabs
This is useful for plugins that should still work e.g. inside menus, or
in the unlock screen. Typically, this includes accessibility-related
plugins.
Yes, normal XI2 event are very probably affected by grabs, and so AIUI raw events are the only way.
I have commented along the patch. Overall the approach seems sound to me.