Ce n'est pas une solution, mais cela explique pourquoi il n'est pas facile de trouver des applications qui prennent en charge le déplacement de Windows entre les espaces.
Selon le développeur de l'application open source Rectangles, un organisateur de fenêtres basé sur le clavier, "Apple ne fournit pas d'API publique pour Spaces. Si, à un moment donné, ils le font, je serai heureux de réexaminer cette [demande de fonctionnalité]."
Les applications qui proposent cette fonctionnalité utilisent une API privée d'Apple, qui n'est ni prise en charge ni documentée par Apple. Amethyst est une application open source qui prend en charge cette fonctionnalité (mentionnée dans une autre réponse). Si vous êtes curieux, il semble que le code qui permet de déplacer une fenêtre d'un espace à l'autre est le suivant dans Window.swift :
// A method of Window:
final class AXWindowID: Hashable, Codable {
// ...
func move(toSpace spaceID: CGSSpaceID) {
let currentSpace = CGSGetActiveSpace(CGSMainConnectionID())
let ids = [cgID()]
CGSRemoveWindowsFromSpaces(CGSMainConnectionID(), ids as CFArray, [currentSpace] as CFArray)
CGSAddWindowsToSpaces(CGSMainConnectionID(), ids as CFArray, [spaceID] as CFArray)
if UserConfiguration.shared.followWindowsThrownBetweenSpaces() {
focus()
}
}
}