From 0fb2e6410fade33d97935a2afaa00b10abe3a241 Mon Sep 17 00:00:00 2001 From: Rick Hennigan Date: Tue, 19 Nov 2024 12:26:18 -0500 Subject: [PATCH] Feature: Use dedicated kernel for notebook assistance if one is defined --- .../ChatModes/ShowNotebookAssistance.wl | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/Source/Chatbook/ChatModes/ShowNotebookAssistance.wl b/Source/Chatbook/ChatModes/ShowNotebookAssistance.wl index c9dfb20b..586c44fb 100644 --- a/Source/Chatbook/ChatModes/ShowNotebookAssistance.wl +++ b/Source/Chatbook/ChatModes/ShowNotebookAssistance.wl @@ -474,6 +474,8 @@ showNotebookAssistanceWindow[ source_NotebookObject, input_, evaluate_, new_ ] : ConfirmMatch[ LogChatTiming @ attachToLeft[ source, current ], _NotebookObject, "Attached" ] ]; + setNotebookAssistanceEvaluator @ nbo; + LogChatTiming @ setWindowInputAndEvaluate[ nbo, input, evaluate ] ], throwInternalFailure @@ -494,6 +496,8 @@ showNotebookAssistanceWindow[ None, input_, evaluate_, new_ ] := Enclose[ current ]; + setNotebookAssistanceEvaluator @ nbo; + setWindowInputAndEvaluate[ nbo, input, evaluate ] ], throwInternalFailure @@ -502,6 +506,18 @@ showNotebookAssistanceWindow[ None, input_, evaluate_, new_ ] := Enclose[ showNotebookAssistanceWindow // endDefinition; +(* ::**************************************************************************************************************:: *) +(* ::Subsubsection::Closed:: *) +(*setNotebookAssistanceEvaluator*) +setNotebookAssistanceEvaluator // beginDefinition; + +setNotebookAssistanceEvaluator[ nbo_NotebookObject ] := + If[ AssociationQ @ Association @ CurrentValue[ nbo, { EvaluatorNames, "NotebookAssistance" } ], + SetOptions[ nbo, Evaluator -> "NotebookAssistance" ] + ]; + +setNotebookAssistanceEvaluator // endDefinition; + (* ::**************************************************************************************************************:: *) (* ::Subsubsection::Closed:: *) (*setWindowInputAndEvaluate*) @@ -549,7 +565,7 @@ attachToLeft[ source_NotebookObject, current_NotebookObject ] := Enclose[ WindowMargins -> { { left - width, Automatic }, { bottom, top } }, WindowSize -> { width, Automatic } ]; - + If[ (* Starting in Mac 14.2, we can make sure the assistant notebook is on right "space". *) And[ BoxForm`sufficientVersionQ[14.2], @@ -557,7 +573,7 @@ attachToLeft[ source_NotebookObject, current_NotebookObject ] := Enclose[ ], FE`Evaluate @ Evaluate @ FEPrivate`MoveToActiveDesktop @ current ]; - + SetSelectedNotebook @ current; moveToChatInputField[ current, True ];