Repository navigation
A + on each tab to start a session beside it, in any installed CLI (opt-in) #700
Replies: 1 comment
|
Thanks @JDProfresh for asking before opening the PR. Decision 9 and tabs. Decision 9 was about the tile header. Where it goes. Keep it in the tab's action row. Neither alternative reaches the default layout:
The action row is the one place every layout has. Default and phones. Off by default on every device, as a per-device key next to Logos or labels. Labels, please. The other two CLI pickers both show the logo with the name: the toolbar Run menu (built by Docker. Read the container's list from the start. The toolbar Run menu already does this in For the PR:
Send it as one PR referencing this thread. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
When I want a second session in the case I'm already working in, I have to go to the toolbar, pick the case in the case dropdown, switch the Run button to the CLI I want, and run. Then the Run button is left on that case and CLI for every later launch. With a few cases open at once, that's most of the times I start a session.
I built a small shortcut for it and have it on a branch (
feat/tab-new-sessionon my fork), held until you weigh in, because it's close to something you removed from the tiles (more on that below).What it does
+sits in each session tab's action icons, between the gear and the ×, and shows and hides exactly like the gear does.aria-label.run()with the same temporary_runModeswap the worktree and custom-model launches use, so the Run button's mode and selected case are left alone. That's the same pattern as aakhter's Cmd+K agent picker in feat(palette): choose the agent when starting a session from Cmd+K #685.Opt-in, and phones
It's a per-device setting next to the pop-out button's: App Settings, "New Session Button on Tabs", off by default everywhere, the same way the tab layouts from #426 ship opt-in with Classic as the default.
On a phone, switching it on puts the
+on the active tab next to gear and close, so the active tab gets wider: the label reserve in the phone block grows from 44px to 68px, so the tab's centre still lands on the name and not on an icon.test/mobile-tab-tap-zones.test.tspins that with the same arithmetic it uses for gear and close. Off, the phone strip is unchanged.The tile + you removed
I know you took a
+with "New session in this case" out of the tile headers (owner decision 9,caf5248e), so I want to raise that before anything else. The reason I think tabs are different: the tile+added tiles to the grid, while this one only starts a session beside the tab you're looking at, with a choice of CLI. It's also off unless you switch it on. But if "no +" was meant for tabs too, I'd rather know now, and I'm happy to reshape it as one of the alternatives below.How I tested it
focusouthandler closed it before the click ran. The branch fixes that in_openTabLayoutMenuwith the rule your tile count menu already follows (a focus with nowhere to go doesn't count as leaving). I couldn't reproduce it on the named-group menu with Safari on my Mac or iPad, and phones can't reach that menu, so I'm not filing it separately.npm testis green, and the new tests fail without their change (thecaseNameoverride on all three run paths, the Safari focus rule, and the phone tap reserve).The branch is +245/-18 across 11 files, mostly
app.jsand CSS, with zh-CN strings for the new texts.Questions
+OK?+on the case cluster and named group headers instead of on each tab.If it's a yes in some shape, I'll send it as one PR referencing this thread.
All reactions