Compare commits

..

2 Commits

Author SHA1 Message Date
825f7d55f2 AX Agent 상단 헤더 밀도 추가 축소
Some checks failed
Release Gate / gate (push) Has been cancelled
- 상단 탭 버튼과 탭 그룹 래퍼의 폰트, 패딩, 코너를 더 줄여 claw-code 쪽 밀도로 정리

- 제목 서브 바, 대화 제목, 빠른 스트립, 프리뷰 토글 규격을 함께 낮춰 상단 보조 정보 존재감을 축소

- README와 DEVELOPMENT 문서에 2026-04-05 17:45 (KST) 기준 이력 반영

- 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0 / 오류 0)
2026-04-05 15:31:25 +09:00
abd33eb5df AX Agent 실행 타임라인 배너 밀도 추가 축소
- 일반 실행 배너의 아이콘, 라벨, 경과 시간, 토큰 pill, 요약, 파일 경로 표시를 더 얇게 정리

- review 신호 칩은 debug 로그에서만 보이게 제한해 평소 Cowork/Code 본문 흐름을 단순화

- README와 DEVELOPMENT 문서에 2026-04-05 17:39 (KST) 기준 이력 반영

- 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0 / 오류 0)
2026-04-05 15:28:33 +09:00
4 changed files with 58 additions and 44 deletions

View File

@@ -821,6 +821,12 @@ ow + toggle 시각 언어로 통일했습니다.
- 메시지 자체 메타와 완료 카드 문구도 더 `claw-code` 쪽으로 눌렀습니다. [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs)의 `AddMessageBubble(...)` 에서 사용자/assistant 버블 패딩, 코너, 폰트, 타임스탬프, assistant 헤더 아이콘/이름 크기를 한 단계 더 낮춰 본문 텍스트가 더 먼저 읽히도록 조정했습니다.
- 작업 요약 팝업의 완료 카드도 `실행 run`, `최근 실패`, `최근 실행`, `로그`, `파일`, `후속 큐`, `다시 시도`, `타임라인`처럼 더 짧은 문구로 정리했고, run/step 메타와 요약 텍스트 폰트도 함께 낮춰 정보 밀도를 더 가볍게 맞췄습니다.
- 업데이트: 2026-04-05 17:33 (KST)
- Cowork/Code 실행 타임라인 배너도 더 `claw-code`처럼 얇게 줄였습니다. [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs)의 `AddAgentEventBanner(...)` 에서 일반 실행 배너의 좌우 마진, 아이콘/라벨, 경과 시간, 토큰 pill, 요약 텍스트, 파일 경로 행을 한 단계 더 축소했고, 상세 review 칩은 `debug` 로그일 때만 보이게 제한했습니다.
- 이 조정으로 평소 Cowork/Code에서는 실행 이벤트가 더 짧은 한 줄 요약 중심으로 보이고, debug 정보는 필요할 때만 확장되도록 정리됐습니다.
- 업데이트: 2026-04-05 17:39 (KST)
- 상단 헤더도 더 `claw-code` 쪽 밀도로 줄였습니다. [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml) 에서 상단 탭 버튼의 폰트/패딩/코너를 다시 낮추고, 탭 그룹 래퍼와 제목 서브 바의 높이와 패딩도 함께 줄였습니다.
- 같은 변경에서 대화 제목 폰트와 최대 폭, 빠른 스트립 버튼 규격, 프리뷰 토글 크기와 라벨도 더 작게 조정해 상단 보조 정보가 본문보다 덜 튀게 정리했습니다.
- 업데이트: 2026-04-05 17:45 (KST)
- 좌측 패널과 하단 바도 `claw-code` 쪽 밀도로 다시 맞췄습니다. [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml) 에서 사이드바 폭을 줄이고, 헤더 앱 배지를 강조색 채운 정사각형 대신 `HintBackground + BorderColor` 기반의 작은 배지형으로 바꿨습니다.
- `새 대화`, `검색`, `작업 유형/워크스페이스`, 하단 사용자 영역, 삭제 영역까지 패딩과 폰트, 아이콘 크기를 함께 낮췄고, 하단 상태바는 다이아몬드 아이콘을 작은 원형 점으로 바꿔 더 단순한 상태선처럼 보이게 정리했습니다.
- 실행 로그 배너도 본문 침범을 더 줄였습니다. [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs)의 `AddAgentEventBanner(...)` 에서 debug 전용 `ToolInput` 카드 길이를 더 짧게 줄였고, `FilePath`는 일반 로그에서는 빠른 액션이 붙은 카드형 대신 파일명 한 줄만 약하게 표시하도록 바꿨습니다.

