pub fn set_window_desktop(&self, window: xproto::Window, current_tag: TagId) -> Result<()> {
        let mut indexes: Vec<u32> = vec![u32::try_from(current_tag)? - 1];
        if indexes.is_empty() {
            indexes.push(0);
        }
        self.replace_property_u32(
            window,
            self.atoms.NetWMDesktop,
            xproto::AtomEnum::CARDINAL.into(),
            &indexes,
        )
    }
Sets what desktop a window is on.
display-servers/x11rb-display-server/src/xwrap/setters.rs