When running pypanel under blackbox 0.70.0 there are no tasks. Puting in a few prints the problem seems to be in setState(). The line:
task.state = task.obj.get_full_property(self._STATE, Xatom.ATOM).value
Raises an attribute error on 'value' because the return object from get_full_property() is always None.
According to the blackbox 0.70 release notes _NET_WM_STATE is supported (ie. self._STATE), though not all the _NET_WM_STATE_* atoms are supported. Here's the list from the release notes:
_NET_WM_STATE_STICKY: NOT supported
_NET_WM_STATE_SKIP_TASKBAR: NOT supported
_NET_WM_STATE_SKIP_PAGER: NOT supported
Is this the problem or is there another issue at work here?
It's part of the problem, I fall back to querying WM_STATE which works ok for BlackBox. This is fixed in v2.3 which should be available in a few days.
Thanks for the info. I'll look forward to 2.3.
Out of curiousity, what's the other part of the problem?
Sorry, I should have phrased it better - the 1st part of the problem was what you mentioned in your first post, _NET_WM_STATE was returning None. The 2nd part of the problem was that I wasn't querying WM_STATE when that happened.
Now, both properties are queried and if WM_STATE fails then there's a good chance the application was destroyed.