Repository navigation
Conversation
ARE404
marked this pull request as draft
November 10, 2026 14:54
Tools now hand the launcher their results and entries instead of drawing their own rows, so results from every tool rank together. A blank query shows Maka Bot, recommendations from local usage and one entry per tool; choosing an entry types its keyword into the single input. Selected rows name their Return action in a footer. Usage is stored locally, bounded, and only for applications, library items and symbols. The panel opens where a 400pt window would center and keeps its top edge as results change its height.
Application rows load each app's icon from AppKit on demand, only for rows on screen, and keep the generic glyph until it arrives.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the remaining built-in quick launcher tools as ordinary plugins, on top of the calculator contract from #6743. Each tool is its own UI package under
plugins/application, on by default and switchable under Settings > Plugins.sym,symbol,符号+ termnote;name textfills{query}in a linkf,file,文件+ at least 2 characterscb,clipboard,剪贴板screenshot,capture,截图The launcher now lists all tools in a scroll area showing 8 rows, keeps the selected row visible and pins Ask Maka below the list. Quick library content is managed on its own settings page; the popup only searches and acts, and stays a single layer.
The native parts are in-process calls on
ApplicationHost, built with the normal Cargo and Maka.app flow. There is no helper binary, legacy plugin runtime,import-legacy.mjsor migration. Commits are split per tool to make review easier.Refs #6707
Review focus
products/maka/workbench/src/bindings/quick_tools.rs:mdfind,openandscreencaptureare macOS system tools started from Rust. File search is limited to the home folder, skips~/Libraryand dot folders, and is bounded by a 4 s timeout, 256 KB of output and 6 results.NSPasteboard.changeCountonce a second, skips concealed, transient and auto-generated content and text over 100000 bytes, keeps 50 entries and is memory-only.Verification
just typecheckandjust buildpass.node --test products/maka/workbench/tests/*.test.mjs: 120 pass, 0 fail, including 8 new quick tool behavior tests.npm --prefix products/maka/bundle run test,cargo test -p maka-workbench --lib quick_tools,biome format, license headers and the Rust dependency and notices checks pass.symlists symbols, and Down scrolls the list to keep the selection visible.javascript:link is rejected.pbpaste) and closes the popup.<link name> hello worldshows a link row, and Return closes the popup.Calculatorshows the app, and Return launches it and closes the popup.f readmelists home folder results without~/Library.cblists text copied after launch.截图shows the capture row.helloshows no tool rows.Not run:
open_local_pathcall as applications.Observed: the Quick Library entry sits at the top of the Settings rail, above Connections and Models. I left the rail order alone.
AI use
Select exactly one:
Tool(s) and scope: Claude Code helped with implementation and debugging under the author's direction.
Checklist
Does this PR entail a change in behavior?