func (ws *Workspace) SwitchLayout() {
	ws.activeLayoutNum = (ws.activeLayoutNum + 1) % uint(len(ws.layouts))
	ws.ActiveLayout().Do()
}
Cycle through the available layouts
package main
import (
	"fmt"
	"github.com/blrsn/zentile/state"
)
type Workspace struct {
	IsTiling        bool
	activeLayoutNum uint
	layouts         []Layout
}
func CreateWorkspaces() map[uint]*Workspace {
	workspaces := make(map[uint]*Workspace)
	for i := uint(0); i < state.DeskCount; i++ {
		ws := Workspace{
			IsTiling: false,
			layouts:  createLayouts(i),
		}
		workspaces[i] = &ws
	}
	return workspaces
}
func createLayouts(workspaceNum uint) []Layout {
	return []Layout{
		&VerticalLayout{&VertHorz{
			Store:        buildStore(),
			Proportion:   0.5,
			WorkspaceNum: workspaceNum,
		}},
		&HorizontalLayout{&VertHorz{
			Store:        buildStore(),
			Proportion:   0.5,
			WorkspaceNum: workspaceNum,
		}},
		&FullScreen{
			Store:        buildStore(),
			WorkspaceNum: workspaceNum,
		},
	}
}
func (ws *Workspace) ActiveLayout() Layout {
	return ws.layouts[ws.activeLayoutNum]
}