+def _create_state(data):
+ global _data
+ area = data.client.area()
+ return _state(data.client.appName(), data.client.appClass(),
+ data.client.role(), area.x(), area.y())
+
+def _find(screen, state):
+ global _data
+ try:
+ return _data[screen].index(state)
+ except ValueError:
+ return -1
+ except IndexError:
+ while len(_data)-1 < screen:
+ _data.append([])
+ return _find(screen, state) # try again
+