code: func Detach(xu *xgbutil.XUtil, win xproto.Window) {
  	xu.CallbacksLck.Lock()
  	defer xu.CallbacksLck.Unlock()
  
  	for evtype, _ := range xu.Callbacks {
  		delete(xu.Callbacks[evtype], win)
  	}
  }
docs: // Detach removes all callbacks associated with a particular window.
  // Note that if you're also using the keybind and mousebind packages, a complete
  // detachment should look like:
  //
  //	keybind.Detach(XUtilValue, window-id)
  //	mousebind.Detach(XUtilValue, window-id)
  //	xevent.Detach(XUtilValue, window-id)
  //
  // If a window is no longer receiving events, these methods should be called.
  // Otherwise, the memory used to store the handler info for that window will
  // never be released.