This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new b30f0e78be9a chore: add 100% shell panel size option in TUI chore: 
hide charts when shell panel is 50% or larger and show current size in footer
b30f0e78be9a is described below

commit b30f0e78be9a5e4cde9085f4c312c0445caf7ff1
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Jun 25 17:05:20 2026 +0200

    chore: add 100% shell panel size option in TUI
    chore: hide charts when shell panel is 50% or larger and show current size 
in footer
    
    Co-Authored-By: Claude Opus 4.7 <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java   | 1 +
 .../org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java   | 2 +-
 .../org/apache/camel/dsl/jbang/core/commands/tui/MonitorContext.java | 1 +
 .../org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java    | 3 ++-
 .../org/apache/camel/dsl/jbang/core/commands/tui/ShellPanel.java     | 5 ++---
 5 files changed, 7 insertions(+), 5 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
index d1595e561505..adb40965dca7 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
@@ -974,6 +974,7 @@ public class CamelMonitor extends CamelCommand {
         renderTabs(frame, mainChunks.get(2));
         // mainChunks.get(3) is the empty spacer row between tabs and content
         Rect contentArea = mainChunks.get(4);
+        ctx.shellPercent = shellPanel.isOpen() ? shellPanel.panelPercent() : 0;
         if (shellPanel.isOpen()) {
             List<Rect> splitChunks = Layout.vertical()
                     .constraints(Constraint.percentage(100 - 
shellPanel.panelPercent()),
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
index 14b08694517c..0ea398ccaf6e 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
@@ -235,7 +235,7 @@ class EndpointsTab implements MonitorTab {
         boolean hasSizeHistory = !endpointInSizeHistory.isEmpty()
                 && endpointInSizeHistory.values().stream().anyMatch(h -> 
h.stream().anyMatch(v -> v > 0));
 
-        boolean showChart = chartMode != CHART_OFF;
+        boolean showChart = chartMode != CHART_OFF && ctx.shellPercent < 50;
         List<Rect> chunks = showChart
                 ? Layout.vertical().constraints(Constraint.fill(), 
Constraint.length(16)).split(area)
                 : List.of(area);
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContext.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContext.java
index f82c9b442c93..8626cdcdd8e0 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContext.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MonitorContext.java
@@ -50,6 +50,7 @@ class MonitorContext {
 
     String selectedPid;
     String lastSelectedName;
+    int shellPercent;
 
     MonitorContext(
                    AtomicReference<List<IntegrationInfo>> data,
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
index 3e731a45699f..c12b537d0d06 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
@@ -158,7 +158,8 @@ class OverviewTab implements MonitorTab {
             }
         }
 
-        boolean hasSparkline = chartMode != CHART_OFF && 
!throughputHistory.isEmpty() && !ctx.isInfraSelected();
+        boolean hasSparkline = chartMode != CHART_OFF && 
!throughputHistory.isEmpty() && !ctx.isInfraSelected()
+                && ctx.shellPercent < 50;
         boolean showInfoPanel = ctx.isInfraSelected() && 
ctx.findSelectedInfra() != null && !hasSparkline;
         List<Constraint> constraints = new ArrayList<>();
         constraints.add(Constraint.fill());
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ShellPanel.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ShellPanel.java
index b4f43e06639e..649f701a0f26 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ShellPanel.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ShellPanel.java
@@ -73,7 +73,7 @@ import org.jline.utils.ScreenTerminalOutputStream;
  */
 class ShellPanel {
 
-    private static final int[] SPLIT_PERCENTS = { 25, 50, 75 };
+    private static final int[] SPLIT_PERCENTS = { 25, 50, 75, 100 };
     private static final int MOUSE_SCROLL_LINES = 3;
 
     private boolean visible;
@@ -272,8 +272,7 @@ class ShellPanel {
 
     void renderFooter(List<Span> spans) {
         MonitorContext.hint(spans, "F6", "close");
-        int nextPct = SPLIT_PERCENTS[(splitIndex + 1) % SPLIT_PERCENTS.length];
-        MonitorContext.hint(spans, "Shift+F6", nextPct + "%");
+        MonitorContext.hint(spans, "Shift+F6", SPLIT_PERCENTS[splitIndex] + 
"%");
         MonitorContext.hint(spans, "Shift+PgUp/Dn", "scroll");
     }
 

Reply via email to