Conversation
|
thanks for this @BartInTheField haven't tried it yet but, but i don't know how i feel about the concept of workspaces. wouldn't having a bunch of terminals in an area and another bunch in another area of the main canvas be enough? i've come to find that simple spatial separation/grouping was more than enough for context separation, without adding too much friction when switching between them |
I did feel the same way before, but found the urge to separate work and personal projects for example. The nice thing is that people could still use just one workspace if they desire. |
Introduction
First of all thank you for setting this up I'm in love with this concept and really enjoy the experience. One key feature I was missing was the ability to have multiple workspaces for example for different projects.
Summary
WorkspaceandWorkspaceManagerclasses handle workspace lifecycle (create, delete, rename, switch). Ghostty runtime callbacks are routed to the correct workspace's node manager via surface lookup.Keyboard shortcuts
Cmd+Shift+NCmd+Shift+]/Cmd+Shift+[Cmd+1…Cmd+9Key changes
Workspace.swift,WorkspaceManager.swiftTerminalNodeManagerusage withWorkspaceManager; all terminal actions route throughactiveNodeManagerdetachAllNodes()/attachNodes(_:)for swapping workspace node setsWorkspaceStatenested type with automatic migration from the old flat format