Files
ClaudeDo/src/ClaudeDo.Ui/Views/InteractiveTerminalView.axaml
T
mika kuns 23491d3b49 feat(ui): Einfuegen und Datei-Drop im interaktiven Terminal
Ctrl+V wurde von TerminalControl als rohes Control-Byte an das Kind
weitergegeben und tat nichts; jetzt wird es im Tunnel abgefangen und geht
ueber TerminalView.PasteAsync, damit Bracketed Paste greift und ein
mehrzeiliger Paste nicht auf der ersten Zeile abschickt. Gedroppte Dateien
werden als Pfade in den Composer getippt, ohne Enter.
2026-09-07 08:17:37 +02:00

28 lines
1.5 KiB
XML

<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:ClaudeDo.Ui.ViewModels"
xmlns:term="using:Iciclecreek.Terminal"
x:Class="ClaudeDo.Ui.Views.InteractiveTerminalView"
x:DataType="vm:InteractiveTerminalViewModel"
x:Name="Root"
DragDrop.AllowDrop="True">
<!--
Process="" suppresses TerminalView.OnLoaded's built-in auto-launch (it otherwise spawns its
own cmd.exe/bash the moment this control loads). PtyTerminalSession sets Process/Args/
StartingDirectory to our real target and calls TerminalControl.LaunchProcess() exactly once,
once the view model's descriptor is known (see AttachControl/Start).
-->
<!--
Font + BufferSize match the working spike. The control derives Cols/Rows from
(arranged size / character cell size), so an explicit monospace font is what keeps that
calculation correct; without it the terminal miscomputes its size and the child TUI renders
into the wrong area. Stretch so the pane's full size reaches the control's Arrange pass.
-->
<term:TerminalControl x:Name="TerminalHost" Process=""
FontFamily="Cascadia Mono,Consolas,monospace"
FontSize="14"
BufferSize="2000"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" />
</UserControl>