UNPKG

@owloops/claude-powerline

Version:

Beautiful vim-style powerline statusline for Claude Code with real-time usage tracking, git integration, and custom themes

36 lines (28 loc) 886 B
import { exec } from "node:child_process"; import { promisify } from "node:util"; import { debug } from "../utils/logger"; const execAsync = promisify(exec); export class TmuxService { async getSessionId(): Promise<string | null> { try { if (!process.env.TMUX_PANE) { debug(`TMUX_PANE not set, not in tmux session`); return null; } debug(`Getting tmux session ID, TMUX_PANE: ${process.env.TMUX_PANE}`); const result = await execAsync("tmux display-message -p '#S'", { encoding: "utf8", timeout: 1000, }); const sessionId = result.stdout.trim(); debug(`Tmux session ID: ${sessionId || "empty"}`); return sessionId || null; } catch (error) { debug(`Error getting tmux session ID:`, error); return null; } } isInTmux(): boolean { return !!process.env.TMUX_PANE; } }