func NewHeads(X *xgbutil.XUtil, defaultLayout string) *Heads { hds := &Heads{ X: X, active: 0, } hds.Workspaces = workspace.NewWorkspaces(X, hds, defaultLayout) return hds }
func NewHeads(X *xgbutil.XUtil, clients Clients, workspaceNames ...string) *Heads { heads := &Heads{ X: X, active: 0, } works := workspace.NewWorkspaces(X, heads, workspaceNames...) heads.workspaces = works // Now workarea, geom, active and visible will be set. // Indeed, they are always set in keeping with the invariants when Load // is called. heads.Load(clients) return heads }