socket2: add {,de}populateworkspace{,v2} events #12488
Open
+43
−9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe your PR, what does it fix/add?
This PR adds 4 events to the events socket: populateworkspace, populateworkspacev2, depopulateworkspace, and depopulateworkspacev2. The former pair is emitted when an empty workspace gains a window, while the latter pair is emitted when a workspace no longer has any windows.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
I tested it with this:
Rust code
Demonstration video
A red circle in the the workspace indicator window at the top(which is separate) means that a workspace is populated, while grey means that it is not.
The only issue that I have seen(from my limited testing) is that, sometimes, events are not emitted in the correct order when you use themovetoworkspacedispatch, as can be see from second 29 until the end. I'm not sure why that happens.EDIT: That only seems to happen from the notification side of things in the script I sent. Simply printing each time an event occurs seems to reliably preserve the order of events.
Is it ready for merging, or does it need work?
I think that it is ready for merging
if that issue is not a dealbreaker.