Every workspace split into real panes: 19 panes across 7 workspaces, one program per panel

This commit is contained in:
Sam
2026-11-10 16:29:27 +11:00
parent 2640049f1f
commit 32fa2752af
19 changed files with 972 additions and 58 deletions

View File

@@ -20,6 +20,7 @@ const defaultAgent = "403de1f7-645c-4d35-bc7e-19b01d77bacc"
func main() {
screen := flag.String("screen", "board", "which screen to run: board, work, reply, new, project, repair")
panelName := flag.String("panel", "", "run one panel of that screen, for a workspace split into real panes")
folder := flag.String("folder", "", "project folder, for the board screen (defaults to the current directory)")
light := flag.String("theme", "", "colour variant: dark, light, or empty to follow the terminal")
ascii := flag.Bool("ascii", false, "plain characters instead of Nerd Font icons")
@@ -52,21 +53,21 @@ func main() {
if dir == "" {
dir, _ = os.Getwd()
}
m = newBoardModel(client, proj, dir)
m = newBoardModel(client, proj, dir, *panelName)
case "project":
dir := *folder
if dir == "" {
dir, _ = os.Getwd()
}
m = newProjectModel(client, dir)
m = newProjectModel(client, dir, *panelName)
case "repair":
dir := *folder
if dir == "" {
dir, _ = os.Getwd()
}
m = newRepairModel(client, dir)
m = newRepairModel(client, dir, *panelName)
case "work":
dir := *folder
@@ -77,7 +78,7 @@ func main() {
if issue == "" {
issue = watchedTask(dir)
}
m = newWorkModel(client, dir, issue)
m = newWorkModel(client, dir, issue, *panelName)
case "tree":
proj, err := client.ResolveProject(*project)
@@ -100,7 +101,7 @@ func main() {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
m = newTaskForm(client, proj, *agent)
m = newTaskForm(client, proj, *agent, *panelName)
case "log":
task, err := resolveIssue(client, *issue)
@@ -124,7 +125,7 @@ func main() {
}
id = task.ID
}
m = newReplyModel(client, dir, id)
m = newReplyModel(client, dir, id, *panelName)
default:
fmt.Fprintf(os.Stderr, "unknown screen %q: use board, work, reply, new, project or repair\n", *screen)