style(ui): polish list sidebar, kbd chips, and session terminal

- 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.
This commit is contained in:
mika kuns
2026-04-23 13:08:17 +02:00
parent 5ced1b97a6
commit 3c420acd54
3 changed files with 43 additions and 33 deletions

View File

@@ -95,6 +95,8 @@
<Setter Property="BorderThickness" Value="0" /> <Setter Property="BorderThickness" Value="0" />
<Setter Property="CornerRadius" Value="0" /> <Setter Property="CornerRadius" Value="0" />
<Setter Property="Foreground" Value="{StaticResource TextMuteBrush}" /> <Setter Property="Foreground" Value="{StaticResource TextMuteBrush}" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
</Style> </Style>
<Style Selector="Button.title-ctrl:pointerover /template/ ContentPresenter"> <Style Selector="Button.title-ctrl:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource Surface2Brush}" /> <Setter Property="Background" Value="{StaticResource Surface2Brush}" />
@@ -221,6 +223,8 @@
<Setter Property="BorderThickness" Value="0" /> <Setter Property="BorderThickness" Value="0" />
<Setter Property="CornerRadius" Value="6" /> <Setter Property="CornerRadius" Value="6" />
<Setter Property="Foreground" Value="{StaticResource TextMuteBrush}" /> <Setter Property="Foreground" Value="{StaticResource TextMuteBrush}" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
</Style> </Style>
<Style Selector="Button.icon-btn:pointerover /template/ ContentPresenter"> <Style Selector="Button.icon-btn:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource Surface2Brush}" /> <Setter Property="Background" Value="{StaticResource Surface2Brush}" />
@@ -539,6 +543,20 @@
<Setter Property="Foreground" Value="{StaticResource AccentBrush}" /> <Setter Property="Foreground" Value="{StaticResource AccentBrush}" />
</Style> </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 --> <!-- LIST SECTION HEADER -->
<!-- ============================================================ --> <!-- ============================================================ -->
@@ -586,12 +604,17 @@
<Setter Property="BorderBrush" Value="{StaticResource LineBrush}" /> <Setter Property="BorderBrush" Value="{StaticResource LineBrush}" />
<Setter Property="BorderThickness" Value="1" /> <Setter Property="BorderThickness" Value="1" />
<Setter Property="CornerRadius" Value="4" /> <Setter Property="CornerRadius" Value="4" />
<Setter Property="Padding" Value="6,2" /> <Setter Property="Padding" Value="8,3" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center" />
</Style> </Style>
<Style Selector="Border.kbd > TextBlock"> <Style Selector="Border.kbd > TextBlock">
<Setter Property="FontFamily" Value="{StaticResource MonoFont}" /> <Setter Property="FontFamily" Value="{StaticResource MonoFont}" />
<Setter Property="FontSize" Value="10" /> <Setter Property="FontSize" Value="10" />
<Setter Property="Foreground" Value="{StaticResource TextFaintBrush}" /> <Setter Property="Foreground" Value="{StaticResource TextFaintBrush}" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="TextAlignment" Value="Center" />
</Style> </Style>
<!-- ============================================================ --> <!-- ============================================================ -->

View File

