diff --git a/src/tab.rs b/src/tab.rs index d3ce232a..5d77d56a 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -563,6 +563,7 @@ impl Tab { // TBD } PaneKind::PluginPane(_) => { + boundaries.add_rect(&terminal); if let Some(output) = terminal.render() { write!( stdout, diff --git a/src/terminal_pane/plugin_pane.rs b/src/terminal_pane/plugin_pane.rs index b3525338..3da072eb 100644 --- a/src/terminal_pane/plugin_pane.rs +++ b/src/terminal_pane/plugin_pane.rs @@ -111,7 +111,10 @@ impl Pane for PluginPane { .unwrap(); self.should_render = false; - Some(buf_rx.recv().unwrap()) + let goto_plugin_coordinates = format!("\u{1b}[{};{}H", self.position_and_size.y + 1, self.position_and_size.x + 1); // goto row/col and reset styles + let reset_styles = "\u{1b}[m"; + let vte_output = format!("{}{}{}", goto_plugin_coordinates, reset_styles, buf_rx.recv().unwrap()); + Some(vte_output) } else { None }