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 653589ddd69b chore: remove duplicate key hints from TUI popup borders
653589ddd69b is described below
commit 653589ddd69b66cb62a30446ba02a4fbe0c24564
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Jun 24 17:07:51 2026 +0200
chore: remove duplicate key hints from TUI popup borders
The key hints shown in the titleBottom of popup panels duplicated
the same hints already rendered in the outer footer bar. Remove the
panel-level hints to avoid the visual redundancy.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Signed-off-by: Claus Ibsen <[email protected]>
---
.../dsl/jbang/core/commands/tui/ActionsPopup.java | 30 ----------------------
.../dsl/jbang/core/commands/tui/DoctorPopup.java | 3 ---
.../dsl/jbang/core/commands/tui/McpLogPopup.java | 4 ---
.../jbang/core/commands/tui/RunOptionsForm.java | 24 -----------------
.../dsl/jbang/core/commands/tui/StopAllPopup.java | 5 ----
5 files changed, 66 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 c1b4f52444ab..de88e90a3301 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
@@ -845,12 +845,6 @@ class ActionsPopup {
.block(Block.builder()
.borderType(BorderType.ROUNDED)
.title(" Run an Example (" + exampleCatalog.size() +
") ")
- .titleBottom(Title.from(Line.from(
- Span.styled(" r",
MonitorContext.HINT_KEY_STYLE), Span.raw(" run │"),
- Span.styled(" Enter",
MonitorContext.HINT_KEY_STYLE), Span.raw(" run... │"),
- Span.styled(" d",
MonitorContext.HINT_KEY_STYLE), Span.raw(" docs │"),
- Span.styled(" ↑↓",
MonitorContext.HINT_KEY_STYLE), Span.raw(" navigate │"),
- Span.styled(" Esc",
MonitorContext.HINT_KEY_STYLE), Span.raw(" back "))))
.build())
.build();
frame.renderStatefulWidget(list, popup, exampleBrowserState);
@@ -917,9 +911,6 @@ class ActionsPopup {
Block block = Block.builder()
.borderType(BorderType.ROUNDED)
.title(title)
- .titleBottom(Title.from(Line.from(
- Span.styled(" ↑↓", MonitorContext.HINT_KEY_STYLE),
Span.raw(" scroll │"),
- Span.styled(" Esc", MonitorContext.HINT_KEY_STYLE),
Span.raw(" back "))))
.build();
if (docLines != null) {
frame.renderWidget(block, popup);
@@ -970,9 +961,6 @@ class ActionsPopup {
.block(Block.builder()
.borderType(BorderType.ROUNDED)
.title(" Show Integration Doc ")
- .titleBottom(Title.from(Line.from(
- Span.styled(" Enter",
MonitorContext.HINT_KEY_STYLE), Span.raw(" view │"),
- Span.styled(" Esc",
MonitorContext.HINT_KEY_STYLE), Span.raw(" back "))))
.build())
.build();
frame.renderStatefulWidget(list, popup, docPickerState);
@@ -1341,20 +1329,9 @@ class ActionsPopup {
frame.renderWidget(Clear.INSTANCE, popup);
- List<Span> bottomSpans = new ArrayList<>();
- if (!folderHistory.isEmpty()) {
- bottomSpans.add(Span.styled(" ↑↓", MonitorContext.HINT_KEY_STYLE));
- bottomSpans.add(Span.raw(" history │"));
- }
- bottomSpans.add(Span.styled(" Enter", MonitorContext.HINT_KEY_STYLE));
- bottomSpans.add(Span.raw(" run... │"));
- bottomSpans.add(Span.styled(" Esc", MonitorContext.HINT_KEY_STYLE));
- bottomSpans.add(Span.raw(" back "));
-
Block block = Block.builder()
.borderType(BorderType.ROUNDED)
.title(" Run from folder ")
- .titleBottom(Title.from(Line.from(bottomSpans)))
.build();
frame.renderWidget(block, popup);
Rect inner = block.inner(popup);
@@ -1806,10 +1783,6 @@ class ActionsPopup {
.block(Block.builder()
.borderType(BorderType.ROUNDED)
.title(" Run Dev/Infra Service (" + available + "/" +
infraCatalog.size() + ") ")
- .titleBottom(Title.from(Line.from(
- Span.styled(" Enter",
MonitorContext.HINT_KEY_STYLE), Span.raw(" select │"),
- Span.styled(" ↑↓",
MonitorContext.HINT_KEY_STYLE), Span.raw(" navigate │"),
- Span.styled(" Esc",
MonitorContext.HINT_KEY_STYLE), Span.raw(" back "))))
.build())
.build();
frame.renderStatefulWidget(list, popup, infraBrowserState);
@@ -1833,9 +1806,6 @@ class ActionsPopup {
Block block = Block.builder()
.borderType(BorderType.ROUNDED)
.title(" Run " + selectedInfraService.alias + " ")
- .titleBottom(Title.from(Line.from(
- Span.styled(" Enter", MonitorContext.HINT_KEY_STYLE),
Span.raw(" run │"),
- Span.styled(" Esc", MonitorContext.HINT_KEY_STYLE),
Span.raw(" back "))))
.build();
frame.renderWidget(block, popup);
Rect inner = block.inner(popup);
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DoctorPopup.java
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DoctorPopup.java
index 865ff567dd89..af7bfc00d985 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DoctorPopup.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DoctorPopup.java
@@ -33,7 +33,6 @@ import dev.tamboui.tui.event.KeyEvent;
import dev.tamboui.widgets.Clear;
import dev.tamboui.widgets.block.Block;
import dev.tamboui.widgets.block.BorderType;
-import dev.tamboui.widgets.block.Title;
import dev.tamboui.widgets.paragraph.Paragraph;
import org.apache.camel.catalog.CamelCatalog;
import org.apache.camel.catalog.DefaultCamelCatalog;
@@ -94,8 +93,6 @@ class DoctorPopup {
.block(Block.builder()
.borderType(BorderType.ROUNDED)
.title(" 🩺 Doctor ")
- .titleBottom(Title.from(Line.from(
- Span.styled(" Esc",
MonitorContext.HINT_KEY_STYLE), Span.raw(" back "))))
.build())
.build();
frame.renderWidget(para, popup);
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java
index def5d1c5f3d4..87a4db9ed9d7 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/McpLogPopup.java
@@ -181,10 +181,6 @@ class McpLogPopup {
Block detailBlock = Block.builder()
.borderType(BorderType.ROUNDED)
.title(" Detail ")
- .titleBottom(Title.from(Line.from(
- Span.styled(" ↑↓", MonitorContext.HINT_KEY_STYLE),
Span.raw(" select │"),
- Span.styled(" PgUp/Dn",
MonitorContext.HINT_KEY_STYLE), Span.raw(" scroll │"),
- Span.styled(" Esc", MonitorContext.HINT_KEY_STYLE),
Span.raw(" back "))))
.build();
frame.renderWidget(detailBlock, area);
Rect inner = detailBlock.inner(area);
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RunOptionsForm.java
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RunOptionsForm.java
index 2331f15640a8..aaa80a1906f4 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RunOptionsForm.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RunOptionsForm.java
@@ -29,7 +29,6 @@ import dev.tamboui.tui.event.KeyEvent;
import dev.tamboui.widgets.Clear;
import dev.tamboui.widgets.block.Block;
import dev.tamboui.widgets.block.BorderType;
-import dev.tamboui.widgets.block.Title;
import dev.tamboui.widgets.input.TextInput;
import dev.tamboui.widgets.input.TextInputState;
import dev.tamboui.widgets.paragraph.Paragraph;
@@ -414,26 +413,9 @@ class RunOptionsForm {
title += " ";
}
- List<Span> bottomSpans = new ArrayList<>();
- bottomSpans.add(Span.styled(" Tab", MonitorContext.HINT_KEY_STYLE));
- bottomSpans.add(Span.raw(" next"));
- if (hasProperties()) {
- bottomSpans.add(Span.raw(" │"));
- bottomSpans.add(Span.styled(" →", MonitorContext.HINT_KEY_STYLE));
- bottomSpans.add(Span.raw(" properties"));
- }
- bottomSpans.add(Span.raw(" │"));
- bottomSpans.add(Span.styled(" Space", MonitorContext.HINT_KEY_STYLE));
- bottomSpans.add(Span.raw(" toggle │"));
- bottomSpans.add(Span.styled(" Enter", MonitorContext.HINT_KEY_STYLE));
- bottomSpans.add(Span.raw(" launch │"));
- bottomSpans.add(Span.styled(" Esc", MonitorContext.HINT_KEY_STYLE));
- bottomSpans.add(Span.raw(" back "));
-
Block block = Block.builder()
.borderType(BorderType.ROUNDED)
.title(title)
- .titleBottom(Title.from(Line.from(bottomSpans)))
.build();
frame.renderWidget(block, popup);
@@ -496,12 +478,6 @@ class RunOptionsForm {
Block block = Block.builder()
.borderType(BorderType.ROUNDED)
.title(" Run: " + exampleTitle + " — Properties (2/2) ")
- .titleBottom(Title.from(Line.from(
- Span.styled(" ←", MonitorContext.HINT_KEY_STYLE),
Span.raw(" options │"),
- Span.styled(" ↑↓", MonitorContext.HINT_KEY_STYLE),
Span.raw(" navigate │"),
- Span.styled(" +", MonitorContext.HINT_KEY_STYLE),
Span.raw(" add │"),
- Span.styled(" Enter", MonitorContext.HINT_KEY_STYLE),
Span.raw(" launch │"),
- Span.styled(" Esc", MonitorContext.HINT_KEY_STYLE),
Span.raw(" back "))))
.build();
frame.renderWidget(block, popup);
diff --git
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StopAllPopup.java
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StopAllPopup.java
index 377723feedff..5c71344557b0 100644
---
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StopAllPopup.java
+++
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StopAllPopup.java
@@ -31,7 +31,6 @@ import dev.tamboui.tui.event.KeyEvent;
import dev.tamboui.widgets.Clear;
import dev.tamboui.widgets.block.Block;
import dev.tamboui.widgets.block.BorderType;
-import dev.tamboui.widgets.block.Title;
import dev.tamboui.widgets.paragraph.Paragraph;
import org.apache.camel.dsl.jbang.core.common.CommandLineHelper;
import org.apache.camel.dsl.jbang.core.common.PathUtils;
@@ -159,10 +158,6 @@ class StopAllPopup {
.block(Block.builder()
.borderType(BorderType.ROUNDED)
.title(" 🛑 Stop All ")
- .titleBottom(Title.from(Line.from(
- Span.styled(" Space",
MonitorContext.HINT_KEY_STYLE), Span.raw(" toggle │"),
- Span.styled(" Enter",
MonitorContext.HINT_KEY_STYLE), Span.raw(" confirm │"),
- Span.styled(" Esc",
MonitorContext.HINT_KEY_STYLE), Span.raw(" cancel "))))
.build())
.build();
frame.renderWidget(para, popup);