View File

@@ -4596,3 +4596,11 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
- 작업 요약 팝업의 완료 카드도 `실행 run`, `최근 실패`, `최근 실행`, `로그`, `파일`, `후속 큐`, `다시 시도`, `타임라인`처럼 더 짧은 라벨로 바꾸고, run/step 메타와 요약 텍스트 폰트도 함께 낮춰 전체 밀도를 더 가볍게 정리했습니다.
- 검증 예정: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify\ -p:IntermediateOutputPath=obj\verify\`
- 업데이트: 2026-04-05 17:33 (KST)
- Cowork/Code 실행 타임라인 배너도 더 얇게 줄였습니다. [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs)의 `AddAgentEventBanner(...)` 에서 일반 실행 배너의 좌우 마진, 아이콘/라벨, 경과 시간, 토큰 pill, 요약 텍스트, 파일 경로 행을 한 단계 더 축소했고, review 신호 칩은 `debug` 로그에서만 보이게 제한했습니다.
- 이제 평소 Cowork/Code에서는 실행 이벤트가 짧은 한 줄 요약 중심으로 보이고, 상세 진단 정보는 debug 수준일 때만 더 붙습니다.
- 검증 예정: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify\ -p:IntermediateOutputPath=obj\verify\`
- 업데이트: 2026-04-05 17:39 (KST)
- 상단 헤더도 더 `claw-code` 밀도로 줄였습니다. [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml) 에서 상단 탭 버튼 폰트/패딩/코너를 다시 낮추고, 탭 그룹 래퍼와 제목 서브 바 높이·패딩도 함께 줄였습니다.
- 대화 제목 폰트와 최대 폭, 빠른 스트립 버튼 규격, 프리뷰 토글 크기와 라벨도 더 작게 조정해 상단 보조 정보가 본문보다 덜 튀게 정리했습니다.
- 검증 예정: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify\ -p:IntermediateOutputPath=obj\verify\`
- 업데이트: 2026-04-05 17:45 (KST)

View File

@@ -174,15 +174,15 @@
<!-- 탭 버튼 -->
<Style x:Key="TopTabBtn" TargetType="RadioButton">
<Setter Property="Foreground" Value="{DynamicResource SecondaryText}"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="FontSize" Value="11.5"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Padding" Value="16,5"/>
<Setter Property="Padding" Value="14,4"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Border x:Name="Bd" Background="Transparent"
CornerRadius="7" Padding="{TemplateBinding Padding}">
CornerRadius="6" Padding="{TemplateBinding Padding}">
<ContentPresenter x:Name="Cp" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
@@ -837,7 +837,7 @@
<!-- ══════════════════════════════════════════════════════ -->
<Grid Grid.Column="2">
<Grid.RowDefinitions>
<RowDefinition Height="48"/>
<RowDefinition Height="46"/>
<RowDefinition Height="Auto"/> <!-- 서브 바: 제목 + 프리뷰 -->
<RowDefinition Height="Auto"/> <!-- 스티키 진행률 바 -->
<RowDefinition Height="*"/>
@@ -849,24 +849,24 @@
<!-- ── 서브 바: 제목 + 프리뷰 버튼 (AX Agent 스타일) ── -->
<Border Grid.Row="1" Background="{DynamicResource LauncherBackground}"
BorderBrush="{DynamicResource SeparatorColor}" BorderThickness="0,0,0,1"
Padding="12,4,12,4">
Padding="10,3,10,3">
<Grid>
<!-- 좌: 대화 제목 -->
<StackPanel Orientation="Vertical" HorizontalAlignment="Left" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<Grid VerticalAlignment="Center">
<TextBlock x:Name="ChatTitle" Text="" FontSize="13" FontWeight="SemiBold"
<TextBlock x:Name="ChatTitle" Text="" FontSize="12.25" FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"
VerticalAlignment="Center" TextTrimming="CharacterEllipsis"
MaxWidth="400" Cursor="Hand"
MaxWidth="360" Cursor="Hand"
MouseLeftButtonDown="ChatTitle_MouseDown"
ToolTip="클릭하여 대화 이름 변경"/>
<TextBox x:Name="ChatTitleEdit" FontSize="13"
<TextBox x:Name="ChatTitleEdit" FontSize="12.25"
Foreground="{DynamicResource PrimaryText}"
Background="{DynamicResource HintBackground}"
CaretBrush="{DynamicResource AccentColor}"
BorderThickness="0" Padding="4,2"
MaxWidth="400" MinWidth="80"
BorderThickness="0" Padding="3,1.5"
MaxWidth="360" MinWidth="80"
Visibility="Collapsed"
LostFocus="ChatTitleEdit_LostFocus"
KeyDown="ChatTitleEdit_KeyDown"/>
@@ -885,18 +885,18 @@
<WrapPanel x:Name="ConversationQuickStrip" Visibility="Collapsed"
Margin="0,1,0,0">
<Button x:Name="BtnQuickRunningFilter" Style="{StaticResource GhostBtn}"
Padding="5,1" Margin="0,0,3,0"
Padding="4.5,1" Margin="0,0,3,0"
Click="BtnQuickRunningFilter_Click"
Visibility="Collapsed"
IsEnabled="False">
<TextBlock x:Name="QuickRunningLabel" Text="진행"
FontSize="8.5" FontWeight="SemiBold"/>
FontSize="8.25" FontWeight="SemiBold"/>
</Button>
<Button x:Name="BtnQuickHotSort" Style="{StaticResource GhostBtn}"
Padding="5.5,1"
Padding="4.75,1"
Click="BtnQuickHotSort_Click">
<TextBlock x:Name="QuickHotLabel" Text="활동"
FontSize="8.75" FontWeight="SemiBold"/>
FontSize="8.4" FontWeight="SemiBold"/>
</Button>
</WrapPanel>
</StackPanel>
@@ -904,11 +904,11 @@
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
<Button x:Name="BtnPreviewToggle" Style="{StaticResource GhostBtn}"
Click="BtnPreviewToggle_Click" ToolTip="미리보기 패널" Visibility="Collapsed"
Padding="8,4">
Padding="5,2.5" MinWidth="0">
<StackPanel Orientation="Horizontal">
<Ellipse x:Name="PreviewDot" Width="6" Height="6" Fill="#22C55E"
Margin="0,0,5,0" VerticalAlignment="Center"/>
<TextBlock Text="미리보기" FontSize="12"
<Ellipse x:Name="PreviewDot" Width="5" Height="5" Fill="#22C55E"
Margin="0,0,4,0" VerticalAlignment="Center"/>
<TextBlock Text="프리뷰" FontSize="10.5"
Foreground="{DynamicResource PrimaryText}"
VerticalAlignment="Center"/>
</StackPanel>
@@ -1095,7 +1095,7 @@
<Border Grid.Column="1"
HorizontalAlignment="Center" VerticalAlignment="Center"
Background="{DynamicResource HintBackground}"
CornerRadius="10" Padding="3"
CornerRadius="9" Padding="2.5"
WindowChrome.IsHitTestVisibleInChrome="True">
<StackPanel Orientation="Horizontal">
<RadioButton x:Name="TabChat" Content="Chat" Style="{StaticResource TopTabBtn}"

View File

@@ -10357,7 +10357,7 @@ public partial class ChatWindow : Window
BorderThickness = new Thickness(0),
CornerRadius = new CornerRadius(0),
Padding = new Thickness(0),
Margin = new Thickness(14, 1, 14, 1),
Margin = new Thickness(12, 1, 12, 1),
HorizontalAlignment = HorizontalAlignment.Stretch,
};
if (!string.IsNullOrWhiteSpace(evt.RunId))
@@ -10376,15 +10376,15 @@ public partial class ChatWindow : Window
{
Text = icon,
FontFamily = new FontFamily("Segoe MDL2 Assets"),
FontSize = 9.5,
FontSize = 8.75,
Foreground = accentBrush,
VerticalAlignment = VerticalAlignment.Center,
Margin = new Thickness(0, 0, 4, 0),
Margin = new Thickness(0, 0, 3, 0),
});
headerLeft.Children.Add(new TextBlock
{
Text = label,
FontSize = 9.5,
FontSize = 8.75,
FontWeight = FontWeights.Medium,
Foreground = secondaryText,
VerticalAlignment = VerticalAlignment.Center,
@@ -10398,10 +10398,10 @@ public partial class ChatWindow : Window
headerRight.Children.Add(new TextBlock
{
Text = evt.ElapsedMs < 1000 ? $"{evt.ElapsedMs}ms" : $"{evt.ElapsedMs / 1000.0:F1}s",
FontSize = 8.5,
FontSize = 8,
Foreground = secondaryText,
VerticalAlignment = VerticalAlignment.Center,
Margin = new Thickness(4, 0, 0, 0),
Margin = new Thickness(3, 0, 0, 0),
});
}
if (logLevel != "simple" && (evt.InputTokens > 0 || evt.OutputTokens > 0))
@@ -10415,13 +10415,13 @@ public partial class ChatWindow : Window
BorderBrush = borderColor,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(999),
Padding = new Thickness(4, 1, 4, 1),
Margin = new Thickness(4, 0, 0, 0),
Padding = new Thickness(3.5, 1, 3.5, 1),
Margin = new Thickness(3, 0, 0, 0),
VerticalAlignment = VerticalAlignment.Center,
Child = new TextBlock
{
Text = tokenText,
FontSize = 8,
FontSize = 7.5,
Foreground = secondaryText,
FontFamily = new FontFamily("Consolas"),
},
@@ -10448,25 +10448,25 @@ public partial class ChatWindow : Window
sp.Children.Add(new TextBlock
{
Text = shortSummary,
FontSize = 9.5,
FontSize = 8.9,
Foreground = secondaryText,
TextWrapping = TextWrapping.NoWrap,
TextTrimming = TextTrimming.CharacterEllipsis,
Margin = new Thickness(13, 1, 0, 0),
Margin = new Thickness(12, 1, 0, 0),
});
}
}
// detailed/debug 모드: 실행 줄 아래에 얕은 설명만 표시
else if (!string.IsNullOrEmpty(evt.Summary))
{
var summaryText = evt.Summary.Length > 180 ? evt.Summary[..180] + "…" : evt.Summary;
var summaryText = evt.Summary.Length > 120 ? evt.Summary[..120] + "…" : evt.Summary;
sp.Children.Add(new TextBlock
{
Text = summaryText,
FontSize = 9.5,
FontSize = 8.9,
Foreground = secondaryText,
TextWrapping = TextWrapping.Wrap,
Margin = new Thickness(13, 1, 0, 0),
Margin = new Thickness(12, 1, 0, 0),
});
}
@@ -10475,9 +10475,9 @@ public partial class ChatWindow : Window
toolName: evt.ToolName,
title: label,
summary: evt.Summary);
if (reviewChipRow != null)
if (reviewChipRow != null && string.Equals(logLevel, "debug", StringComparison.OrdinalIgnoreCase))
{
reviewChipRow.Margin = new Thickness(13, 2, 0, 0);
reviewChipRow.Margin = new Thickness(12, 2, 0, 0);
sp.Children.Add(reviewChipRow);
}
@@ -10490,12 +10490,12 @@ public partial class ChatWindow : Window
BorderBrush = borderColor,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(8),
Padding = new Thickness(6, 3, 6, 3),
Margin = new Thickness(13, 2, 0, 0),
Padding = new Thickness(5, 3, 5, 3),
Margin = new Thickness(12, 2, 0, 0),
Child = new TextBlock
{
Text = evt.ToolInput.Length > 240 ? evt.ToolInput[..240] + "…" : evt.ToolInput,
FontSize = 9,
FontSize = 8.5,
Foreground = secondaryText,
FontFamily = new FontFamily("Consolas"),
TextWrapping = TextWrapping.Wrap,
@@ -10515,22 +10515,22 @@ public partial class ChatWindow : Window
var compactPathRow = new StackPanel
{
Orientation = Orientation.Horizontal,
Margin = new Thickness(13, 2, 0, 0),
Margin = new Thickness(12, 1.5, 0, 0),
ToolTip = evt.FilePath,
};
compactPathRow.Children.Add(new TextBlock
{
Text = "\uE8B7",
FontFamily = new FontFamily("Segoe MDL2 Assets"),
FontSize = 8.5,
FontSize = 8,
Foreground = secondaryText,
VerticalAlignment = VerticalAlignment.Center,
Margin = new Thickness(0, 0, 4, 0),
Margin = new Thickness(0, 0, 3, 0),
});
compactPathRow.Children.Add(new TextBlock
{
Text = string.IsNullOrWhiteSpace(fileName) ? evt.FilePath : fileName,
FontSize = 9,
FontSize = 8.5,
Foreground = secondaryText,
VerticalAlignment = VerticalAlignment.Center,
TextTrimming = TextTrimming.CharacterEllipsis,
@@ -10545,8 +10545,8 @@ public partial class ChatWindow : Window
BorderBrush = borderColor,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(8),
Padding = new Thickness(8, 5, 8, 5),
Margin = new Thickness(15, 3, 0, 0),
Padding = new Thickness(7, 4, 7, 4),
Margin = new Thickness(12, 2, 0, 0),
};
var pathGrid = new Grid();