Skip to content

Let startup.open choose what startup search Enter does - #711

Closed
bkchr wants to merge 1 commit into
Yazelix:mainfrom
bkchr:bkchr-nova-open-select
Closed

bkchr wants to merge 1 commit into
Yazelix:mainfrom
bkchr:bkchr-nova-open-select

Conversation

@bkchr

@bkchr bkchr commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

New tabs open a startup search where Enter moves Yazi to the selected folder and Ctrl O opens it in the configured editor. The new startup.open setting ("yazi" by default, or "editor") swaps the two startup actions, so users who mostly start a tab by editing a project can do it with Enter. The persistent popup's Enter and Alt Enter are unchanged.

yzx-yazi passes the setting to the startup picker as YZX_STARTUP_OPEN. quick-search flips the Enter/Ctrl O dispatch and updates the fzf footer to match. Ratconfig lists the field under Overview, and it applies to newly opened tab pickers.

The Lua workspace check covers editor-first startup Enter, the Ctrl O fallback to cd, and the unchanged popup footer and actions. The config contract check covers the "yazi" default.

New tabs open a startup search where Enter moves Yazi to the selected
folder and Ctrl O opens it in the configured editor. The new
`startup.open` setting ("yazi" by default, or "editor") swaps the two
startup actions, so users who mostly start a tab by editing a project
can do it with Enter. The persistent popup's Enter and Alt Enter are
unchanged.

yzx-yazi passes the setting to the startup picker as YZX_STARTUP_OPEN.
quick-search flips the Enter/Ctrl O dispatch and updates the fzf footer
to match. Ratconfig lists the field under Overview, and it applies to
newly opened tab pickers.

The Lua workspace check covers editor-first startup Enter, the Ctrl O
fallback to cd, and the unchanged popup footer and actions. The config
contract check covers the "yazi" default.
@luccahuguet

Copy link
Copy Markdown
Collaborator

New tabs open a startup search where Enter moves Yazi to the selected folder and Ctrl O opens it in the configured editor. The new startup.open setting ("yazi" by default, or "editor") swaps the two startup actions, so users who mostly start a tab by editing a project can do it with Enter. The persistent popup's Enter and Alt Enter are unchanged.

yzx-yazi passes the setting to the startup picker as YZX_STARTUP_OPEN. quick-search flips the Enter/Ctrl O dispatch and updates the fzf footer to match. Ratconfig lists the field under Overview, and it applies to newly opened tab pickers.

The Lua workspace check covers editor-first startup Enter, the Ctrl O fallback to cd, and the unchanged popup footer and actions. The config contract check covers the "yazi" default.

Thanks!

The change is clean and well tested.

I will say that we've actually already decided to make startup search Enter pick by default (set the tab folder and open the editor), with Ctrl O going away, so a setting to swap the two would become obsolete soon after it landed, and it's the behaviour you want, right?

That's tracked as yazelix-5vl-y4m5 in .beads/issues.jsonl. If you'd like to take it on, a PR against edge (not main, see CONTRIBUTING.md) would be very welcome.

Closing this one in favor of that..

I will try to take that bead on now

@luccahuguet luccahuguet closed this Nov 4, 2026
@luccahuguet

Copy link
Copy Markdown
Collaborator

may i add you as co-author since your PR made me prioritize it?

@luccahuguet

Copy link
Copy Markdown
Collaborator

ok, If i end up using that code, I'll credit you

@luccahuguet

Copy link
Copy Markdown
Collaborator

Hi @bkchr, thanks for this. It pushed us to act on a startup search change we had planned.

Instead of a startup.open setting, Nova now makes startup search Enter pick by default: it sets the tab folder and opens the configured editor (in the persistent popup, Enter sets the tab folder). Tab moves Yazi to the highlighted result without picking it, and Ctrl O is gone, so there is nothing left for a setting to swap.

That landed on edge as f9cb02d, with you as co-author: your startup footer label and the startup Enter test case in checks/yazi-workspace.lua are part of it. It will reach main once its checks finish.

A small note for next time: Nova takes PRs against edge rather than main (see CONTRIBUTING.md).

Claude Opus 5.5, posting for @luccahuguet

@bkchr

bkchr commented Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

Okay ty, I will test it. My main goal was that I want the fuzzy project search on startup. Will this be possible with your changes?

@bkchr
bkchr deleted the bkchr-nova-open-select branch November 4, 2026 10:30
@luccahuguet

Copy link
Copy Markdown
Collaborator

Okay ty, I will test it. My main goal was that I want the fuzzy project search on startup. Will this be possible with your changes?

yes, you start typing, then find the one and press enter, and it will open it for you

but it's not full fuzy... I will let opus explain the details but overall I think the current shape is good and you should like like it

if you test it and miss the real fuzziness, we can make it a setting or so

@luccahuguet

Copy link
Copy Markdown
Collaborator

The details: every new tab opens straight into a search over your zoxide history, the folders you've visited, most-used first (the folder you're in is left out). Enter opens the editor at the pick and makes it the tab folder; Tab browses from it in Yazi instead.

  • Matching is fzf --exact. You type substrings, and several words narrow the list, so nova or pjs nova both find ~/pjs/nova. Scattered letters like pjnv don't match. fzf's ^, $ and ! operators work too.
  • It lists folders you've been to. It doesn't scan a projects directory, so a project you've never opened shows up after your first visit (cd/z there, or browse to it in Yazi once).

Claude Opus 5.5, posting for @luccahuguet

@bkchr

bkchr commented Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

Sounds good, ty!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants