Bug
CliHost.RunWithTerminalGuiAsync always creates a full-screen IApplication regardless of command.Kind. Input clets (CommandKind.Input) are specified to render inline by default (see clet spec §4.5: "Input clets render inline. Viewer clets render fullscreen. --fullscreen forces fullscreen for input clets").
After the port to Terminal.Gui.Cli, running e.g. clet select --options "foo, bar" goes full-screen instead of rendering inline beneath the cursor.
Root cause
CliHost.cs line ~170:
private async Task<CommandResult> RunWithTerminalGuiAsync (ICliCommand command, CommandRunOptions runOptions,
CancellationToken cancellationToken)
{
using IApplication app = Application.Create ().Init ();
return await command.RunAsync (app, runOptions.Initial, runOptions, cancellationToken);
}
This never checks command.Kind or runOptions.Fullscreen. It should set Application.AppModel before calling Application.Create() based on:
command.Kind == CommandKind.Viewer → AppModel.FullScreen
command.Kind == CommandKind.Input and runOptions.Fullscreen == true → AppModel.FullScreen
command.Kind == CommandKind.Input and runOptions.Fullscreen == false → AppModel.Inline
Expected fix
Something like:
private async Task<CommandResult> RunWithTerminalGuiAsync (ICliCommand command, CommandRunOptions runOptions,
CancellationToken cancellationToken)
{
bool useInline = command.Kind == CommandKind.Input && !runOptions.Fullscreen;
Application.AppModel = useInline ? AppModel.Inline : AppModel.FullScreen;
using IApplication app = Application.Create ().Init ();
return await command.RunAsync (app, runOptions.Initial, runOptions, cancellationToken);
}
Impact
All 14 input clets in gui-cs/clet regressed to full-screen rendering after the Terminal.Gui.Cli port. This is a v0.5 blocking issue per the spec milestones ("inline rendering verified on four-terminal matrix").
Repro
clet select --options "foo, bar"
# Expected: inline prompt below cursor (like fzf --height or gum choose)
# Actual: full-screen TUI
Bug
CliHost.RunWithTerminalGuiAsyncalways creates a full-screenIApplicationregardless ofcommand.Kind. Input clets (CommandKind.Input) are specified to render inline by default (see clet spec §4.5: "Input clets render inline. Viewer clets render fullscreen.--fullscreenforces fullscreen for input clets").After the port to
Terminal.Gui.Cli, running e.g.clet select --options "foo, bar"goes full-screen instead of rendering inline beneath the cursor.Root cause
CliHost.csline ~170:This never checks
command.KindorrunOptions.Fullscreen. It should setApplication.AppModelbefore callingApplication.Create()based on:command.Kind == CommandKind.Viewer→AppModel.FullScreencommand.Kind == CommandKind.InputandrunOptions.Fullscreen == true→AppModel.FullScreencommand.Kind == CommandKind.InputandrunOptions.Fullscreen == false→AppModel.InlineExpected fix
Something like:
Impact
All 14 input clets in
gui-cs/cletregressed to full-screen rendering after theTerminal.Gui.Cliport. This is a v0.5 blocking issue per the spec milestones ("inline rendering verified on four-terminal matrix").Repro