You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit b04f8b8
Browse filesBrowse the repository at this point in the historyBrowse files
feat(embed): host embedded windows as owned top-level popups
Embedded apps stay top-level (borderless popup owned by our window, kept
over the host's client area) instead of WS_CHILD, so raw-input apps such as
Blender and games receive the keyboard. Foreign Win32 calls that synchronise
on the shared input queue run on a per-embed EmbeddedWindowWorker; click and
activation hand-offs follow one rule so focus never ping-pongs. main.cpp sets
AA_DontCreateNativeWidgetSiblings so a native host no longer turns every
ancestor sibling into an HWND. Adds live SendInput tests (opt-in via
NOTEPADAI_INTERACTIVE_TESTS) with a raw-input target and an optional real
Blender run.
Also: fix misc-misplaced-const in restoreExact; README mentions ask_user
forms and their note box.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ You shouldn't have to leave your editor to talk to an AI, run git, or open a she
10
10
11
11
NotepadAI speaks the Agent Client Protocol (ACP) over stdio. Claude Code and Codex ship as factory agents and can be edited or deleted in Settings. You can also add any other ACP-compatible agent, including Gemini, Auggie, or your own command. Agents read and write files, run terminal commands, and see your workspace context, so they work on the same code you do. Start a session from the AI menu or by right-clicking a folder in the file tree.
12
12
13
-
In a chat, a finished turn folds into a single "Worked for 2m14s" row; click it to bring back the tool calls and intermediate messages. Tool calls show how long they took. Claude Code background tasks and the wake-ups or cron jobs it schedules for itself appear under the transcript, with a Stop link for tasks that can be stopped. When the agent offers `/advisor`, an Advisor checkbox in the composer turns it on and off.
13
+
In a chat, a finished turn folds into a single "Worked for 2m14s" row; click it to bring back the tool calls and intermediate messages. Tool calls show how long they took. Claude Code background tasks and the wake-ups or cron jobs it schedules for itself appear under the transcript, with a Stop link for tasks that can be stopped. When the agent offers `/advisor`, an Advisor checkbox in the composer turns it on and off. When an agent needs a decision, its questions appear as a form in the chat with the suggested answer preselected, and a note box at the end takes anything else you want to add.
14
14
15
15
There is also a Goal Agent: pick an ACP judge (Claude Code, Codex, Opencode) or a Custom API endpoint that speaks Anthropic's Messages API. You set success criteria and it drives the working agent until those criteria hold, or attach a goal to an existing conversation. Criteria presets can be saved globally, or into the current project's `.agents/.goals` folder so they travel with the repo; files already in that folder show up in the load list. A judge that needs a human action, or that hits the iteration cap with the criterion still unmet, stops and hands the criterion back instead of marking the goal done. With Prefix /goal checked, the first criterion is sent immediately when the agent supports `/goal`. If a reply is still running and the agent does not support `/goal`, that goal waits in the send queue so the current reply is not stopped. Later criteria wait until the previous is achieved. Send with Goal defaults to the agent's own `/goal` command instead: each criterion goes out on its own, with no separate judge. A `/goal` typed in the composer is sent while a turn is still running only when the agent supports that command; otherwise it waits in the queue. A goal is not judged, and auto compact does not run, while the agent still has background tasks running or a wake-up turn pending. When a goal is achieved, the session can compact automatically. Prompts sent while an agent is still working are queued and delivered when it finishes. AI chats group by project, with a session strip to switch conversations in the same dock. The composer can ask the agent to work in a new git worktree. When you commit, AI can write the commit message from your staged diff. That generator (and other LLM calls) can talk to an OpenAI-compatible endpoint or Anthropic's Messages API. Leave the commit box empty (when not amending) and Commit lets you pick an ACP agent to do the commit. Protocol details and how to wire up a custom ACP agent are in [doc/AcpAgents.md](doc/AcpAgents.md).
0 commit comments