This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch CAMEL-23648-tui-send-fullscreen in repository https://gitbox.apache.org/repos/asf/camel.git
commit a00e52b2b5412144917ae5bd2e70f62eb65ea7a9 Author: Claus Ibsen <[email protected]> AuthorDate: Sun May 31 08:43:13 2026 +0200 CAMEL-23648: camel-jbang - TUI remove 1-9 tabs footer hints and fix Inspect badge count Remove redundant 1-9/1-0/1-2 tab switching hints from footer across all tabs since the tab bar at the top already shows available tabs. Fix the Inspect tab badge to show count of distinct exchanges instead of individual processing steps. Co-Authored-By: Claude Opus 4.6 <[email protected]> --- .../org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java | 4 +++- .../apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java | 1 - .../org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java | 1 - .../org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java | 1 - .../java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java | 1 - .../java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java | 1 - .../java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java | 4 ---- .../org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java | 1 - .../java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java | 1 - .../java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java | 1 - .../java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java | 1 - .../org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java | 1 - .../java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java | 1 - 13 files changed, 3 insertions(+), 16 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 0c214269aab0..33dbb3c5faf6 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 @@ -1016,7 +1016,9 @@ public class CamelMonitor extends CamelCommand { int healthCount = hasSelection ? sel.healthChecks.size() : 0; long healthDownCount = hasSelection ? sel.healthChecks.stream().filter(hc -> "DOWN".equals(hc.state)).count() : 0; - int historyCount = hasSelection ? historyTab.historyEntries.size() : 0; + long historyCount = hasSelection + ? historyTab.historyEntries.stream().map(e -> e.exchangeId).distinct().count() + : 0; boolean hasTraces = hasSelection && !traces.get().isEmpty(); int httpCount = hasSelection ? sel.httpEndpoints.size() : 0; diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java index 43ef5244838f..30bb0ca5363e 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java @@ -207,7 +207,6 @@ class CircuitBreakerTab implements MonitorTab { hint(spans, "Esc", "back"); hint(spans, "↑↓", "navigate"); hint(spans, "s", "sort"); - hint(spans, "1-9", "tabs"); } private String sortLabel(String label, String column) { diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java index 2dc2071ab825..d5521ea59928 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java @@ -157,7 +157,6 @@ class ConsumersTab implements MonitorTab { public void renderFooter(List<Span> spans) { hint(spans, "Esc", "back"); hint(spans, "s", "sort"); - hint(spans, "1-9", "tabs"); } private String sortLabel(String label, String column) { 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 5a7ca27709b8..c9225ef56d03 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 @@ -297,7 +297,6 @@ class EndpointsTab implements MonitorTab { default -> "[off]"; }; hint(spans, "a", "chart " + chartLabel); - hint(spans, "1-9", "tabs"); } int getFilter() { diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java index edec0c7c4982..f68536af2edd 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java @@ -273,7 +273,6 @@ class ErrorsTab implements MonitorTab { hint(spans, "h", "headers [" + (showHeaders ? "on" : "off") + "]"); hint(spans, "b", "body [" + (showBody ? "on" : "off") + "]"); hint(spans, "w", "wrap [" + (wordWrap ? "on" : "off") + "]"); - hint(spans, "1-0", "tabs"); } } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java index f4db0025ab3c..ac3f3ff9866d 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java @@ -163,7 +163,6 @@ class HealthTab implements MonitorTab { hint(spans, "Esc", "back"); hint(spans, "s", "sort"); hint(spans, "d", "toggle DOWN"); - hint(spans, "1-9", "tabs"); } boolean isShowOnlyDown() { diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java index 7f7938addd1b..e102c285e6ee 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java @@ -263,8 +263,6 @@ class HttpTab implements MonitorTab { hint(spans, "p", "pretty" + (probePrettyPrint ? " [on]" : "")); if (!probeHistory.isEmpty()) { hintLast(spans, "↑↓", "history"); - } else { - hintLast(spans, "1-9", "tabs"); } return; } @@ -284,8 +282,6 @@ class HttpTab implements MonitorTab { Integer hSel = tableState.selected(); if (hSel != null && hSel >= 0 && hSel < hVisible.size() && hVisible.get(hSel).specificationUri != null) { hintLast(spans, "c", "spec"); - } else { - hintLast(spans, "1-9", "tabs"); } } diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java index 7c1314335996..dfeb76fbb711 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java @@ -167,7 +167,6 @@ class InflightTab implements MonitorTab { public void renderFooter(List<Span> spans) { hint(spans, "Esc", "back"); hint(spans, "s", "sort"); - hint(spans, "1-9", "tabs"); } private void renderBrowseDisabled(Frame frame, Rect area) { diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java index a66d0661a549..efaa01e49b17 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java @@ -307,7 +307,6 @@ class LogTab implements MonitorTab { hint(spans, "l", "level"); } hint(spans, "f", "follow" + (followMode ? " [on]" : " [off]")); - hint(spans, ctx.isInfraSelected() ? "1-2" : "1-9", "tabs"); } private void renderLogLevelPopup(Frame frame, Rect area) { diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java index 7ed318c6eada..715c0e667ed3 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java @@ -309,7 +309,6 @@ class MemoryTab implements MonitorTab { @Override public void renderFooter(List<Span> spans) { hint(spans, "Esc", "back"); - hint(spans, "1-9", "tabs"); } private static String buildGaugeBar(long pct, int width) { diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java index 4a4df616b98f..19bf722a7d0b 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java @@ -614,7 +614,6 @@ class MetricsTab implements MonitorTab { if (info != null && findMetricsUrl(info) != null) { hint(spans, "r", "raw"); } - hint(spans, "1-9", "tabs"); } // ---- Prometheus syntax coloring ---- 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 3c088933b2ad..32a5536411b6 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 @@ -593,7 +593,6 @@ class OverviewTab implements MonitorTab { default -> "[off]"; }); } - hint(spans, "1-9", "tabs"); } @Override diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java index f8ce5dd3cb6f..ea489639ce94 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java @@ -507,7 +507,6 @@ class RoutesTab implements MonitorTab { hint(spans, "p", "start"); } } - hint(spans, "1-9", "tabs"); } }
