Fix timer details
The original code used Main.layoutManager.disconnect(id) to cancel a timer if the extension is destroyed, but the correct call to do it is GLib.source_remove(id). Also, the GLib documentation specifies that a timer callback must return FALSE to cancel the timer and avoid being called again, but the _refreshDesktops() function returns nothing. Although it means that the caller receives UNDEFINED as the return value, and it should evaluate to FALSE, it is better to return explicitly the correct value.
These two commits fix this.
Edited by Rastersoft