func (w *windowImpl) Release() { w.mu.Lock() released := w.released w.released = true w.mu.Unlock() if released { return } render.FreePicture(w.s.xc, w.xp) xproto.FreeGC(w.s.xc, w.xg) xproto.DestroyWindow(w.s.xc, w.xw) w.pump.Release() }
func (w *windowImpl) Release() { w.mu.Lock() released := w.released w.released = true w.mu.Unlock() // TODO: set w.dead and call w.sendLifecycle, a la handling atomWMDeleteWindow? if released { return } render.FreePicture(w.s.xc, w.xp) xproto.FreeGC(w.s.xc, w.xg) xproto.DestroyWindow(w.s.xc, w.xw) }
func (w *Window) Close() { xproto.DestroyWindow(w.conn, w.id) }
func (m *TrayManager) destroyOwnerWindow() { if m.owner != 0 { xproto.DestroyWindow(TrayXU.Conn(), m.owner) } m.owner = 0 }
func (m *Monitor) Delete(c *xgb.Conn) { m.desktops = nil xproto.DestroyWindow(c, m.root.Window) m = nil }
func destroyNotify(X *xgbutil.XUtil, event xgb.Event) { ev := event.(xproto.DestroyNotifyEvent) xproto.DestroyWindow(X.Conn(), ev.Window) delete(XWins, ev.Window) }