This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch tui-keystroke-overlay in repository https://gitbox.apache.org/repos/asf/camel.git
commit 7486c96548e03e761ab58192af0e28ebb53fc9bc Author: Claus Ibsen <[email protected]> AuthorDate: Thu May 21 18:40:43 2026 +0200 camel-tui: Make F2 global, add adoc fallback for bundled example docs - F2 actions menu now works on all tabs, not just overview - F2 hint shown in footer on all tabs after Esc - Bundled examples fall back to README.adoc if README.md not found Co-Authored-By: Claude <[email protected]> --- .../camel/dsl/jbang/core/commands/tui/ActionsPopup.java | 4 ++++ .../camel/dsl/jbang/core/commands/tui/CamelMonitor.java | 17 +++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ActionsPopup.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ActionsPopup.java index ce5affa808f0..bb12dfcec2b6 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ActionsPopup.java +++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ActionsPopup.java @@ -553,6 +553,10 @@ class ActionsPopup { boolean isAdoc = false; if (bundled) { content = DocHelper.loadResourceContent("examples/" + name + "/README.md"); + if (content == null) { + content = DocHelper.loadResourceContent("examples/" + name + "/README.adoc"); + isAdoc = content != null; + } } else { String base = "https://raw.githubusercontent.com/apache/camel-jbang-examples/main/" + name + "/"; content = DocHelper.downloadContent(base + "README.md"); 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 d2cf25145fb7..f34daf997371 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 @@ -408,6 +408,12 @@ public class CamelMonitor extends CamelCommand { return true; } + // F2 opens actions menu (global) + if (ke.isKey(KeyCode.F2)) { + actionsPopup.open(); + return true; + } + // Tab-specific keys — delegate to active tab first int tab = tabsState.selected(); MonitorTab activeTab = activeTab(); @@ -521,12 +527,6 @@ public class CamelMonitor extends CamelCommand { showKillConfirm = true; return true; } - // Overview tab: F2 opens actions menu - if (tab == TAB_OVERVIEW && ke.isKey(KeyCode.F2)) { - actionsPopup.open(); - return true; - } - // Delegate remaining keys to active tab if (activeTab != null && activeTab.handleKeyEvent(ke)) { return true; @@ -1571,6 +1571,11 @@ public class CamelMonitor extends CamelCommand { if (tab != null) { tab.renderFooter(spans); + // Insert F2 after the first hint (Esc) — each hint is 2 spans (key + label) + int insertPos = Math.min(2, spans.size()); + List<Span> f2Spans = new ArrayList<>(); + hint(f2Spans, "F2", "actions"); + spans.addAll(insertPos, f2Spans); } else { renderOverviewFooter(spans); }
