Ctrl+S to show/hide chat controls

This commit is contained in:
oobabooga 2023-08-27 13:06:01 -07:00
parent a965a36803
commit b2296dcda0
3 changed files with 16 additions and 3 deletions

View File

@ -329,7 +329,7 @@ div.svelte-362y77>*, div.svelte-362y77>.form>* {
#show-controls {
position: absolute;
background-color: transparent;
left: calc(100% - 130px);
left: calc(100% - 180px);
}
.chat > .messages {

View File

@ -40,9 +40,11 @@ for(i = 0; i < textareaElements.length; i++) {
}
//------------------------------------------------
// Stop generation on Esc pressed
// Keyboard shortcuts
//------------------------------------------------
document.addEventListener("keydown", function(event) {
// Stop generation on Esc pressed
if (event.key === "Escape") {
// Find the element with id 'stop' and click it
var stopButton = document.getElementById("stop");
@ -50,6 +52,17 @@ document.addEventListener("keydown", function(event) {
stopButton.click();
}
}
// Show chat controls on Ctrl+S pressed
else if (event.ctrlKey && event.key == "s") {
event.preventDefault();
var showControlsElement = document.getElementById('show-controls');
if (showControlsElement && showControlsElement.childNodes.length >= 4) {
showControlsElement.childNodes[3].click();
}
}
});
//------------------------------------------------

View File

@ -23,7 +23,7 @@ def create_ui():
with gr.Tab('Chat', elem_id='chat-tab'):
shared.gradio['display'] = gr.HTML(value=chat_html_wrapper({'internal': [], 'visible': []}, shared.settings['name1'], shared.settings['name2'], 'chat', 'cai-chat'))
shared.gradio['textbox'] = gr.Textbox(label='', placeholder='Send a message', elem_id='chat-input')
shared.gradio['show_controls'] = gr.Checkbox(value=shared.settings['show_controls'], label='Show controls', elem_id='show-controls')
shared.gradio['show_controls'] = gr.Checkbox(value=shared.settings['show_controls'], label='Show controls (Ctrl+S)', elem_id='show-controls')
with gr.Row():
shared.gradio['Stop'] = gr.Button('Stop', elem_id='stop')