On this Mac
The tab and the split, even in a window you minimised or one buried under other tabs.
bateri
bateri gives every tab and every split an address of its own. Evlat keeps it for each session that starts there, so Open in bateri brings the window back, selects the tab and hands the keyboard to the exact split the agent is waiting in.
Every pane, an address
Every tab and every split gets an address of its own, bateri://tab/ and a UUID, handed to its shell as BATERI_TAB_URL. It stays with the pane for as long as the pane lives.
When an agent starts in that pane, Evlat reads the address from the agent’s own environment and checks its shape: bateri://tab/ and a UUID, or nothing at all.
bateri brings the window back, from the Dock if it has to, selects the tab and gives the keyboard to that split. You land where the question is, ready to answer.
Wherever you started it
The tab and the split, even in a window you minimised or one buried under other tabs.
bateri carries the pane’s address to the server as LC_BATERI_TAB_URL. For a server in Settings → Servers, a session there opens the pane you typed ssh in.
sbx run doesn’t take the address into the sandbox, but its client in your pane has it. Go to session opens the pane you ran it from.
The pane of the client you used last. In herdr the session’s own herdr pane is selected too; when it can’t be, the button says Open herdr in bateri.
Only focus
Any app can open a bateri:// link, so bateri lets it do one thing: show you the pane.
Brings the window back, selects the tab and gives the keyboard to the pane.
Send a byte to the shell, run a command or open a window.
If you closed it, bateri only comes forward. Nothing else moves.
Meet bateri
bateri is a macOS terminal written in Rust and drawn through Metal, with nothing in between. It is the terminal Evlat goes furthest with.
LC_* variables, as Debian and Ubuntu do out of the box.