focal
Terminal focus library - focus terminal windows and multiplexer panes.
Features
- Terminal detection: Identify which terminal emulator owns a TTY
- Cross-platform activation: Bring terminal windows to front (macOS + Linux)
- Terminal-specific handlers: Precise tab/pane focusing for iTerm2, Terminal.app, WezTerm, Kitty
- Multiplexer support: Switch to the correct tmux/zellij/screen pane
Usage
use ;
// Focus the terminal containing a process
match focus_session
// With a multiplexer hint (for faster tmux detection)
let _ = focus_session;
Supported Terminals
macOS
- iTerm2 (tab-specific focusing via JXA)
- Terminal.app (tab-specific focusing via JXA)
- WezTerm (pane-specific focusing via CLI)
- Kitty (window-specific focusing via remote control)
- Ghostty (window-specific focusing via JXA)
- Generic terminals (Alacritty, etc.) via osascript
Linux
- WezTerm (pane-specific focusing via CLI)
- Kitty (window-specific focusing via remote control)
- Ghostty (window-specific focusing via wmctrl/xdotool/swaymsg/hyprctl)
- Generic terminals via wmctrl, xdotool, swaymsg, or hyprctl
Supported Multiplexers
- tmux
- zellij (planned)
- screen (planned)