From 2f47c65bc4471808a4dca349e1439539d525ba98 Mon Sep 17 00:00:00 2001 From: vesp Date: Wed, 7 Jan 2026 12:16:25 +0100 Subject: [PATCH] Fix blank script results panel separator on request load Hide the results_paned container when both script output panels are empty. This prevents the separator and blank space from appearing when opening requests without script output, maximizing response panel space. --- meson.build | 2 +- src/request_tab_widget.py | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/meson.build b/meson.build index e2149ec..7a668c7 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('roster', - version: '0.4.8', + version: '0.4.9', meson_version: '>= 1.0.0', default_options: [ 'warning_level=2', 'werror=false', ], ) diff --git a/src/request_tab_widget.py b/src/request_tab_widget.py index 3f53b11..d2593fc 100644 --- a/src/request_tab_widget.py +++ b/src/request_tab_widget.py @@ -240,6 +240,7 @@ class RequestTabWidget(Gtk.Box): self.results_paned = Gtk.Paned(orientation=Gtk.Orientation.VERTICAL) self.results_paned.set_vexpand(True) self.results_paned.set_position(UI_PANE_RESULTS_PANEL_POSITION) + self.results_paned.set_visible(False) # Initially hidden until scripts produce output # Don't allow children to shrink below their minimum size self.results_paned.set_shrink_start_child(False) self.results_paned.set_shrink_end_child(False) @@ -975,7 +976,8 @@ class RequestTabWidget(Gtk.Box): for warning in script_result.warnings: output_text += f"\n⚠ {warning}" - # Show container and display output + # Show container and parent paned + self.results_paned.set_visible(True) self.script_results_container.set_visible(True) # Adjust paned positions to make the panel visible (use idle_add to wait for proper sizing) @@ -991,10 +993,11 @@ class RequestTabWidget(Gtk.Box): buffer = self.script_output_textview.get_buffer() buffer.set_text("") - # Update results_paned minimum size based on remaining visible panels + # Update results_paned visibility and minimum size based on remaining visible panels if self.preprocessing_results_container.get_visible(): self.results_paned.set_size_request(-1, 100) # Only preprocessing visible else: + self.results_paned.set_visible(False) # Hide parent paned when both panels are hidden self.results_paned.set_size_request(-1, -1) # No panels visible, no minimum def _adjust_paned_for_script_results(self): @@ -1076,7 +1079,8 @@ class RequestTabWidget(Gtk.Box): output_text += "\n--- Request Modified ---" output_text += "\n✓ Request was modified by preprocessing script" - # Show container and display output + # Show container and parent paned + self.results_paned.set_visible(True) self.preprocessing_results_container.set_visible(True) # Adjust paned positions to make the panel visible (use idle_add to wait for proper sizing) @@ -1092,10 +1096,11 @@ class RequestTabWidget(Gtk.Box): buffer = self.preprocessing_output_textview.get_buffer() buffer.set_text("") - # Update results_paned minimum size based on remaining visible panels + # Update results_paned visibility and minimum size based on remaining visible panels if self.script_results_container.get_visible(): self.results_paned.set_size_request(-1, 100) # Only script results visible else: + self.results_paned.set_visible(False) # Hide parent paned when both panels are hidden self.results_paned.set_size_request(-1, -1) # No panels visible, no minimum def _adjust_paned_for_preprocessing_results(self):