A bit more naive debugging revealed that indeed we need to look at all descendants, not just direct children:
[2016-08-25:11:24:30.175] qtmir.dbus: DBusFocusInfo: pid 13344 is in cgroup "/" which is not app-specific
[2016-08-25:11:24:30.175] qtmir.dbus: DBusFocusInfo: looking at session[0x1006130,name="unity8-dash",pid=12709]
[2016-08-25:11:24:30.177] qtmir.dbus: DBusFocusInfo: looking at child session[0x8f4500,name="payui.qml",pid=13293]
[2016-08-25:11:24:30.178] qtmir.dbus: DBusFocusInfo: looking at grandchild session[0xe138c8,name="online-accounts-ui",pid=13344]
[2016-08-25:11:24:30.178] qtmir.dbus: DBusFocusInfo.isPidFocused(13344) pidSet=QSet(13344) found session[0xe138c8,name="online-accounts-ui",pid=13344] with activeFocus=true
A bit more naive debugging revealed that indeed we need to look at all descendants, not just direct children:
[2016-08- 25:11:24: 30.175] qtmir.dbus: DBusFocusInfo: pid 13344 is in cgroup "/" which is not app-specific 25:11:24: 30.175] qtmir.dbus: DBusFocusInfo: looking at session[ 0x1006130, name="unity8- dash",pid= 12709] 25:11:24: 30.177] qtmir.dbus: DBusFocusInfo: looking at child session[ 0x8f4500, name="payui. qml",pid= 13293] 25:11:24: 30.178] qtmir.dbus: DBusFocusInfo: looking at grandchild session[ 0xe138c8, name="online- accounts- ui",pid= 13344] 25:11:24: 30.178] qtmir.dbus: DBusFocusInfo. isPidFocused( 13344) pidSet=QSet(13344) found session[ 0xe138c8, name="online- accounts- ui",pid= 13344] with activeFocus=true
[2016-08-
[2016-08-
[2016-08-
[2016-08-