From 5d8118d8abc94eff8e9723a5b5ad15e8310560a3 Mon Sep 17 00:00:00 2001 From: fangyuanziti Date: Sun, 22 Feb 2015 20:22:38 +0800 Subject: add a new api: NewConnNet --- xgb.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'xgb.go') diff --git a/xgb.go b/xgb.go index 3c7964c..4403ea0 100644 --- a/xgb.go +++ b/xgb.go @@ -98,6 +98,26 @@ func NewConnDisplay(display string) (*Conn, error) { return nil, err } + return postNewConn(conn) +} + +// NewConnDisplay is just like NewConn, but allows a specific net.Conn +// to be used. +func NewConnNet(netConn net.Conn) (*Conn, error) { + conn := &Conn{} + + // First connect. This reads authority, checks DISPLAY environment + // variable, and loads the initial Setup info. + err := conn.connectNet(netConn) + + if err != nil { + return nil, err + } + + return postNewConn(conn) +} + +func postNewConn(conn *Conn) (*Conn, error) { conn.Extensions = make(map[string]byte) conn.cookieChan = make(chan *Cookie, cookieBuffer) -- cgit v1.2.3