- Introduce .list-count style for sidebar badges (brighter on active row). - Bind list header More button to the correct OpenSettingsCommand. - Give the per-list gear the standard icon-btn look. - Center-align kbd chip content and title-bar/icon button content. - Drop the kind-marker column in SessionTerminal and always show the scrollbar so the terminal feels like one.
867 lines
42 KiB
XML
867 lines
42 KiB
XML
<!--
|
||
ClaudeDo component styles for Avalonia.
|
||
Depends on Tokens.axaml being merged first.
|
||
|
||
How to use each style:
|
||
<Border Classes="island"> — floating island container
|
||
<Border Classes="chip running"> — status chip
|
||
<Button Classes="icon-btn"> — 24×24 icon button
|
||
<Button Classes="btn primary"> — rounded-rect button
|
||
<TextBlock Classes="eyebrow"> — uppercase mono label
|
||
<Border Classes="agent-strip running"> — agent status strip
|
||
<Border Classes="terminal"> — terminal/log window
|
||
-->
|
||
<Styles xmlns="https://github.com/avaloniaui"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- ICON GEOMETRY RESOURCES -->
|
||
<!-- ============================================================ -->
|
||
<Styles.Resources>
|
||
<!-- Window control icons — filled geometries (PathIcon fills, not strokes) -->
|
||
<StreamGeometry x:Key="Icon.WinMin">M4 9 H16 V11 H4 Z</StreamGeometry>
|
||
<StreamGeometry x:Key="Icon.WinMax">M4 4 H16 V6 H4 Z M4 14 H16 V16 H4 Z M4 4 H6 V16 H4 Z M14 4 H16 V16 H14 Z</StreamGeometry>
|
||
<StreamGeometry x:Key="Icon.WinClose">M4 5 L5 4 L16 15 L15 16 Z M15 4 L16 5 L5 16 L4 15 Z</StreamGeometry>
|
||
<!-- Brand check glyph — filled rounded square with inset tick -->
|
||
<StreamGeometry x:Key="Icon.BrandCheck">M3 3 H21 V21 H3 Z M6 12 L7 11 L10 14 L17 7 L18 8 L10 16 Z</StreamGeometry>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- Icons — central icon library (Phase B) -->
|
||
<!-- All d-strings sourced from icons.jsx -->
|
||
<!-- ============================================================ -->
|
||
|
||
<!-- Icon.Sun -->
|
||
<StreamGeometry x:Key="Icon.Sun">M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8z M12 3v2M12 19v2M3 12h2M19 12h2M5.5 5.5l1.4 1.4M17.1 17.1l1.4 1.4M5.5 18.5l1.4-1.4M17.1 6.9l1.4-1.4</StreamGeometry>
|
||
|
||
<!-- Icon.Activity (pulse waveform) -->
|
||
<StreamGeometry x:Key="Icon.Activity">M3 12h4l2-6 4 12 2-8 2 2h4</StreamGeometry>
|
||
|
||
<!-- Icon.Star -->
|
||
<StreamGeometry x:Key="Icon.Star">M12 3.5l2.6 5.3 5.8.8-4.2 4.1 1 5.8-5.2-2.7-5.2 2.7 1-5.8-4.2-4.1 5.8-.8z</StreamGeometry>
|
||
|
||
<!-- Icon.Calendar -->
|
||
<StreamGeometry x:Key="Icon.Calendar">M3.5 5a2 2 0 0 1 2-2h13a2 2 0 0 1 2 2v15a2 2 0 0 1-2 2h-13a2 2 0 0 1-2-2z M3.5 10h17M8 3v4M16 3v4</StreamGeometry>
|
||
|
||
<!-- Icon.Eye -->
|
||
<StreamGeometry x:Key="Icon.Eye">M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z M12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6z</StreamGeometry>
|
||
|
||
<!-- Icon.Inbox -->
|
||
<StreamGeometry x:Key="Icon.Inbox">M3 13h5l1 2h6l1-2h5M3 13l3-8h12l3 8v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z</StreamGeometry>
|
||
|
||
<!-- Icon.Folder -->
|
||
<StreamGeometry x:Key="Icon.Folder">M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z</StreamGeometry>
|
||
|
||
<!-- Icon.Search -->
|
||
<StreamGeometry x:Key="Icon.Search">M11 4a7 7 0 1 0 0 14A7 7 0 0 0 11 4z M20 20l-3.5-3.5</StreamGeometry>
|
||
|
||
<!-- Icon.Plus -->
|
||
<StreamGeometry x:Key="Icon.Plus">M12 5v14M5 12h14</StreamGeometry>
|
||
|
||
<!-- Icon.MoreHorizontal (three filled dots) — uses fill so rendered via PathIcon with fill brush -->
|
||
<StreamGeometry x:Key="Icon.MoreHorizontal">M5 12m-1.3 0a1.3 1.3 0 1 0 2.6 0 1.3 1.3 0 1 0-2.6 0 M12 12m-1.3 0a1.3 1.3 0 1 0 2.6 0 1.3 1.3 0 1 0-2.6 0 M19 12m-1.3 0a1.3 1.3 0 1 0 2.6 0 1.3 1.3 0 1 0-2.6 0</StreamGeometry>
|
||
|
||
<!-- Icon.GitBranch -->
|
||
<StreamGeometry x:Key="Icon.GitBranch">M6 3a2 2 0 1 0 0 4 2 2 0 0 0 0-4z M6 19a2 2 0 1 0 0 4 2 2 0 0 0 0-4z M18 5a2 2 0 1 0 0 4 2 2 0 0 0 0-4z M6 7v10M6 13c0-4 12-2 12-4</StreamGeometry>
|
||
|
||
<!-- Icon.Copy -->
|
||
<StreamGeometry x:Key="Icon.Copy">M8 8h12a1.5 1.5 0 0 1 1.5 1.5v12A1.5 1.5 0 0 1 20 23H8a1.5 1.5 0 0 1-1.5-1.5v-12A1.5 1.5 0 0 1 8 8z M16 8V5a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h3</StreamGeometry>
|
||
|
||
<!-- Icon.Trash -->
|
||
<StreamGeometry x:Key="Icon.Trash">M4 7h16M10 11v6M14 11v6M5 7l1 13a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1l1-13M9 7V4h6v3</StreamGeometry>
|
||
|
||
<!-- Icon.Sort -->
|
||
<StreamGeometry x:Key="Icon.Sort">M7 4v16M7 20l-3-3M7 4l-3 3M14 8h7M14 12h5M14 16h3</StreamGeometry>
|
||
|
||
<!-- Icon.X -->
|
||
<StreamGeometry x:Key="Icon.X">M6 6l12 12M18 6L6 18</StreamGeometry>
|
||
|
||
<!-- Icon.Check -->
|
||
<StreamGeometry x:Key="Icon.Check">M4 12l5 5 11-11</StreamGeometry>
|
||
|
||
<!-- Icon.ArrowOut — filled arrow for "open external" button -->
|
||
<StreamGeometry x:Key="Icon.ArrowOut">M13 4 H20 V11 H18 V7.4 L11.4 14 L10 12.6 L16.6 6 H13 Z M4 6 H10 V8 H6 V18 H16 V14 H18 V20 H4 Z</StreamGeometry>
|
||
|
||
</Styles.Resources>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- TITLE BAR CONTROLS -->
|
||
<!-- ============================================================ -->
|
||
|
||
<Style Selector="Button.title-ctrl">
|
||
<Setter Property="Width" Value="36" />
|
||
<Setter Property="Height" Value="36" />
|
||
<Setter Property="Padding" Value="0" />
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderThickness" Value="0" />
|
||
<Setter Property="CornerRadius" Value="0" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextMuteBrush}" />
|
||
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||
</Style>
|
||
<Style Selector="Button.title-ctrl:pointerover /template/ ContentPresenter">
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
<Setter Property="TextElement.Foreground" Value="{StaticResource TextBrush}" />
|
||
</Style>
|
||
<Style Selector="Button.title-ctrl.close:pointerover /template/ ContentPresenter">
|
||
<Setter Property="Background" Value="{StaticResource BloodBrush}" />
|
||
<Setter Property="TextElement.Foreground" Value="{StaticResource TextBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- ISLAND -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.island">
|
||
<Setter Property="Background" Value="{StaticResource IslandBackgroundBrush}" />
|
||
<Setter Property="BorderBrush" Value="#0DFFFFFF" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
<Setter Property="CornerRadius" Value="{StaticResource IslandCornerRadius}" />
|
||
<Setter Property="BoxShadow" Value="{StaticResource IslandShadow}" />
|
||
<Setter Property="ClipToBounds" Value="True" />
|
||
</Style>
|
||
|
||
<!-- Island header separator (apply on the header Border inside an island) -->
|
||
<Style Selector="Border.island-header">
|
||
<Setter Property="Padding" Value="{StaticResource IslandHeaderPadding}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
<Setter Property="BorderThickness" Value="0,0,0,1" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- CHIPS / BADGES -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.chip">
|
||
<Setter Property="CornerRadius" Value="{StaticResource ChipCornerRadius}" />
|
||
<Setter Property="Padding" Value="8,3" />
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
</Style>
|
||
<Style Selector="Border.chip > TextBlock">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="10" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextDimBrush}" />
|
||
</Style>
|
||
|
||
<!-- Status variants — tint background 12% alpha of the status hue -->
|
||
<Style Selector="Border.chip.running">
|
||
<Setter Property="Background" Value="#1F7C9166" />
|
||
<Setter Property="BorderBrush" Value="#4C7C9166" />
|
||
</Style>
|
||
<Style Selector="Border.chip.running > TextBlock">
|
||
<Setter Property="Foreground" Value="{StaticResource StatusRunningBrush}" />
|
||
</Style>
|
||
|
||
<Style Selector="Border.chip.review">
|
||
<Setter Property="Background" Value="#1FD4A574" />
|
||
<Setter Property="BorderBrush" Value="#4CD4A574" />
|
||
</Style>
|
||
<Style Selector="Border.chip.review > TextBlock">
|
||
<Setter Property="Foreground" Value="{StaticResource StatusReviewBrush}" />
|
||
</Style>
|
||
|
||
<Style Selector="Border.chip.error">
|
||
<Setter Property="Background" Value="#1FC87060" />
|
||
<Setter Property="BorderBrush" Value="#4CC87060" />
|
||
</Style>
|
||
<Style Selector="Border.chip.error > TextBlock">
|
||
<Setter Property="Foreground" Value="{StaticResource StatusErrorBrush}" />
|
||
</Style>
|
||
|
||
<!-- queued → Sage (#8B9D7A) -->
|
||
<Style Selector="Border.chip.queued">
|
||
<Setter Property="Background" Value="#1F8B9D7A" />
|
||
<Setter Property="BorderBrush" Value="#4C8B9D7A" />
|
||
</Style>
|
||
<Style Selector="Border.chip.queued > TextBlock">
|
||
<Setter Property="Foreground" Value="{StaticResource StatusQueuedBrush}" />
|
||
</Style>
|
||
|
||
<!-- idle → TextMute (#6B7973) -->
|
||
<Style Selector="Border.chip.idle">
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
</Style>
|
||
<Style Selector="Border.chip.idle > TextBlock">
|
||
<Setter Property="Foreground" Value="{StaticResource TextMuteBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- BUTTONS -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Button.btn">
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
<Setter Property="CornerRadius" Value="{StaticResource ButtonCornerRadius}" />
|
||
<Setter Property="Padding" Value="10,6" />
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="11" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextDimBrush}" />
|
||
<Setter Property="Transitions">
|
||
<Transitions>
|
||
<BrushTransition Property="Background" Duration="0:0:0.12" />
|
||
<BrushTransition Property="BorderBrush" Duration="0:0:0.12" />
|
||
</Transitions>
|
||
</Setter>
|
||
</Style>
|
||
<Style Selector="Button.btn:pointerover /template/ ContentPresenter">
|
||
<Setter Property="Background" Value="{StaticResource Surface3Brush}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrightBrush}" />
|
||
</Style>
|
||
<Style Selector="Button.btn.primary">
|
||
<Setter Property="Background" Value="{StaticResource AccentDimBrush}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource AccentBrush}" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
||
</Style>
|
||
|
||
<!-- Icon button: 24×24 square with hover surface -->
|
||
<Style Selector="Button.icon-btn">
|
||
<Setter Property="Width" Value="24" />
|
||
<Setter Property="Height" Value="24" />
|
||
<Setter Property="Padding" Value="0" />
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderThickness" Value="0" />
|
||
<Setter Property="CornerRadius" Value="6" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextMuteBrush}" />
|
||
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||
</Style>
|
||
<Style Selector="Button.icon-btn:pointerover /template/ ContentPresenter">
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
<Setter Property="TextElement.Foreground" Value="{StaticResource TextBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- INPUTS -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="TextBox.search">
|
||
<Setter Property="Background" Value="{StaticResource DeepBrush}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
<Setter Property="CornerRadius" Value="{StaticResource InputCornerRadius}" />
|
||
<Setter Property="Padding" Value="10,8" />
|
||
<Setter Property="FontSize" Value="13" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
||
<Setter Property="CaretBrush" Value="{StaticResource AccentBrush}" />
|
||
</Style>
|
||
<Style Selector="TextBox.search:focus /template/ Border#PART_BorderElement">
|
||
<Setter Property="BorderBrush" Value="{StaticResource AccentBrush}" />
|
||
<Setter Property="BoxShadow" Value="0 0 0 3 #387C9166" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- FLAT BUTTON — replaces the entire Button template with a -->
|
||
<!-- bare ContentPresenter so no Fluent chrome (bg / hover / -->
|
||
<!-- pressed) can render. Used to wrap TaskRowView for clicks. -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Button.flat">
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderBrush" Value="Transparent" />
|
||
<Setter Property="BorderThickness" Value="0" />
|
||
<Setter Property="Padding" Value="0" />
|
||
<Setter Property="CornerRadius" Value="0" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
||
<Setter Property="Template">
|
||
<ControlTemplate>
|
||
<ContentPresenter Name="PART_ContentPresenter"
|
||
Background="Transparent"
|
||
BorderBrush="Transparent"
|
||
BorderThickness="0"
|
||
Padding="0"
|
||
CornerRadius="0"
|
||
Content="{TemplateBinding Content}"
|
||
ContentTemplate="{TemplateBinding ContentTemplate}"
|
||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
|
||
</ControlTemplate>
|
||
</Setter>
|
||
</Style>
|
||
<Style Selector="Button.flat:pointerover /template/ ContentPresenter">
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderBrush" Value="Transparent" />
|
||
</Style>
|
||
<Style Selector="Button.flat:pressed /template/ ContentPresenter">
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderBrush" Value="Transparent" />
|
||
</Style>
|
||
<Style Selector="Button.flat:focus /template/ ContentPresenter">
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderBrush" Value="Transparent" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- TASK ROW -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.task-row">
|
||
<Setter Property="Padding" Value="12,10" />
|
||
<Setter Property="CornerRadius" Value="8" />
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
<Setter Property="Margin" Value="0,0,0,6" />
|
||
<Setter Property="Cursor" Value="Hand" />
|
||
<Setter Property="Transitions">
|
||
<Transitions>
|
||
<BrushTransition Property="Background" Duration="0:0:0.10"/>
|
||
<BrushTransition Property="BorderBrush" Duration="0:0:0.10"/>
|
||
</Transitions>
|
||
</Setter>
|
||
</Style>
|
||
<Style Selector="Border.task-row:pointerover">
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrightBrush}" />
|
||
</Style>
|
||
<Style Selector="Border.task-row.selected">
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrightBrush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
</Style>
|
||
|
||
<!-- Checkbox indicator (the 18px circle that replaces the native CheckBox template) -->
|
||
<Style Selector="Ellipse.task-check">
|
||
<Setter Property="Width" Value="18" />
|
||
<Setter Property="Height" Value="18" />
|
||
<Setter Property="StrokeThickness" Value="1.5" />
|
||
<Setter Property="Stroke" Value="{StaticResource TextMuteBrush}" />
|
||
<Setter Property="Fill" Value="Transparent" />
|
||
</Style>
|
||
<Style Selector="Ellipse.task-check.done">
|
||
<Setter Property="Stroke" Value="{StaticResource AccentBrush}" />
|
||
<Setter Property="Fill" Value="{StaticResource AccentBrush}" />
|
||
</Style>
|
||
|
||
<!-- Status dot pulse (applied when running) -->
|
||
<Style Selector="Ellipse.status-pulse">
|
||
<Style.Animations>
|
||
<Animation Duration="0:0:1.2" IterationCount="INFINITE" Easing="CubicEaseInOut">
|
||
<KeyFrame Cue="0%"><Setter Property="Opacity" Value="0.4"/></KeyFrame>
|
||
<KeyFrame Cue="50%"><Setter Property="Opacity" Value="1.0"/></KeyFrame>
|
||
<KeyFrame Cue="100%"><Setter Property="Opacity" Value="0.4"/></KeyFrame>
|
||
</Animation>
|
||
</Style.Animations>
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- AGENT STRIP -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.agent-strip">
|
||
<Setter Property="Padding" Value="12,10" />
|
||
<Setter Property="CornerRadius" Value="10" />
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
</Style>
|
||
<Style Selector="Border.agent-strip.running">
|
||
<Setter Property="Background" Value="#147C9166" />
|
||
<Setter Property="BorderBrush" Value="#4C7C9166" />
|
||
</Style>
|
||
<Style Selector="Border.agent-strip.review">
|
||
<Setter Property="Background" Value="#14D4A574" />
|
||
<Setter Property="BorderBrush" Value="#4CD4A574" />
|
||
</Style>
|
||
<Style Selector="Border.agent-strip.error">
|
||
<Setter Property="Background" Value="#14C87060" />
|
||
<Setter Property="BorderBrush" Value="#4CC87060" />
|
||
</Style>
|
||
|
||
<!-- queued → Sage tint -->
|
||
<Style Selector="Border.agent-strip.queued">
|
||
<Setter Property="Background" Value="#148B9D7A" />
|
||
<Setter Property="BorderBrush" Value="#4C8B9D7A" />
|
||
</Style>
|
||
|
||
<!-- idle → neutral (same as base, explicit for clarity) -->
|
||
<Style Selector="Border.agent-strip.idle">
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- TERMINAL / LOG -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.terminal">
|
||
<Setter Property="Background" Value="#FF080C0B" />
|
||
<Setter Property="CornerRadius" Value="8" />
|
||
<Setter Property="Padding" Value="12" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
</Style>
|
||
<Style Selector="Border.terminal TextBlock">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="11" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextDimBrush}" />
|
||
</Style>
|
||
<Style Selector="Border.terminal TextBlock[Tag=log-sys]">
|
||
<Setter Property="Foreground" Value="{StaticResource TextMuteBrush}" />
|
||
</Style>
|
||
<Style Selector="Border.terminal TextBlock[Tag=log-tool]">
|
||
<Setter Property="Foreground" Value="{StaticResource SageBrush}" />
|
||
</Style>
|
||
<Style Selector="Border.terminal TextBlock[Tag=log-claude]">
|
||
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
||
</Style>
|
||
<!-- log-stdout: program output — dim text, same as base -->
|
||
<Style Selector="Border.terminal TextBlock[Tag=log-stdout]">
|
||
<Setter Property="Foreground" Value="{StaticResource TextDimBrush}" />
|
||
</Style>
|
||
<Style Selector="Border.terminal TextBlock[Tag=log-stderr]">
|
||
<Setter Property="Foreground" Value="{StaticResource BloodBrush}" />
|
||
</Style>
|
||
<Style Selector="Border.terminal TextBlock[Tag=log-done]">
|
||
<Setter Property="Foreground" Value="{StaticResource MossBrightBrush}" />
|
||
</Style>
|
||
<!-- log-msg: generic informational message — slightly brighter than sys -->
|
||
<Style Selector="Border.terminal TextBlock[Tag=log-msg]">
|
||
<Setter Property="Foreground" Value="{StaticResource TextDimBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- TERMINAL HEADER -->
|
||
<!-- ============================================================ -->
|
||
<!-- traffic-light dot colors -->
|
||
<Style Selector="Ellipse.dot-red">
|
||
<Setter Property="Width" Value="8" />
|
||
<Setter Property="Height" Value="8" />
|
||
<Setter Property="Fill" Value="#5A2A26" />
|
||
</Style>
|
||
<Style Selector="Ellipse.dot-yellow">
|
||
<Setter Property="Width" Value="8" />
|
||
<Setter Property="Height" Value="8" />
|
||
<Setter Property="Fill" Value="#6A5A28" />
|
||
</Style>
|
||
<Style Selector="Ellipse.dot-green">
|
||
<Setter Property="Width" Value="8" />
|
||
<Setter Property="Height" Value="8" />
|
||
<Setter Property="Fill" Value="#2F4D2F" />
|
||
</Style>
|
||
|
||
<!-- LIVE chip (pulsing dot + text) -->
|
||
<Style Selector="Border.live-chip">
|
||
<Setter Property="Padding" Value="5,2" />
|
||
<Setter Property="CornerRadius" Value="4" />
|
||
<Setter Property="Background" Value="#267C9166" />
|
||
</Style>
|
||
<Style Selector="Border.live-chip > StackPanel > TextBlock">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="9" />
|
||
<Setter Property="Foreground" Value="{StaticResource AccentBrush}" />
|
||
<Setter Property="LetterSpacing" Value="1.2" />
|
||
</Style>
|
||
<Style Selector="Border.live-chip > StackPanel > Ellipse">
|
||
<Setter Property="Width" Value="6" />
|
||
<Setter Property="Height" Value="6" />
|
||
<Setter Property="Fill" Value="{StaticResource AccentBrush}" />
|
||
</Style>
|
||
<Style Selector="Border.live-chip.pulsing > StackPanel > Ellipse">
|
||
<Style.Animations>
|
||
<Animation Duration="0:0:1.4" IterationCount="INFINITE" Easing="CubicEaseInOut">
|
||
<KeyFrame Cue="0%"> <Setter Property="Opacity" Value="1.0"/></KeyFrame>
|
||
<KeyFrame Cue="50%"> <Setter Property="Opacity" Value="0.3"/></KeyFrame>
|
||
<KeyFrame Cue="100%"><Setter Property="Opacity" Value="1.0"/></KeyFrame>
|
||
</Animation>
|
||
</Style.Animations>
|
||
</Style>
|
||
|
||
<!-- Terminal log-line timestamp column -->
|
||
<Style Selector="TextBlock.log-ts">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="10" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextFaintBrush}" />
|
||
<Setter Property="Width" Value="60" />
|
||
<Setter Property="VerticalAlignment" Value="Top" />
|
||
<Setter Property="Margin" Value="0,0,4,0" />
|
||
</Style>
|
||
<!-- Kind marker column -->
|
||
<Style Selector="TextBlock.log-kind">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="10" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextMuteBrush}" />
|
||
<Setter Property="Width" Value="46" />
|
||
<Setter Property="VerticalAlignment" Value="Top" />
|
||
<Setter Property="Margin" Value="0,0,6,0" />
|
||
</Style>
|
||
<Style Selector="TextBlock.log-kind[Tag=log-tool]">
|
||
<Setter Property="Foreground" Value="{StaticResource SageBrush}" />
|
||
</Style>
|
||
<Style Selector="TextBlock.log-kind[Tag=log-claude]">
|
||
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
||
</Style>
|
||
<Style Selector="TextBlock.log-kind[Tag=log-stderr]">
|
||
<Setter Property="Foreground" Value="{StaticResource BloodBrush}" />
|
||
</Style>
|
||
<Style Selector="TextBlock.log-kind[Tag=log-done]">
|
||
<Setter Property="Foreground" Value="{StaticResource MossBrightBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- WORKTREE MODAL STATUS BADGES -->
|
||
<!-- Tag="M" → peat, "A" → moss, "D" → blood, "?" → faint -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border[Tag=M]">
|
||
<Setter Property="Background" Value="#26A06040"/>
|
||
</Style>
|
||
<Style Selector="Border[Tag=M] > TextBlock">
|
||
<Setter Property="Foreground" Value="{StaticResource PeatBrush}"/>
|
||
</Style>
|
||
<Style Selector="Border[Tag=A]">
|
||
<Setter Property="Background" Value="#267C9166"/>
|
||
</Style>
|
||
<Style Selector="Border[Tag=A] > TextBlock">
|
||
<Setter Property="Foreground" Value="{StaticResource MossBrush}"/>
|
||
</Style>
|
||
<Style Selector="Border[Tag=D]">
|
||
<Setter Property="Background" Value="#26C87060"/>
|
||
</Style>
|
||
<Style Selector="Border[Tag=D] > TextBlock">
|
||
<Setter Property="Foreground" Value="{StaticResource BloodBrush}"/>
|
||
</Style>
|
||
<Style Selector="Border[Tag=?]">
|
||
<Setter Property="Background" Value="#1A888888"/>
|
||
</Style>
|
||
<Style Selector="Border[Tag=?] > TextBlock">
|
||
<Setter Property="Foreground" Value="{StaticResource TextFaintBrush}"/>
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- LIST NAV ITEM -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.list-item">
|
||
<Setter Property="Padding" Value="10,7" />
|
||
<Setter Property="CornerRadius" Value="8" />
|
||
<Setter Property="Cursor" Value="Hand" />
|
||
<Setter Property="Background" Value="Transparent" />
|
||
</Style>
|
||
<Style Selector="Border.list-item:pointerover">
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
</Style>
|
||
<Style Selector="Border.list-item.active">
|
||
<Setter Property="Background" Value="{StaticResource AccentSoftBrush}" />
|
||
</Style>
|
||
<!-- Active item text / icon colors -->
|
||
<Style Selector="Border.list-item.active TextBlock.list-label">
|
||
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
||
</Style>
|
||
<Style Selector="Border.list-item.active PathIcon.list-icon">
|
||
<Setter Property="Foreground" Value="{StaticResource AccentBrush}" />
|
||
</Style>
|
||
|
||
<!-- Count badge — larger, high contrast, brighter when the row is active -->
|
||
<Style Selector="TextBlock.list-count">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="12" />
|
||
<Setter Property="FontWeight" Value="Medium" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextDimBrush}" />
|
||
<Setter Property="VerticalAlignment" Value="Center" />
|
||
<Setter Property="Margin" Value="8,0,4,0" />
|
||
</Style>
|
||
<Style Selector="Border.list-item.active TextBlock.list-count">
|
||
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
||
<Setter Property="FontWeight" Value="SemiBold" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- LIST SECTION HEADER -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="TextBlock.list-section-label">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="9" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextFaintBrush}" />
|
||
<Setter Property="Margin" Value="10,10,10,4" />
|
||
<Setter Property="LetterSpacing" Value="1.2" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- SEARCH BOX WRAPPER -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.search-wrap">
|
||
<Setter Property="Background" Value="{StaticResource DeepBrush}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
<Setter Property="CornerRadius" Value="8" />
|
||
<Setter Property="Padding" Value="8,0" />
|
||
</Style>
|
||
<Style Selector="Border.search-wrap:focus-within">
|
||
<Setter Property="BorderBrush" Value="{StaticResource AccentBrush}" />
|
||
</Style>
|
||
<!-- Borderless TextBox inside search-wrap -->
|
||
<Style Selector="Border.search-wrap TextBox.search-inner">
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderThickness" Value="0" />
|
||
<Setter Property="Padding" Value="4,7" />
|
||
<Setter Property="FontSize" Value="12" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
||
<Setter Property="CaretBrush" Value="{StaticResource AccentBrush}" />
|
||
</Style>
|
||
<Style Selector="Border.search-wrap TextBox.search-inner /template/ Border#PART_BorderElement">
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderThickness" Value="0" />
|
||
<Setter Property="BoxShadow" Value="none" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- KBD CHIP -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.kbd">
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
<Setter Property="CornerRadius" Value="4" />
|
||
<Setter Property="Padding" Value="8,3" />
|
||
<Setter Property="VerticalAlignment" Value="Center" />
|
||
<Setter Property="HorizontalAlignment" Value="Center" />
|
||
</Style>
|
||
<Style Selector="Border.kbd > TextBlock">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="10" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextFaintBrush}" />
|
||
<Setter Property="HorizontalAlignment" Value="Center" />
|
||
<Setter Property="VerticalAlignment" Value="Center" />
|
||
<Setter Property="TextAlignment" Value="Center" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- NEW LIST BUTTON -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Button.new-list-btn">
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderThickness" Value="0" />
|
||
<Setter Property="Padding" Value="10,8" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextMuteBrush}" />
|
||
<Setter Property="FontSize" Value="12" />
|
||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||
<Setter Property="HorizontalContentAlignment" Value="Left" />
|
||
<Setter Property="Cursor" Value="Hand" />
|
||
</Style>
|
||
<Style Selector="Button.new-list-btn:pointerover /template/ ContentPresenter">
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
<Setter Property="TextElement.Foreground" Value="{StaticResource TextBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- FOOTER PROFILE ROW -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.avatar-circle">
|
||
<Setter Property="Width" Value="28" />
|
||
<Setter Property="Height" Value="28" />
|
||
<Setter Property="CornerRadius" Value="14" />
|
||
<Setter Property="Background" Value="{StaticResource AccentDimBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- ADD-TASK ROW -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.add-task">
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
<Setter Property="CornerRadius" Value="10" />
|
||
<Setter Property="Padding" Value="14,12" />
|
||
<Setter Property="Transitions">
|
||
<Transitions>
|
||
<BrushTransition Property="BorderBrush" Duration="0:0:0.15" />
|
||
</Transitions>
|
||
</Setter>
|
||
</Style>
|
||
<Style Selector="Border.add-task:focus-within">
|
||
<Setter Property="BorderBrush" Value="{StaticResource AccentDimBrush}" />
|
||
</Style>
|
||
|
||
<!-- Plus circle inside the add-task row -->
|
||
<Style Selector="Border.add-task-plus">
|
||
<Setter Property="Width" Value="20" />
|
||
<Setter Property="Height" Value="20" />
|
||
<Setter Property="CornerRadius" Value="10" />
|
||
<Setter Property="Background" Value="{StaticResource Surface3Brush}" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
<Setter Property="HorizontalAlignment" Value="Center" />
|
||
<Setter Property="VerticalAlignment" Value="Center" />
|
||
<Setter Property="Padding" Value="0" />
|
||
</Style>
|
||
<Style Selector="Border.add-task-plus > PathIcon">
|
||
<Setter Property="HorizontalAlignment" Value="Center" />
|
||
<Setter Property="VerticalAlignment" Value="Center" />
|
||
</Style>
|
||
|
||
<!-- Borderless TextBox inside the add-task row -->
|
||
<Style Selector="TextBox.add-task-input">
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderThickness" Value="0" />
|
||
<Setter Property="Padding" Value="0" />
|
||
<Setter Property="FontSize" Value="14" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextBrush}" />
|
||
<Setter Property="CaretBrush" Value="{StaticResource AccentBrush}" />
|
||
<Setter Property="MinHeight" Value="20" />
|
||
</Style>
|
||
<Style Selector="TextBox.add-task-input /template/ Border#PART_BorderElement">
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="BorderThickness" Value="0" />
|
||
<Setter Property="BoxShadow" Value="none" />
|
||
</Style>
|
||
|
||
<!-- kbd-enter variant (no extra styles needed — base kbd works) -->
|
||
<Style Selector="Border.kbd.kbd-enter > TextBlock">
|
||
<Setter Property="LetterSpacing" Value="1.2" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- HEADER TOOLBAR icon-btn active state -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Button.icon-btn.active /template/ ContentPresenter">
|
||
<Setter Property="Background" Value="{StaticResource Surface3Brush}" />
|
||
<Setter Property="TextElement.Foreground" Value="{StaticResource AccentBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- TASK ROW — extensions (C2) -->
|
||
<!-- ============================================================ -->
|
||
|
||
<!-- Augment base task-row transitions to include Margin -->
|
||
<Style Selector="Border.task-row">
|
||
<Setter Property="Transitions">
|
||
<Transitions>
|
||
<BrushTransition Property="Background" Duration="0:0:0.12" />
|
||
<ThicknessTransition Property="Margin" Duration="0:0:0.15" />
|
||
</Transitions>
|
||
</Setter>
|
||
</Style>
|
||
|
||
<!-- Selected state: rely on the left accent bar from TaskRowView;
|
||
no heavy bg or perimeter border. -->
|
||
<Style Selector="Border.task-row.selected">
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrightBrush}" />
|
||
</Style>
|
||
|
||
<!-- Left accent bar for selected row -->
|
||
<Style Selector="Border.task-row-accent">
|
||
<Setter Property="Width" Value="2" />
|
||
<Setter Property="Background" Value="{StaticResource AccentBrush}" />
|
||
<Setter Property="CornerRadius" Value="1" />
|
||
<Setter Property="Margin" Value="0,4" />
|
||
<Setter Property="HorizontalAlignment" Value="Left" />
|
||
<Setter Property="VerticalAlignment" Value="Stretch" />
|
||
</Style>
|
||
|
||
<!-- Done state: dim the whole row and strike through the title -->
|
||
<Style Selector="Border.task-row.done">
|
||
<Setter Property="Opacity" Value="0.45" />
|
||
</Style>
|
||
<Style Selector="Border.task-row.done TextBlock.task-title">
|
||
<Setter Property="Foreground" Value="{StaticResource TextFaintBrush}" />
|
||
<Setter Property="TextDecorations" Value="Strikethrough" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- CHIP EXTENSIONS -->
|
||
<!-- ============================================================ -->
|
||
<!-- Slightly slimmer chips inside task rows -->
|
||
<Style Selector="Border.task-row Border.chip">
|
||
<Setter Property="Padding" Value="6,2" />
|
||
<Setter Property="CornerRadius" Value="4" />
|
||
</Style>
|
||
<Style Selector="Border.task-row Border.chip > StackPanel > TextBlock">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="10" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextDimBrush}" />
|
||
</Style>
|
||
|
||
<!-- Tag chip: faint text -->
|
||
<Style Selector="Border.chip.chip-tag > TextBlock">
|
||
<Setter Property="Foreground" Value="{StaticResource TextFaintBrush}" />
|
||
</Style>
|
||
|
||
<!-- Diff chip add/del coloring -->
|
||
<Style Selector="TextBlock.diff-add">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="10" />
|
||
<Setter Property="Foreground" Value="{StaticResource MossBrightBrush}" />
|
||
</Style>
|
||
<Style Selector="TextBlock.diff-del">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="10" />
|
||
<Setter Property="Foreground" Value="{StaticResource BloodBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- STAR BUTTON -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Button.star-btn">
|
||
<Setter Property="Foreground" Value="{StaticResource TextFaintBrush}" />
|
||
<Setter Property="Opacity" Value="0.6" />
|
||
</Style>
|
||
<Style Selector="Button.star-btn.on">
|
||
<Setter Property="Foreground" Value="{StaticResource PeatBrush}" />
|
||
<Setter Property="Opacity" Value="1.0" />
|
||
</Style>
|
||
<Style Selector="Button.star-btn.on /template/ ContentPresenter">
|
||
<Setter Property="TextElement.Foreground" Value="{StaticResource PeatBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- LIVE-TAIL PREVIEW ROW -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.task-live-tail">
|
||
<Setter Property="Background" Value="#FF080C0B" />
|
||
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
|
||
<Setter Property="BorderThickness" Value="1" />
|
||
<Setter Property="CornerRadius" Value="5" />
|
||
<Setter Property="Padding" Value="8,4" />
|
||
<Setter Property="Margin" Value="0,2,0,0" />
|
||
</Style>
|
||
<Style Selector="Border.task-live-tail TextBlock">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="11" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextDimBrush}" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- DIFF METER -->
|
||
<!-- ============================================================ -->
|
||
<!-- Outer track (full width, line-bright bg) -->
|
||
<Style Selector="Border.diff-meter-track">
|
||
<Setter Property="Height" Value="4" />
|
||
<Setter Property="CornerRadius" Value="2" />
|
||
<Setter Property="Background" Value="{StaticResource LineBrightBrush}" />
|
||
<Setter Property="ClipToBounds" Value="True" />
|
||
</Style>
|
||
<!-- Filled portion (moss; width set via ScaleTransform or Width binding in view) -->
|
||
<Style Selector="Rectangle.diff-meter-fill">
|
||
<Setter Property="Height" Value="4" />
|
||
<Setter Property="Fill" Value="{StaticResource MossBrightBrush}" />
|
||
<Setter Property="HorizontalAlignment" Value="Left" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- SUBTASK ROW -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="Border.subtask-row">
|
||
<Setter Property="Padding" Value="8,5" />
|
||
<Setter Property="CornerRadius" Value="6" />
|
||
<Setter Property="Background" Value="Transparent" />
|
||
<Setter Property="Transitions">
|
||
<Transitions>
|
||
<BrushTransition Property="Background" Duration="0:0:0.10"/>
|
||
</Transitions>
|
||
</Setter>
|
||
</Style>
|
||
<Style Selector="Border.subtask-row:pointerover">
|
||
<Setter Property="Background" Value="{StaticResource Surface2Brush}" />
|
||
</Style>
|
||
<Style Selector="Border.subtask-row.done TextBlock.subtask-title">
|
||
<Setter Property="Opacity" Value="0.5" />
|
||
<Setter Property="TextDecorations" Value="Strikethrough" />
|
||
</Style>
|
||
|
||
<!-- ============================================================ -->
|
||
<!-- SECTION LABELS (OVERDUE / TASKS / COMPLETED) -->
|
||
<!-- ============================================================ -->
|
||
<Style Selector="TextBlock.section-label">
|
||
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
|
||
<Setter Property="FontSize" Value="10" />
|
||
<Setter Property="Foreground" Value="{StaticResource TextFaintBrush}" />
|
||
<Setter Property="LetterSpacing" Value="1.4" />
|
||
</Style>
|
||
<Style Selector="TextBlock.section-label.overdue">
|
||
<Setter Property="Foreground" Value="{StaticResource BloodBrush}" />
|
||
</Style>
|
||
|
||
</Styles>
|