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");
}