From 9952ff98f2b1b72f3f27905e887b99e9abf7c400 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Thu, 23 Apr 2026 13:07:38 +0200 Subject: [PATCH] feat(ui): use ClaudeTask icon for window and taskbar Expose the .ico as an Avalonia resource, set it on MainWindow, and swap the custom SystemDecorations=None for BorderOnly so the icon appears on the taskbar and window can be resized normally. --- src/ClaudeDo.App/Assets/ClaudeTask.ico | Bin 317 -> 45573 bytes src/ClaudeDo.Ui/ClaudeDo.Ui.csproj | 1 + src/ClaudeDo.Ui/Views/MainWindow.axaml | 14 ++++++++------ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/ClaudeDo.App/Assets/ClaudeTask.ico b/src/ClaudeDo.App/Assets/ClaudeTask.ico index 6e429ce7aa17d4803ffb1e007653616a3a62f855..1ca3aef6dab27259b6874fd75bd73d2862118402 100644 GIT binary patch literal 45573 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 D{3CFV literal 317 zcmZQzU<5(|0R|vYU{GgdU=RbcIs^RNdAX#xfJ|Ob50@Yy4N@V%!3HGdKmShzQtv!n z978JRESyUv!+kdgln6AycuecWo&ylGSP%jk76lmuQ(t4!eXV=j@`N1<~lO5&P z^o||eu|>7lm-CB)%Fff@3tLz+B&O}@taYE!^!M#?EzXc1MfuYkK0b)m+?aBsyJD7j z|KdJv`FXMPU3&wAu0-t;OI@Is<9qMwlU^3R1`!4c)#^$!(IpHqqL)0k$W{o(pGepj zzW9|;u$w1G!;`xy#i=22i^M-pZQ5m)14VAWUfuNSNJBY*itdG=SI29zdzFdkIBE8+PFPmGj0aZ=M0{% KelF{r5}E)fLU%a; diff --git a/src/ClaudeDo.Ui/ClaudeDo.Ui.csproj b/src/ClaudeDo.Ui/ClaudeDo.Ui.csproj index f8d6a0e..dc83e5e 100644 --- a/src/ClaudeDo.Ui/ClaudeDo.Ui.csproj +++ b/src/ClaudeDo.Ui/ClaudeDo.Ui.csproj @@ -22,6 +22,7 @@ + diff --git a/src/ClaudeDo.Ui/Views/MainWindow.axaml b/src/ClaudeDo.Ui/Views/MainWindow.axaml index 0f76871..05128f8 100644 --- a/src/ClaudeDo.Ui/Views/MainWindow.axaml +++ b/src/ClaudeDo.Ui/Views/MainWindow.axaml @@ -7,7 +7,9 @@ Title="ClaudeDo" Width="1280" Height="820" MinWidth="780" MinHeight="600" Background="{DynamicResource VoidBrush}" - SystemDecorations="None" + Icon="avares://ClaudeDo.Ui/Assets/ClaudeTask.ico" + CanResize="True" + SystemDecorations="BorderOnly" ExtendClientAreaToDecorationsHint="True" ExtendClientAreaTitleBarHeightHint="-1"> @@ -26,11 +28,11 @@ - - + +