@@ -66,7 +66,7 @@
</StackPanel> </StackPanel>
<!-- More button --> <!-- More button -->
<Button Grid.Column="2" Classes="icon-btn" VerticalAlignment="Center" <Button Grid.Column="2" Classes="icon-btn" VerticalAlignment="Center"
Command="{Binding OpenListSettingsCommand}" Command="{Binding OpenSettingsCommand}"
ToolTip.Tip="Settings"> ToolTip.Tip="Settings">
<PathIcon Data="{StaticResource Icon.MoreHorizontal}" <PathIcon Data="{StaticResource Icon.MoreHorizontal}"
Width="14" Height="14" Width="14" Height="14"
@@ -112,11 +112,8 @@
VerticalAlignment="Center" Margin="8,0" VerticalAlignment="Center" Margin="8,0"
Foreground="{DynamicResource TextDimBrush}" FontSize="13"/> Foreground="{DynamicResource TextDimBrush}" FontSize="13"/>
<!-- Count --> <!-- Count -->
<TextBlock Grid.Column="2" <TextBlock Grid.Column="2" Classes="list-count"
Text="{Binding Count}" Text="{Binding Count}"/>
FontFamily="{DynamicResource MonoFamily}" FontSize="10"
Foreground="{DynamicResource TextFaintBrush}"
VerticalAlignment="Center"/>
</Grid> </Grid>
</Border> </Border>
</DataTemplate> </DataTemplate>
@@ -160,20 +157,13 @@
VerticalAlignment="Center" Margin="8,0" VerticalAlignment="Center" Margin="8,0"
Foreground="{DynamicResource TextDimBrush}" FontSize="13"/> Foreground="{DynamicResource TextDimBrush}" FontSize="13"/>
<!-- Count --> <!-- Count -->
<TextBlock Grid.Column="2" <TextBlock Grid.Column="2" Classes="list-count"
Text="{Binding Count}" Text="{Binding Count}"/>
FontFamily="{DynamicResource MonoFamily}" FontSize="10"
Foreground="{DynamicResource TextFaintBrush}"
VerticalAlignment="Center"/>
<!-- Gear button --> <!-- Gear button -->
<Button Grid.Column="3" <Button Grid.Column="3" Classes="icon-btn"
Content="⚙" Content="⚙"
FontSize="12"
ToolTip.Tip="Settings..." ToolTip.Tip="Settings..."
Background="Transparent"
BorderThickness="0"
Padding="4,0"
FontSize="11"
Foreground="{DynamicResource TextFaintBrush}"
VerticalAlignment="Center" VerticalAlignment="Center"
Command="{Binding $parent[UserControl].((vm:ListsIslandViewModel)DataContext).OpenListSettingsCommand}" Command="{Binding $parent[UserControl].((vm:ListsIslandViewModel)DataContext).OpenListSettingsCommand}"
CommandParameter="{Binding}"/> CommandParameter="{Binding}"/>

View File

@@ -50,23 +50,20 @@
</Grid> </Grid>
<!-- ── Log output ── --> <!-- ── Log output ── -->
<ScrollViewer Name="LogScroll" VerticalScrollBarVisibility="Auto" <ScrollViewer Name="LogScroll"
VerticalScrollBarVisibility="Visible"
AllowAutoHide="False"
Padding="10,8,10,12"> Padding="10,8,10,12">
<ItemsControl ItemsSource="{Binding Log}"> <ItemsControl ItemsSource="{Binding Log}">
<ItemsControl.ItemTemplate> <ItemsControl.ItemTemplate>
<DataTemplate DataType="vm:LogLineViewModel"> <DataTemplate DataType="vm:LogLineViewModel">
<Grid ColumnDefinitions="60,46,*" Margin="0,1"> <Grid ColumnDefinitions="60,*" Margin="0,1">
<!-- Timestamp --> <!-- Timestamp -->
<TextBlock Grid.Column="0" <TextBlock Grid.Column="0"
Classes="log-ts" Classes="log-ts"
Text="{Binding TimestampFormatted}"/> Text="{Binding TimestampFormatted}"/>
<!-- Kind marker -->
<TextBlock Grid.Column="1"
Classes="log-kind"
Tag="{Binding ClassName}"
Text="{Binding KindMarker}"/>
<!-- Message text — selectable so the user can copy raw output --> <!-- Message text — selectable so the user can copy raw output -->
<SelectableTextBlock Grid.Column="2" <SelectableTextBlock Grid.Column="1"
Text="{Binding Text}" Tag="{Binding ClassName}" Text="{Binding Text}" Tag="{Binding ClassName}"
FontFamily="{DynamicResource MonoFont}" FontSize="11" FontFamily="{DynamicResource MonoFont}" FontSize="11"
Foreground="{DynamicResource TextDimBrush}" Foreground="{DynamicResource TextDimBrush}"