summaryrefslogtreecommitdiff
path: root/include/dixgrabs.h
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2010-12-29 12:03:01 +0000
committerPeter Hutterer <peter.hutterer@who-t.net>2011-07-01 08:46:20 +1000
commit7d2543a3cb3089241982ce4f8984fd723d5312a1 (patch)
tree2398e2bfbb22a29bedce6ca02ae66d1bfbcadcbb /include/dixgrabs.h
parentddf735fd4e9658bb5610f5e911f3b4055d5acf89 (diff)
XKB: Add debug key actions for grabs & window tree
Add four new private XKB actions for debugging: * PrGrbs: print active grabs to the log file * Ungrab: ungrab all currently active grabs * ClsGrb: kill clients with active grabs * PrWins: dump the current window tree to the log file To use these, you need to modify your XKB maps, e.g. the following to have Ctrl+Alt+(F9-F12) mapped to the above: - compat/xfree86: interpret XF86LogGrabInfo { action = Private(type=0x86, data="PrGrbs"); }; interpret XF86Ungrab { action = Private(type=0x86, data="Ungrab"); } interpret XF86ClearGrab { action = Private(type=0x86, data="ClsGrb"); } interpret XF86LogWindowTree { action = Private(type=0x86, data="PrWins"); } - symbols/pc: key <FK09> { type="CTRL+ALT", [ Return, XF86LogGrabInfo ] }; key <FK10> { type="CTRL+ALT", [ Return, XF86Ungrab ] }; key <FK11> { type="CTRL+ALT", [ Return, XF86ClearGrab ] }; key <FK12> { type="CTRL+ALT", [ Return, XF86LogWindowTree ] }; At the moment, this only works if the grabbing client continues to call AllowEvents, as the server does no event processing at all when a device is frozen. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'include/dixgrabs.h')
-rw-r--r--include/dixgrabs.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/dixgrabs.h b/include/dixgrabs.h
index 3b2a46d72..229c8bb53 100644
--- a/include/dixgrabs.h
+++ b/include/dixgrabs.h
@@ -28,6 +28,9 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
struct _GrabParameters;
+extern void PrintDeviceGrabInfo(DeviceIntPtr dev);
+extern void UngrabAllDevices(Bool kill_client);
+
extern GrabPtr CreateGrab(
int /* client */,
DeviceIntPtr /* device */,