-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Description
Introduce the ability to split the terminal viewport into multiple panes (horizontal and vertical) and between these panes.
Problem Statement
Currently, Cake provides a single terminal interface. This becomes a bottleneck when I need to monitor multiple outputs simultaneously for example, running a dev server in one pane while executing tests or git commands in another.
Having to toggle Cake or switch commands within a single terminal instance disrupts the focus and prevents side-by-side comparison of persistent process outputs.
Desired Solution
I'd like to see support for splitting the terminal area within the Cake container. This should include keybindings or API calls to create new terminal panes and move focus between them.
Note: default neovim mappings should work
-- proposed api
require("cake").split_terminal("horizontal")
require("cake").split_terminal("vertical")
...Expected changes:
Features:
- Splitting: Allows the terminal window to be subdivided without creating new windows outside the layout.
- Pane Management: Each pane maintains its own terminal buffer and process state.
- Navigation: Native split navigation & shifting between panes
- Responsive Layout: Panes should automatically adjust their dimensions when the main window is resized.
API Usage:
require('cake').split_terminal(direction): splits the current active terminal pane.require('cake').next_terminal(): cycles focus through all open terminal panes.require('cake').close_terminal(): closes the current terminal pane and redistributes space.
Note: just by thinking about this, implementing it might actually be kinda hard and would take time since the logic would be like a window tiling manager