Draft: Cleanup: Use Promises for one-shot signals and make Easing functions async

Open Marco Trevisan requested to merge 3v1n0/gnome-shell:promised-easing into main

Added (G)object.connect_after async function that allows to handle the one-shot signals and use it around.

Then take advantage of it to make the easing functions to return Promises so that we can use chains or awaits instead of nesting callbacks.

As per this, when a promise isn't finished we reject it with a cancelled error, so that an eventual chain is stopped, unless explicitly handled.

Added some refactors, however those could be moved to another MR for sake of simplicity.

Needs !2330

Edited by Marco Trevisan

Merge request reports