Documentation
¶
Index ¶
- func FocusPane(p Pane) tea.Cmd
- func JoinLayout(sidebar, main, statusBar string, layout Layout) string
- func SwitchView(v ViewMode) tea.Cmd
- type ErrorMsg
- type FocusPaneMsg
- type FolderPickedMsg
- type Layout
- type Model
- func (m *Model) Cleanup()
- func (m Model) FocusedPane() Pane
- func (m Model) FocusedSessionID() string
- func (m Model) Init() tea.Cmd
- func (m Model) Quitting() bool
- func (m Model) Ready() bool
- func (m *Model) SaveAndDetach()
- func (m Model) SessionManager() *session.Manager
- func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd)
- func (m Model) View() string
- func (m Model) ViewMode() ViewMode
- type Pane
- type SessionSelectedMsg
- type SwitchViewMsg
- type Theme
- type ViewMode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func JoinLayout ¶
JoinLayout renders the sidebar and main pane side by side, with the status bar below. Top/bottom padding keeps content away from terminal/tmux chrome.
func SwitchView ¶
SwitchView returns a command that sends a SwitchViewMsg.
Types ¶
type ErrorMsg ¶
type ErrorMsg struct{ Err error }
ErrorMsg wraps an error for display in the status bar.
type FocusPaneMsg ¶
type FocusPaneMsg struct{ Pane Pane }
FocusPaneMsg requests focus to move to a specific pane.
type FolderPickedMsg ¶
FolderPickedMsg is sent when the macOS folder picker completes.
type Layout ¶
type Layout struct {
SidebarWidth int
SidebarHeight int
MainWidth int
MainHeight int
StatusWidth int
TotalWidth int
TotalHeight int
}
Layout holds the computed dimensions for each pane.
func ComputeLayout ¶
ComputeLayout calculates pane dimensions from the terminal size. If sidebarWidth is > 0, it uses that value; otherwise auto-calculates.
type Model ¶
type Model struct {
// contains filtered or unexported fields
}
Model is the root application model.
func (*Model) Cleanup ¶
func (m *Model) Cleanup()
Cleanup shuts down the tmux session. Call this before exiting.
func (Model) FocusedPane ¶
FocusedPane returns the currently focused pane.
func (Model) FocusedSessionID ¶
FocusedSessionID returns the ID of the focused session.
func (*Model) SaveAndDetach ¶
func (m *Model) SaveAndDetach()
SaveAndDetach saves state without killing tmux. Used by signal handlers.
func (Model) SessionManager ¶
SessionManager returns the session manager.
type SessionSelectedMsg ¶
type SessionSelectedMsg struct{ SessionID string }
SessionSelectedMsg is sent when a session is selected in the sidebar.
type SwitchViewMsg ¶
type SwitchViewMsg struct{ View ViewMode }
SwitchViewMsg requests switching the main pane view.
type Theme ¶
type Theme struct {
Colors theme.ColorPalette
// Borders
FocusedBorder lipgloss.Style
UnfocusedBorder lipgloss.Style
// Text
TitleStyle lipgloss.Style
SubtitleStyle lipgloss.Style
HintStyle lipgloss.Style
ErrorStyle lipgloss.Style
}
Theme holds all centralized styles for the application.
func ThemeFromConfig ¶
func ThemeFromConfig(cfg config.ThemeConfig) Theme
ThemeFromConfig builds a theme from the given config, falling back to defaults.