Ejemplo n.º 1
0
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()
}
Ejemplo n.º 2
0
Archivo: window.go Proyecto: morero/exp
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)
}
Ejemplo n.º 3
0
func (w *Window) Close() {
	xproto.DestroyWindow(w.conn, w.id)
}
Ejemplo n.º 4
0
func (m *TrayManager) destroyOwnerWindow() {
	if m.owner != 0 {
		xproto.DestroyWindow(TrayXU.Conn(), m.owner)
	}
	m.owner = 0
}
Ejemplo n.º 5
0
func (m *Monitor) Delete(c *xgb.Conn) {
	m.desktops = nil
	xproto.DestroyWindow(c, m.root.Window)
	m = nil
}
Ejemplo n.º 6
0
func destroyNotify(X *xgbutil.XUtil, event xgb.Event) {
	ev := event.(xproto.DestroyNotifyEvent)
	xproto.DestroyWindow(X.Conn(), ev.Window)
	delete(XWins, ev.Window)
}