From 7f6088ee1f958f06ae34c196d508530b4694d24b Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Sun, 11 Feb 2024 08:37:06 -0700 Subject: [PATCH] windows: add rc file Adds an rc file for windows. An rc file is a source file given to the toolchain that instructs it on what "resources" to embed inside the executable. You can think of "resources" as files or data that get embedded into the executable and can be accessed both by the application at runtime or by the OS. The OS uses resources for things like getting the icon of the executable or extracting the version of an exe for the user. Note that exe resources can also be modified without having to recompile/relink the binary. Thanks to Squeek502 zig has its own "RC Compiler" so this should still be buildable on all platforms. In the RC file I've included some basic info and left in comments for other info to be populated later. I've also included a manifest file which starts out by telling windows that our exe will be DPI aware and to use a slightly more modern look and feel for native controls. --- build.zig | 14 ++++++++++--- dist/windows/ghostty.ico | Bin 0 -> 73070 bytes dist/windows/ghostty.manifest | 14 +++++++++++++ dist/windows/ghostty.rc | 36 ++++++++++++++++++++++++++++++++++ 4 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 dist/windows/ghostty.ico create mode 100644 dist/windows/ghostty.manifest create mode 100644 dist/windows/ghostty.rc diff --git a/build.zig b/build.zig index b514cbdce..9545c7d1e 100644 --- a/build.zig +++ b/build.zig @@ -261,9 +261,17 @@ pub fn build(b: *std.Build) !void { ); } - // Building with LTO on Windows is broken. - // https://github.com/ziglang/zig/issues/15958 - if (target.result.os.tag == .windows) exe.want_lto = false; + if (target.result.os.tag == .windows) { + exe.subsystem = .Windows; + exe.addWin32ResourceFile(.{ + .file = .{ .path = "dist/windows/ghostty.rc" }, + }); + + // Building with LTO on Windows is broken. + // https://github.com/ziglang/zig/issues/15958 + exe.want_lto = false; + } + // If we're installing, we get the install step so we can add // additional dependencies to it. diff --git a/dist/windows/ghostty.ico b/dist/windows/ghostty.ico new file mode 100644 index 0000000000000000000000000000000000000000..1fe7ed98d4a479aed7e5e1fcaebad62a3391c564 GIT binary patch literal 73070 zcmZQzU}RusXlMY@3Je+?j0|QB3=9ei5dI1Q28K8eMg{=^2tR{`fq_kukwJrjfuVtc z0VK%4$e;jXjpES|7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R zpl1j$LPn<;Kr|Br1H(wfAiu*fJ;R>fcES9}%)r3F!oa}5#=yY9$-uzC%fP_E&%nSS z$iToL%)r1P!oa{F%D})N#=yWJKFl!4Paq8PBgn5pP``u1fQx~FfgKt)pfG}k7ro<& z+V+9`0m|2)IOl-IH^}dj3=9nN3=9k^3=9mK3=9l93=9nV3=9m03=9m$3=9k=3=9mW z3=H6*ZqRTy2%9r7FbpLOax)Br`~vb5$Ztjr3=9Sg3=FzZzpH|V^BEWzq@d}a51KbX zVFn62P#97>UTAF|$jusGJ2 zyk*^yn_D+tzq4ii!+TrSy?VHL?dL~Z)_#AqWzDZAo7en(ym`&PN1Imvf3$hce>jcI z2Fa0uA4AOm(I5;m8%BfJlwgpXL2d{6;o+9GKOSyb^X2}w^>6NM+wkb-whcG0ZrgC| z#QHUBcdb}DdG4eM#pdSbj?g@y&cMJR3oQ@185kHqVF(IKP?*v>-l$(&2>XF4jY;+7V4Im0YTu|NMo0UcU%B|m z_|BXHE|JQZ3{$JhEjD%aD zY!Kb@e|0Ak4Q4k(#h`kS#gN%3WT#D8{H*8dC)3?mAI z{0#CtC=5Vh0SXgP*kB8@M_bqaI#Jk+wlL%b_Cu!vFE?BruvA=+r-8< zK6S<#>i@S)?EVi5&&S)={|8|Z`{ssKH)0|p92giFK;-}^-+|(QoP0~E9#Gi>YU_!} z$jInkTesp2a=hQ$wB~PN9D+Cfzp{GC ze-&Ao(YU8l+{4lWC`_-cUi$y(j!plcK=IMl%Vt5xia>1vP@GT_r^M<7r8Cf&lyFv3 zlH=p;8^1o?x%oc`-`}$Szqu}P`JR=5;lD5=(|>tJmj4<|tpD|x+5Q_cvHdq?X8&)- z#Qxu$iT%GNGYE71w_<@|PAD5hgD^-OMsxhPWCrmeG%_2mA1ZGJqCuF2^FNpkqQMxX zAD?-gP&+_sKp0iM6^a=Ud5}9SnA!iEGqe9UVPgMp#LV_zmx&GRX9Xq}a2SBX0v6Bs zXi(UK!Wb0RApB(K=3jN?CBD!xB2b)w;)d9GBv&0Moq^Ju{H1j(_deYPiF=THQUd)5 z=6eA~rvKVZtpBZ9IR0C+a3ayjY>*tse`{tW8kr5&3z9?D17f3NWHlf*8b&q~%;tpJ z2{Q+z9>fOGRt^Z-zSW5$E-sfUq{BOd{_TQF;gT|N>YCebtVUT?= z8pKA&FgXy-`QMfqBoC#*Y!0XxNF0Pg>R>c78ze?O3<@hym|=^5kQgYeLE-)s8vfU} zZa4vL2Y}jSpg1BYZi&$YDqncB(-O^}?b-Gl_kH(F;`v zH_DY^Xl4Us)i22C+35agU3G!Wd9yAxRthz+s>PDA4fBnCAH?pLrHB)ehq z=rl|(hz4PhJdB32L1Bn3|AWSgL17Pydr(~5*|Fs+bPWlpekLX^$x*|hprD}eZ147O z&-d;455lW^J8(4nX+Dz8!yj zeSNi|b3^3BEg?Oib_Mr}`Llzb@89_!jQ8#MUl<#OHU8Nc82&r6aQp{_H;4vdCuVkt z7&H5SWHv|+gptLN*&sO(hM5JT!5Cx?$PN$<#vEXCotQy1#BMMfqy~gRYG5>yTR>)m zFvv_84PwLfLd^rqF>`?Z0AZv02cm}^>}L=gtcC@*dayjy9ms5u-$58A1`111e52!{ zxM*-51jRoHZ(Fk_3A)A(6jy}elT>+-nS4h!Z>V^_Z|8q7-oNv|gQ+pr_!nbj`tQul z{@(@Ue~=$R7{&(CEF2IyC=FHzWrO?;#;~vk(I5=c2cwbHg7ktgNDqugW`o2)7+DO& z2DuMTgWLx)8%{&x4I~D#7lc7_FdCT+62s;mD)}E2mgsR0;yap|fb-#t{k#5y@R{8^ z+o5YpL2*TD{1Q?RGE?CE?j6%!9N6_Ah83ixu*SbC6AL(gLE#R^(C}~p(bzC33_;=` z8iZkN5Y5c~-xVqbqCpsB4vYq|F)&m;PW#d1!Dg{=fbBtM!}WvIBVlAU$ZTBd!R`a; zhx!N1M`pw1Kr{%0cU4P#K)gW}=&{$2k;`1<}mOQ371L2*SWK1r1anJIMZ zz}}574(|RB#s_x&XJ=!>>NW!=mjAAxI77m2ps;0T{|}-;*p&ss2GJmlECynuV~}|u zF%S*LQ1d`x55izM77m2@P`kitk=P)0*f2;PNE}3C!!S7z4ZgK`Q~3VDy~n_De{lEz zyE`^vjeAhpWXa6--<^d61-mh`gZUsDD+a|KG@iizhp|C477Q{UWDbZ1VHg`kW5dX5 zklEPOg2f2A2TdMqCYql?VlWIc6T}A5STUM;U^Ofp|1EIDKPa3*aq!~cp8p{H=*U4( z9{{xe4ir~};*(T)keMQn4(+}8^3b0DAbe)kGMw>m3yObee7l2aX7>Lcps<0`AT}ZF z&H~lL0!lXsHcTJLTo4;XgD{K@qOoCQH6S*~d^n9{7dE}v#6WsM;vgD~q5cEKF&KmV z4HJX<8>9}ThZqcUA4nZ2EJ1ON4WC`T3>^2M_yJ($_SG%_0`Mh-?c1DOps3lxXoa0aCncCg(ZFfph* zKx#pHK^Vpc(O5A|FNg+VnAsqj2=kEbKxSjL3u-1dIZ#+)i+hmRktOs0zc{o9jGrGl z@RG*yFZS%1u1cTiK4F?b#6NCKC@!yRZdm9TB|GVeR0LKL=K3*Q#{~5Yx4wP33 zRNdO>PHY!D5?FgAz=VVGJF z4Z$FHz|17VJ47ZkV5?EgVD2qTMu*yz|76jmVhFwDaKA0!6S3&J4vFdCT+5(8t9KA0XP zvp{M=7-SZV2C*?POfQJWg28&BenMu0?S_hj*dRF&hOt332qTMu*ytGK9*`J_24j#L zpnd|C_1G{d4qhES@E?TV96$J%*75)1@V<|)jvf3D!W*aIj(+hH`wKYk#;Fth&$ z(O}F1WrJuC2Fbx_WHv|)gptLN%mSGW!Z5o)G&YQ^2AK_0i!26WqhpXdkQj&tV>I`m zh*8=9*y0`}28shv+=KAzagW`{w{Xd8XV-_eIL?gK!q!xrhYG5=n8zhDeBijjLqhpXB zkQj&tVHg`kgD|ofD6X;LjngK9^CBoe(k1?n9{BY7_@VzGyb(|RAHc%?KY*G2Kb!`K zGaFdUpPB7H2!rHcG>DCkVR9fEghA%PXb>B$9%cs?`@m{I@-U371{B92aVQOnPmp;q z8pHZG>s38@E}DfR+6 z{-@(^{{=9!{SO5BA4-GRfh_D`F))qHW`>FrqLKB0!XBg^N`vABWG;+`u-X2@XmZ?x ztOuD5_6x{vG>ohUnGIKu=6`{}D9%{~#6+A4(&$!RnymAT~%294>5NJ%Qjf1Thc9hM0?~ z9xM*h3o-+QVQdf$!pLGEHX4SR4WdC9F-^h5bLA2D90qVr>6| znUUBaIk4X$VvsOHu)*el)F7J)3NMfuP#UBMWG0LTvBCO4YCw94F(0Z9tPjM7=>^ds zj4X!DJg8g1enxgHNFN9zn}N&*$zd}ONemR%*f1y#KzR|2PadIp{(p7y$k*2=kNgMW zjWec#?8AyfKz?Fo`wyc*@eu+F6Ob4)`+pD{BnPKi(8R!M*dXe_dXU*@YC(EI7^DYA zBeOwbAdD=AxCvdwk?SrTRrD;g|#ZV8n1L9|p-@xjj;Q(eM*$MYI%uQgu z?BMVM%YnqfZUOlfcmIFW%&Gt1oH`1}G;aTkzdCv3+nZCz{)6zQnbWYwJt&=qGPD23 z#B5M85RDCk^nk=cGzi1kAe!xeC<{~!M1wFhk{F1MfuZW*ZULDC6GLW$#Mq(cLust$ zgVe$FLDhlG2B`&M7#l=m#W1}f8XHD4AM7897${7!VNe{v;{WxjqoDYpW&2P3)v2T3 z-<&@7AA~`6V{;QoEDY>+w*N3Xlo`Z^_$7>){XYal#6W7mm<1%x_CE|nW5XabK;j@8 zjG^jb=7Htd5&A)Dz+xbKpytBFK;q~aCI_OiVUT)|IEV&e7#l=m!4N+q;u+*;h#1J- zAPjOBjK=RiP?%!Fpf~`<1q{e;Ke+gLY2C>mGOb$eYFi0LogV<;o*$p5zItJMd5(CjB zVr+2_5(CBm+cU@igD@ygXdVA=&L02q_RNX@AdD~mBbeF#V_+6`h!}_lVUQXajm!p# zfiSWdh|LVu52lgXSnL9+M>YeQ4U)r#k=3xU|BnRmp){Dy3>72ResnuP=7GdOGzi1k zAR2^`#gN%}=6^QNn*RUInd4v#iW6GL|J$=Ce!e|>;y(y)o{f9{HgSY2S{s-f;Cu!dPdw1^S?|0`;{RiRAb7q3< z!-}Js+5S@-$FQ)2%>>aP3^E@^gV?0v7#4^dK{N=1^uuTndoW>aaSsyPGH2%hx93hl zG4133{rS^>-km@7AB6G6e+)C*|5z6G|1cVv4H5(4SQa*@JV-5q4U!`VQ)(Wv8rx3@nu>A*_ z1EN6~#s<;!z;RIbgJ=*2*$Jb;Y#O@{+0WSG9wY{i{|l%8zXRd(r$J>gP5b}vFP{DP z{^FVcAiQPnERcOzF({k};do}Y{~$FW8iZkN5Dmh}V#sWe95x)!0yU3??LRUbn_7?< zvKk1R6{?T*e;hLigUo}`sAfXcBg8=Fk&2Q1gv^GSgDeJ$Yit-42k$PN`47UNIH7g^ zhuCxW|NDz)|8JRxJN`j#Phe*I52Hcs1Qxdca2gax%xwQbVjwlxF)LVqJTr)91?vT| z!Db+tjnE5H2eK1H6Qdra7J)(Lg3JQZAPln$L_;u0Ey!#TO&CMWfchEgSCAOU&mau8 z3mOg}HYSGIg?;}AC_QYMH~as)i)SGC!WmFrq;>xP|NhchFy1nM4#+;NI1%JuX14z@ z8tiXoNSq{qX;!Elga)ZgWPzv$)8Mqi`X9uGsYf*fq820u){E6Xq_9VF3oi8_aeU^X z%Y)no5(Cr7Zb!2VWF`cY?|)ESW5ZkK&;I}Z(m4pecoq~Fw2gn5U6;=N#~=T&c!kky z|C6BM0-`}Uk(m`L22umUpg4umAT}z7=z*96VWa9t7DHx(?15mAc?k29pm7GGK^PR5 zFdD>0)dSN9qd{h&W0)L>24RpqjE1-yWG={UAPh1eMuXTOIRp*Ti@@089wY{e19<#j zI!E*P|8V*I|MyV56;J+80>>>Veh@gB859Pr|3NeegZvJok=YDyw z3}iM;EwUIg8zB#I8^|sY28qLH5StK&sRhy4Fi1a097KaKvKx@uAUP0*sRhxXxW28zct8$YRKB zkQ^}>Sr0NBrWaWZ#74&;bs#Yi4Z<)shz4O~F=RGK4jV>RgUp7hMHWM5gXBSBiVcJE zASg~?nAY(RiudJFILFzzaAR2^WY!D5KYixMy!g-Lm2gM1U;{W5dOaDO_ zWH&Z9fyB~4@y`TG1FZkkKr|EU|8!B1G%_2T*&s1wH6S)RMplE&Mpp;tgZvE(2MYZU3R7$t6bB!!UHT8gpg5s* z`46%KWETi;TQnb3-eAQU%xwSBF(__8VjvnD&Va@vhz8+wCf5Hj8pH*fPgZvCq3!*VGL=VKx zAT~M%nE?_5(I5=+GmOR-_aHG)9DKZf`9Bz6y9A00nwI}yd!Y7h#S{OT%&h-0F&k72 zM1wF$4U9%+gTz1>Sq#KR#h|bO*#V+K7{&(C5R7aF+y4wEkbVdaVY5QTK;j^bsy>q$ z#K(;xX5cdqWF|5OnFZp5Xb^_6K{N;>iy^adkN<$<|JvpMA3^x~Wje(FmH!{FL-4l6 z3qbZ^#h~!d0*4>#e-I7A$YLNisTkP|Fq;Wtb|xrZ!EDz5Aa)irNE{TN2pVJ;SPxi^ z4eTalF%TQ17fxd_4`wbd8l)E_2ckikpnX{L2*lkW{m2-U*RkR4ix)uhJ~&Ta0mTJv z^Z$)2|3BTl3dZ>29~2JR;IL->52C4okDBKBijLCgVGI1 z56BF*|5;2BHi!mekbj}+2BIF4{&2ewq@Os9E$%^Lpg8z+TeJmW)_SMqCprW4x>SFjSX*KvIv|PLGkhN z##K;U&@}&lx^?aUr<)KAvKyP5Kw`PftpBm$9440knM^F;c3lP&%l~X9mj56zWVIlE z78A?=G<0>$kaz}#3mAjsK^WA|V`BLa(gV^9!XR_gL3Xio{?Fp##)>nc;vgD?LF&LX z2iJd)UYL2vZlfm~zv<52KOUAhFXkC;zY2*8`gea~CKsKx_~V!Z0?724Q4BBeOwrAe_s@ z3Uxp0e`GdDju6Hc_aHG)9DD-D2`FB!gW`g=`TzFy|DSK)0ArBdAU9yc`OK{U(J?4r z&WZ~E|7goPC|>*j#MBAk@&Kkb4^$?was0o&V&VTsp!;E=xW~l_oK9fsKxR$!@r0^@ zn0I-}TyQ!8l`p4fO@Yd-C4mN+15yv7*MZ%T#m0f*511S1Nn;CRkQgWqKHa|lAA~{i zLhJtjCs5qqx$*z=og4qRFI@~uZ&+~w6U+YsX4e038dP>OvHaiKQ1k!s_6-oc4MOMf z3H;B8st3h?rHbnRM^HH!y`mrooEKs0KxM@Giqij&w{QIa7^D`2w{Q4gEGF?kkB1Lz zK1?r&24RrBFdD=L>jSw3q<7l}h@DUxrmj*!5$raYy)YW=H<163G1L!WKO?h|)sVo3 z*#)9Oag7acU$z*W7eR3kiW^$T|K~e5|HJT(aV{hC|Lsk6|DWvK z48gk~bhnEmByWTAJ`>CT8PO3Cd6>GLoBy9*H0OUdJI8;J8K5+h&B^uu^74iMpX}U( zP`hjM{}ORYa691A(s}0qhU}w0+|h>L1BswZ(p_q9v`51p-cSVz4`z1-JAcnKv-_7r3f7;pOzVS{KS zvyt?J+yl~cYs0Gl?bg;{vx-1|0AXg9|6n$V24mL$MR1z+e<4^6ghpnA{Ei(%!U$pp zG8<$r2qVO>#XU%D$MU7{`2TYE7AQZ`wEq8c@Am&M_ilmljulHm_F=`vOf3J4nOXkB zX=WC1SZ=Pb{{L*>4hY`A6G0=hVe%x?JO3982>mZ&V*X#i#0)M|%EZL~mq|(!hb5#S z>cl1fgW7MPd{@NC{J)r)l{gIcGb_Z;U^c4%A?AR>g>>^kag7aw;s6#OpXn9<_iz9I za{u;!klona1QIJ@X8n(j3mBRIZ>+6?oE?2|_y6YyAm>PfXfTF~JqOVTp>j|fbmlNf z97ZFvL1G{bGNXu>?|(5P^Zybi7O?#wHaHD};sX?yFdCT+62pRFW`JoXmj9(7KS60^ zHcTGuU#PucHb^}(hRK0w5C+M?Xk<1>41|%yKw*jvgW}-xz1#mm7?d|@UH*T$f9F5Q z9uVHK0{8j9pztY$g%yYf)pJZN|2I@u{C{zHFBI=Xq9JEWz5tyq3O!#Eqz-(pA<^ph z{V(R?`Cr1s{J)eL5?=_K6-|ugKg4}d8stWh9vBT`Gb8I^g{p_rFm*7RDD_aiU~^gj zmm$#*HVae?$};$QRiHDgknzi72f%V58iYY|FdCT+62pc;Y6@A||Ccf{|1V>L+7F|dSy9En z;w(@xkXn}i%)8hVR+}N6*$vnB{S=P zbPURuYf6g#zdn5oj6r7>fY=}!jL$&Mm3RZ9K^Sz-1dK-01JZ|qPaOrf&nv)T$nw8} z2^5x48kr4~N2ih1AhTiWkj0SMP^Y#8JokT{6Oib3YU%tdD7%m1rZz~ciH zFSL&TZ;$T({|d$U8pW$AoZW6*$d;)Uf^svC%O|JxB~hgE34mhz4PheJ~ot zM#EscnL*}5Fvtv;7=#VVGaxyL{m5e2@;*px=W3+*e{>&|A8FeE`~LXBZ&>{AT8%sZ zS23~tuV!Zb52Hcsaz^I=EA#Upd(}Yu)xi6fKzrBD{9j#C_`gn3>3@r!{{Q`xC;Wd4 zlD~KcPCq$v;QwS_pZ`^oQvds1T>jtLy&Y^0SRF|1h136^9zO(b`-8$1jG^%jasvp1 z+yJAI*&s2j7!+49GmzOJF%U);LuP~Iu=pQj2h3g&n-mO+YixMe>Xq>P2+EtZ&i`K@ zJ^23Z@q_;$ymR$RPeH^ZzO) z=KqyU%>Rp7+5VpZ?Q6Mw?*DrzZr0WPU&aWL2hr8Ca{phRIS!Wxse5|tFxVWholGqM zYnWNV_Je2;u4aacF@w@35g6GIVDljUsR5gVV8iUgph5P)%mA^`FvuK;n?UZu#4tG! zjVhw|FZ0? z{~xYhgy5?e|35!-{C@?X!2fDSW-zYgvU>l76Kudl9zr~$2gy?XKgqaz2v@ei^KjG=A-g)K6zNR>utWAIKggHb@SHL3&{{h)psEnG1C@C`_^8U29hT|MvJH7=M5Akmlz< ze|hxa11Ro67-Tm#H-W@znOOeUfx-kzgV><_y)-lZKWLo_44+&y|9=G&^Z!~VW-xtW z%?hymo{9bc-(ETgX3vR?_+JH0A6>>K|KEZ3A6&cie_eGYSpE}eP121k{~sLM{~y%G z0NDk?$ZkMpgXBOMSqzyClEa3P)qvQ9Fvtv$8W0V_ptJy^k=Y zF_4<$3+KVvApV_wyTNIw4wUA=nE5}14WgOB=@H}}cvyqffZYgkCkxn}AoU=(V#6>w z5Dmg0H82{&hWHh12h`snHb@SHVQdf$!617 zvq!YP|3UQgqx-MEKYRQigb!@mh&%p4{%2zO-@wfBzn%$#L3w z!D$I(7B&oW2S^-5gD{K@qCvQxi5co%=KmlzNDYEU_ywdEghBE!8kr3e17Tz_5E~Sq zaGDuv9+bwW9wr9zHz=;LVNe`=fBN`86oc-65o2Ir0G-uM=sa&yGx+( z{)6z*9b0k6KPay@g8atB{2xSvFeohhEG+(id2k1U@89|VpLj>2 zkXn$PFdCT+5(D8zQ2GS9kBQ|!hz(K$r;*$aQVYT$c^Hk%28m(A$Z9}rbPUo15(Cj7 z3}b_65Qd3?{EjW|L1M>tYzOB>P=5UO>@n#6Cs7*4zwn1g5AOVU{`5ZxUpROGXZ(Ze zVNh5$F+;-^6xNJP|Et(J|G&L{&fg>Ig=r|8G!%vC(iN z6Z3zF`0t5e7v#|ZI;pX|jzM>r5zW~*1pmrvRzI$l@|2B1v|CNkP|C{9G z|6kd%39J_+2QusP!@K{R#KiwMfb3;v`46(IiHR9bgV^X8Sq+E{b0e5Wayz;{7$2k# z#0JqI3}b_65JnaQu~F;*rA0LNfz-hCA+teY3Cio(@U1haz;OYJkB?6u-J|jSuL5r$ z+&}u`#k2n){O0a$objItiU*MYkZ=pAOl4&H->InuF0+2T0F@(8{)6ckPyfHWbMya~ z#}EF0fBpoFe<0By_Kz1&{=dF<kyC~ElkY+!I+r^K_jzq z$Tx$;L1_o-W{_DhF%X*&hN%V7*f2;xNE}3iG1NY=Tanoyw?f?kQU?l4Y;g|~1H}O- zEVG7#l=`Fi0FmgV^X8 zCI_NH7$gs)k=YbKAk{3a7@%q7oy)?f6 zo%{avs}p~`eEuJXl@%1Q#=jRM)Bjc`=KpP=GysYV5F1LjfZBR&?EkNB+w%YCo0tE8 zy?F(}Z;|M?uOMb z$n81|*yA4*_ON&W z(YLQ&ZDe3z-~vSyjWFB(J$pQUzJB>1hO3H;u*N?x0|PiLJCOX@0rek<24PT~HL$S! z-%wfk|LgOo|Nne^j~{=6%71$Q|KjG2|GQLG|AWesc1EWEAbUEPSr9Zbn~51A4q}7k zuwYOc0GR=zv0<1Thz4VrSs)q<2AKhJ7l;O7ke^{Rhz*j1(;)pIH^FES8;U_;iC*@D z_@J-{#XBr6PM>34*^M(O*9O|M2L+|HHFp{GaaV2+s4M zu^UbUOpPoGW z&&G!Rej0TKhW}km%m~a3WrJuC2FXF`4p15ZwYx!WI4|C!3i3pKNCKe}azg z|8`-K|4pDaB_q@Sc2K%vVuF|p)sJEi$XpPH$$@B4oI}MxVGF__Jun)??gFWUssXc^ zS^gtvWHvKc9IO{=E|?9CSFl+ibI>um`5<|i7?{lh^%KZ02wNRT*$)cyk53+f+fCqj zc>3f50|Nse0|Nsyjp80;ENBdn{o(DK4Zq&L{tv?;{{A@2fJjEh|J}^Y5X^)`gV+Rc z7bDYu814qC1(^e*q2UHH8y4OmH6S*K#){GOgVn&qK;}{#!^{TJAPh1eMuXS{FevOm z>0Kf8N(0s{jB2MybPu=r=0I(4eb?{{y0g6#hN?#=&0JGSABe|83j z{}qf(|9hC2F)=e#3`AqYAUz;)5RDDP&4H;$ zHUq>)!WB$R|3P7gE$%^LpfLaS?hQB({(k@V@0vAh454K|D35~TidGm@2XMWA{CFM6 z{@?H3{s+m8(D2BMGe-SeM`3HLZPC@n`bGXC#p zX8zyD1jR5mhz4PhIE)6d31OI85RDCk^n=7fG!Yo)HV_TMAa}xO5SvsC(+i?O7^ELY zgV=pAw}EI7W@7#i3L{WhVT*T=7$}TEVGRm%P~3y)YZoqrGcYi)(zxu0#XpD!r8CYC z&z`OWx#9PRcmF{+H!}lg831xS2x~Af{LcWT116^b{Y=dN`{6W*jfR<_d=L%7Ahj?W z#3rO4MGX=5fz5;331WloVg{#KP`rWN3Kj#I#RL%t*#Qy*VHg`kgE7b~kXjH8!Z0?7 z24RF)1|!pdP}qRN2p`VN%=rK7{aY{wh54uF&-O$6{Gd1i#SJ|$xC~geYL&|GcW*y| z+yTO0U%mWqYh_6=4S@W|$H4I4fRXWk03+jnP(QJliRphWsO=AG+cPr#?`35A-^a-G ze*zOT(Rd;=L@kI0VUS)J4PsAVf|&=Rnf^oMAT%-?q7I}6WFCxWhN_3q5cLo?#B7jS zObqe^$S<8BzcE7mSj@=uAJne{`Q3nl@joamKw&}%gTfXR#-Ol<;vf6=?bD}Iy^o%* zKxu&O+1cRd0wpLbfw~xjnA|A;J3s6|Td~omopN}8@{|1kd ze)#|S)ys7X3JRe99w-jbq$CoD#i z9#C5k6o%j4yn^Pfk6`-y+c&2Q3JL`1)ZQnQmO%9Y)6AJOMZUdxz4!0uPyhdX0=e_! z|39BU{y%YG|9=ZJ)6uekfwVHf!psaDc7M>q^ZVPkC)ciBE5iU8=L3a3q4=SPJjfkP zp`oFipI*P34N3!G{N>Ys7=3i#p8p|%fjGyCM^e7V8|08?%{0GJR-!Grw zG>HBA&8syH4Go|%UQn423UhkIEh%<@+{O0h#narspFe&41B(AIpZ|ks5dQn+^Zzez zUj5&_Wy}BCii-bkF3$gzm6ZO2)-m7;li?~3@-xWqZqCmCYbz`M@7}uQ|JOIK|Ns5^ z`9CO}(D1kSFJ9C@+j^id9*l7hOD7<=vFzQuSN_}kx2wSZ`TFJmUoifRL__@v_3y_Q z&;Q@QasB_*vuFOFI&%2`(f#}WAKJa^|AAdQ|L@@D zVq@U#|M!E%Kr{&N_`iQAj0UmMF-#6bZwI^m(4JjjznngDC>mx2dIw+i&Ii*P#OTGQ`vyq| zAR2^0X#z$=*k8fvH$8j&*aJGQ2MSA2n35U~1Fat9 zW{}%ijvP56_2JE%${!y;?D_lc>zBXZzWztYVE-e<{oik2!07-)Loi6s7q~uj^&mbn z2AL1ygJ=+ju|YI8jI0Kk4O5FOhRlY^|N9P2w;&pXL4JYJQ2&C|g7l)}f8W1-`}O(L zq0jH%H=I6wS_zupL1709!-0-RO6>>v0fa&RVJR#u+6@ZzrTIC`S;t`C;z^Gd-?DCx3~X(eE;z8`?pU}{Q2MaZy@~T|Bvrq{(t}W z_5Y9W-~NC9_Wl3&Z$JM3`2O?%_isP{|M>pv|Bvs#|Nr>@=l_rIfB*mZ{_o%SZ{TzT zqe0;hV}odP4AKMD3o-*_7RXEx2AL1C>pLjU{{Q&?_22hzp!EC&*YR)6{Mq5IvNH`y;>T?mCb<`~UxutOq*)osZ-k1_u8B z|IzsmK<2Tpu7g2wYzvIRIRrAXx~mZ~ns#1Xmv*D~2%EU|?WS zU|?Wy0B<4zvEYG8hyhxk06J>`wEqNj<_Ksn0w)6l134I^7i0#=ERdNXv+>yvk_V}m zVqjpqp) z{&>rpe~-7U`TuA$1V7%q7R(0GAPf?R(IEDtO{@Qd^xWUD^81Z7%U&E`Ja7Nx=EhnE z1_qEjKz4xaLJkKIpWVX3!u;5xIs0#|U-AFRw)OuXLotjEqCprW4x^FTATewhq~`Ye z75`5xo_EN~%E}UYmJG;Fm>WQGBXwf&{Jl@MZ~Xsc$HxDwyITKy*;xLU5f}T<$<9vF zeh<+829O?*UXU3evp{Bo%s#bj;Xwul22lKh?1b6RwtU*;jJuoH{eQN5>;H#nE`S$$PH_IJO4l5yZ!(9^{aM5 z;{awq$Aev49=%X_14XEV%ugJ*!-<5>}j9r-7;WUVifmt~IgT+8J77Q{AuA@ zgV^X8q!uIwqQRJ%{Xd+BvO)HPFvt!NMi2jYXHWcnbLKeMZjib#Cf5JqP#nh0_8-It z(;zk)4rOBf50V4XAPiOu(#y>DKb)EEe*`lm{z2xxJ#+m3o6}%>Q2hV?!s&nS&Lhs9 zjbdW`AIZe}KLTV99t^SzQwS65e;5vBX8jKm3ugxT8^R6)v7zn->5FAz{U67~`ahnT4U9o% zg77=g-8dJ|fWjHY{`Z&9|Nn610!SQ;L3$&ZSpEkyvHbUEV)^gO#Qfifi5X1$F|qs) zWMTok2jp)U2DuexcLEdZ|0E{X|H;g3U<|Swgh6(ExO^UD2a5e4u3r5A@!BPjI2eQU zgX}*!ed7O8QOE7(l1{Rn$d?EiG*D)`O^kQxw9W@7mt#l-Ue$?mQHFD{w? z|In2F|Df_2M1%Ms@dzfC{~&jQ)TT1A{!e9s*qOn^3ch_M>~ zazDX!xI5DrS^md?>_4yze0L$}4nok~gfRNafnEP&q4s4lLhhu^2GNYn;5%l)_gOQu z{?B7(1>Z9d@)HOn-RF*K|6R!4yC5|n47vwBk%{I1vttMU-`~6A|DhRE|Gzzd3QXVM zw-YR$$i)0Vi-{S0|1RXNVOH?n%%J;dLH81aXb=X;fy@M9&|R{iGxgE)Kj^G==sk1b zFvw?O{-43f{QudBqyHxa2mSYBWcq(~%f|oypndznf&ZVKJO&P9&|SKq`!>OM=z;IN zgWSgm;)Cx+1mAUtxaSaL2gojT`@cPY@DFs>H>ivRxwC|k3GA=yn>YMloR#_i{OXne zpPfAgrWav(5s% zy}{?petz=!FK0{hpxxis%@5Pa}wpjzM}qy?Xio=eu_+|Ns9F>i>Z4!$C0q`0~a5&(|*t|9<&= z>+hG(@Be@Q`s?4fuYdl3|MvI)_ivyz|NoHpTY%XAzJL1%l7p)G^Z)zT-~YaT`S9=C zms@|nd|CYC>sK#a{>I^s5h476fr0-40|Wa31_tH^1_nl2VvrpmyFhlrhE_o16rc_7 zpb-j2@Q4NNg8l#h|ICjL?ykPEcG>-hn^ymMxOvV02b)%7V36F6HA^2nIwjHFmj58NcebvF4{SZzzxx-+Y!@cB|ISQo|DBlG|2s0Vfw2=a zM9hVm?Y|ocGqQr+_-y|!_(AJi^;c4*K4bBpKye{p0#n0|I>FIW$#&6EOdmx1)Zzj_g*2dw|y^~)gk|8ypn z|4)zX|DV9Z_J4D2&Hs32*8fiq@Bg31$owDF?#g9i0k=Is`aj*i0n!83|MBiE5c_{2 zBlG{eyLbHGP*nK;`RU{THxw29zqfn)|3Ywk1bSaEBc#p;wRgap85kJ8K7Ig>KTzF0 z&D8AwlcPuegX*IvM-Ts>W?}}uD+P347U&)nP<;z3$G<;&43EEe5ANMlQBwRL%gFe@ znSl{4MN=1tYX9ozq_C@F!{2FQQd zFvwn2W##{ecJ288{mmQD{$#Kh{{R2a^z*}qs!y+9-TV9H^RIv3zWxL6Zw2pdh3xzN m_wCESzh6K9`t<7My`LZ7*C6K~upwj;|Nk>EG%%8fL3#mh{>J10 literal 0 HcmV?d00001 diff --git a/dist/windows/ghostty.manifest b/dist/windows/ghostty.manifest new file mode 100644 index 000000000..9a0790648 --- /dev/null +++ b/dist/windows/ghostty.manifest @@ -0,0 +1,14 @@ + + + + + true/pm + PerMonitorV2 + + + + + + + + diff --git a/dist/windows/ghostty.rc b/dist/windows/ghostty.rc new file mode 100644 index 000000000..0f3d12f87 --- /dev/null +++ b/dist/windows/ghostty.rc @@ -0,0 +1,36 @@ +// LANG_NEUTRAL(0), SUBLANG_NEUTRAL(0) +LANGUAGE 0, 0 + +#define RT_MANIFEST 1 +RT_MANIFEST 24 "ghostty.manifest" + +#define ID_ICON_GHOSTTY 1 +ID_ICON_GHOSTTY ICON "ghostty.ico" + +VS_VERSION_INFO VERSIONINFO +//FILEVERSION VERSION_MAJOR,VERSION_MINOR,VERSION_PATCH,VERSION_COMMIT_HEIGHT +//PRODUCTVERSION VERSION_MAJOR,VERSION_MINOR,VERSION_PATCH,VERSION_COMMIT_HEIGHT +//FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +//FILEFLAGS VER_DBG +//FILEOS VOS_NT +//FILETYPE VFT_APP +//FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + //VALUE "CompanyName", "???" + //VALUE "FileDescription", "???" + //VALUE "FileVersion", VERSION + //VALUE "LegalCopyright", "(C) 2024 ???" + VALUE "OriginalFilename", "ghostty.exe" + VALUE "ProductName", "Ghostty" + //VALUE "ProductVersion", VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409,1200 + END +END