Example #1
0
func (hds *Heads) SwitchWorkspaces(wk1, wk2 *workspace.Workspace) {
	v1, v2 := hds.visibleIndex(wk1), hds.visibleIndex(wk2)
	switch {
	case v1 > -1 && v2 > -1:
		wk1.Hide()
		wk2.Hide()
		hds.visibles[v1], hds.visibles[v2] = hds.visibles[v2], hds.visibles[v1]
		// wk1.Place()
		// wk2.Place()
		wk1.Show()
		wk2.Show()
	case v1 > -1 && v2 == -1:
		wk1.Hide()
		hds.visibles[v1] = wk2
		wk2.Show()
	case v1 == -1 && v2 > -1:
		wk2.Hide()
		hds.visibles[v2] = wk1
		wk1.Show()
	case v1 == -1 && v2 == -1:
		// Meaningless
	default:
		panic("unreachable")
	}
}