From 97e78b0eeaca9c35779b50162493bb286fd1aef2 Mon Sep 17 00:00:00 2001 From: Cyd Date: Mon, 6 Jul 2026 19:22:30 -0500 Subject: [PATCH] App icon: vwe.ico as the exe and window icon ApplicationIcon embeds it in the exe (Explorer, taskbar); MainForm pulls the same embedded icon for the title bar via ExtractAssociatedIcon. Co-Authored-By: Claude Fable 5 --- src/VRio.App/MainForm.cs | 2 ++ src/VRio.App/VRio.App.csproj | 1 + src/VRio.App/vwe.ico | Bin 0 -> 2998 bytes 3 files changed, 3 insertions(+) create mode 100644 src/VRio.App/vwe.ico diff --git a/src/VRio.App/MainForm.cs b/src/VRio.App/MainForm.cs index 9da31a0..8f2b967 100644 --- a/src/VRio.App/MainForm.cs +++ b/src/VRio.App/MainForm.cs @@ -125,6 +125,8 @@ internal sealed class MainForm : Form { // ProductVersion carries the git stamp (see StampGitVersion in the csproj). Text = $"vRIO v{Application.ProductVersion} — Virtual RIO cockpit device"; + // Title-bar/taskbar icon from the exe's embedded ApplicationIcon (vwe.ico). + Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath); // Fit the window to its content: the cockpit canvas plus the 330px // control strip, with just enough height for the strip's log area. ClientSize = new Size(_canvas.Width + 332, Math.Max(_canvas.Height, 640)); diff --git a/src/VRio.App/VRio.App.csproj b/src/VRio.App/VRio.App.csproj index d2e9355..e9c0da0 100644 --- a/src/VRio.App/VRio.App.csproj +++ b/src/VRio.App/VRio.App.csproj @@ -8,6 +8,7 @@ enable latest app.manifest + vwe.ico vRIO — Virtual RIO device diff --git a/src/VRio.App/vwe.ico b/src/VRio.App/vwe.ico new file mode 100644 index 0000000000000000000000000000000000000000..f58deece31d154f0815fdb2bca52880453b0df16 GIT binary patch literal 2998 zcmdUvJB$=Z5I_rj5-T*Cp4kr(!I{7^aYtkp6C;rjlXbQd83dL*5#H=9EFn!sU|V+J zgqYwW2c~04OhkaSH|X}j(yip6{Hl9)Z$Xe)NS6DqKlSOV*VR2Ma!$_6{(dFa{yZ=8 z1@r#CNg_XwM9R-ZzGS^m|B8N2_83K4d_UY;j9A(>PmC<(@bHk?44VE$)mC)=Ol8BT zX`^p-(Vm4G5n9)0iUX5%y>S@nV(|@%jl;oW(VAl8Fp`6nEVd4#c4Q`kY&RG=@+wEP zba#Yt2;h*{J90{I8%~qIIUW#e6VPVIhC$A8oNi>)chY7SwqNyhA;NJFQa;>Q7fhe_ zjc^(&k>vJXYc^{`cvji{OqP2n7h8Nntrv*fqpP5@8y|jALX}a$MWpeEBWr1UrFTYf!@($7CkzT&ZG0D<4u@L zKp$8H^Z|W9Z`(Tb9r_NTL*Joil88Q{kLV+ch+dHuS!2rV89l*0fjpZ$-)&0I;9>AE zco;kk2?+)dgNMPx;9*FZFnAa|3?2p#Lqdna!{A}?FnAceqJzW3;f;eg4^^TFi~*Ja zOMoRE8J0luK%zj<081(Z#=s)L5@1PXfg`{X;0SO8I8v$L2rvW~0t{BV07rl!z!1|f zR?H^#|b+BurD(UoSm>KOFsX-)Pge}4m$(OFyIH*B{BN_(>OV`b&2up+|0uf1= zo&YS7jS;7aBErHyojBY{ge6)%5{tbCy9IPGC=3dN!k{oH4Cy(+5MfXl6ov=`Vd(h7 zpfD&53In0(=wVP86b1!A$sY-(Y*d^AF#>XcLsM+?3G%u8D7SClmb-WF%KiKI<>AAJ z^7QFbdHndXJb(UNUc7iAFJHct<#H(}CnvIAuVwYO$`6ko@g28R*S-Oph?gXbYof}< zPuuu;DCr*wT9mGCnx?K?`2m-rtY*vpiN5WRCXFlKk5RaK32|=yq<$|%Q8q^#tIhM~ z-3UcBSAE_0{c7-<*Sijd8|%?zGM~(*^9$KyS?xd;wJw{65RI#+eRi0-Glz0At`gte zag6M6w3DIKx|*hKv$CuvIl%0Uz%_$ekE^1r^HFvPs(SWU-lXHQa5+F=>%k0S zSvHB_WSgMK3hm9Sugf|UPB#E9m$q+aZ*Um90bpZy8NCN>W@%F zDgN7>Kkw1w`4oHefEw4iLh$n>s^)=hp&er{O4^WbUKQ0cllJp*Q*CIAIwjGmyV&c> z;#JO7Zu9PnYHFvjb6zZ+EAvY!PAhwwWUPh@+`T_un>(En2ApwDIo`d0>_zq9&3G~y zfb`w>W3RQS#+Ej