You are not logged in.

#1 2014-04-13 07:52:46

Psycho_zs
Member
Registered: 2010-05-24
Posts: 18

How to list X clients listening to shortcuts?

Hi!
Can anyone help me with understanding mechanism of X keyboard shortcuts and tools that are relevant?
Is there a way to list applications that wait for shortcut from X and shortcuts they want? I looked through x11-utils, did not find any relevant stuff.
I'm talking about one level below DE-specific shortcut daemons, which from this point of view are just another applications that listen for specific events.

Offline

#2 2014-04-13 08:06:22

Psycho_zs
Member
Registered: 2010-05-24
Posts: 18

Re: How to list X clients listening to shortcuts?

found this:

xdotool key "XF86LogGrabInfo"

But it gives empty list, despite running openbox, parcellite, goldendict: all listening for their global shortcuts.

[240435.991] (II) Printing all currently active device grabs:
[240435.992] (II) End list of active device grabs

Offline

#3 2014-04-13 08:48:15

x33a
Forum Fellow
Registered: 2009-08-15
Posts: 4,587

Re: How to list X clients listening to shortcuts?

From what I can tell, XF86LogGrabInfo only lists an active grab, i.e., it does not list which applications are listening for a shortcut combo, rather which combo was activated and by which application.

Example,

[ 13358.845] (II) Printing all currently active device grabs:
[ 13358.846] Active grab 0x40e04847 (core) on device 'Virtual core keyboard' (3):
[ 13358.846]       client pid 1277 i3 
[ 13358.846]       at 13358815 (from passive grab) (device thawed, state 1)
[ 13358.846]         core event mask 0x3
[ 13358.846]       passive grab type 2, detail 0xa, activating key 10
[ 13358.846]       owner-events false, kb 1 ptr 0, confine 0, cursor 0x0
[ 13358.846] (II) End list of active device grabs

It was difficult getting this to log. I did

$ sleep 2; xdotool key "XF86LogGrabInfo"

and then continuously pressed the logged key combo in i3, till I got it to appear in the log.

Edit: I figured a better way to get the keys to log:

watch -n 0.1 xdotool key "XF86LogGrabInfo"

Last edited by x33a (2014-04-13 08:51:35)

Offline

#4 2014-04-13 09:01:25

Psycho_zs
Member
Registered: 2010-05-24
Posts: 18

Re: How to list X clients listening to shortcuts?

yes, active menus are producing grabs too...
Well, then the question is: how to list passive grabs and their owners?

There is one-by-one hack described here: http://askubuntu.com/questions/406543/u … nshot-area

xdotool keydown "shift+Print"; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

I'm trying to find less dirty solution...

Offline

Board footer

Powered by FluxBB