Improve (especially remote) window dragging and resizing performance
Before this change, every window operation with the potential to affect the _NET_WM_STATE property would end up calling XChangeProperty(), even if the property didn't actually change. This would cause an avalanche of PropertyNotify events, to which GTK-based apps, at least, dutifully respond with a GetProperty request. The connection is then overwhelmed with these requests.
The fix made here is to remember the last value of _NET_WM_STATE that was set, returning early if the new value is equal to the last value.
Edited by Ian Henderson