I noticed that sometimes windows are not on the same workspace as the one specified by the _WIN_WORKSPACE property.
How to repeat:
1. Go to workspace 0
2. Start an application which have a 'minimize to tray' feature, for instance pidgin.
$ xprop _WIN_WORKSPACE
and select the main window of the application.
this result in:
_WIN_WORKSPACE(CARDINAL) = 0
4. Click on the systray icon, this window is now 'minimized to tray'
5. Go on workspace 1 and click again on the icon. The window is raised, not on workspace 1 but on workspace 0.
6. Return on workspace 0
7. repeat point 3, now we get:
_WIN_WORKSPACE(CARDINAL) = 1
and the window is on workspace 0
This patch send the window to the workspace specified by _WIN_WORKSPACE when this property change.