From 8e03330369422e3deec5a71d7547bbd9398f5503 Mon Sep 17 00:00:00 2001 From: Heiko Klare Date: Thu, 24 Jul 2025 16:10:18 +0200 Subject: [PATCH] Add N&N for toggle indicator in Windows 11 menus --- news/4.37/images/menu_state_noimage.png | Bin 0 -> 2212 bytes news/4.37/images/menu_state_overlay.png | Bin 0 -> 2738 bytes news/4.37/images/menu_state_system.png | Bin 0 -> 2196 bytes news/4.37/platform.md | 22 ++++++++++++++++++++++ 4 files changed, 22 insertions(+) create mode 100644 news/4.37/images/menu_state_noimage.png create mode 100644 news/4.37/images/menu_state_overlay.png create mode 100644 news/4.37/images/menu_state_system.png diff --git a/news/4.37/images/menu_state_noimage.png b/news/4.37/images/menu_state_noimage.png new file mode 100644 index 0000000000000000000000000000000000000000..36a352efa6276dad409485954d17387ea3cbc2fd GIT binary patch literal 2212 zcmaJ@S5Om*5)D#AkrGObp-GL>i9#qs=%IvOG$(nfj>J+#Y}8>EV0G$2S5 zNI;Yls;Cj9iCjUYgS3Z#@6EjTKF*#wJF~kVXLn}PY|y4WoDfa`0KkJXGqOA5#IWxs@ddBRFt+*8xXrbbYCE4v1vr-Q%0LuJhK0Xu^ zcJLm#y**=n{qE7P9gD437P$+Iw&2!)`EwTYxRE~*2^k{FK6W{v+vegcqYsNxF1#?r zohgWYjv}|A&9sDEM^Kr&_vY@r66=l4n8-^%$_kIj* zOQ@44Qup^a-1uR_Tpxb^e2OY~W5{2@x`;q!e*6aZAFJ7`(@pi2``VCQY5d(E5uslB zs^@dQ9q_8TsF>tyMV;7ap(WO;d>U;a#O}R|cwF-8mv(P$1tIEyN`zE(m8y^OQIH-{ zb)UPq>X@vgz)Jv@7vp9GrL?1`f zVg2*Dm&#`gI?ZiTlE2^^yngKO`}TP}LErKQ{xB`wAoRs6o^>*Sjc2fbTn&*?HWM}A zZC4S^Nf>&^SBDgctN4+>x+1Cf@I&vo4x4U0ag)9=aGbb?D1VD3Fuw)4hKSsJP^DQu z^VflA{l&NH4>O~%s$dxfw#q~rw&35qb>TKap+K(U*Q0ZEt0Apn>!oXT^Ci|Mz|m+m zWB3160?g=kNBKKtr-uGOP(65K;J>1m--h@9gIwuOajCj6Fz+aTuNQn<9S6sgBS>1qinH%teR zDqpB79w17j%`h0$;W7pWZUTI(oNrZMy_NRjs6?l&^8I5$cNa?a0oMwLQ^@<}Z`NH>?nk89o6Nf zvu&+c!sV_H%Prc0(k7P+$IXwvGukS5u9!!Q@w@Te-6Ul1LB=yx2f+1x7`aUR{m6`T zOUI?Kafi@Fv&^0zq;x*YD!s<~;hWB7stsLxj$mmZe8PE@uSWC4eI+C=v)23*5TnQ` zT80$lUtfzJT3L0(bqEZnN~vbb#4O+NEXam>q;jof43!OteE6L62ncnJu0Ow*MRFsa zOzra24FGQnwYd+cgX6eE<$6M2v1t+O7W?iz`lmTKy)Naj*-`p=MlPlK(j>o4XhaaeLyh8R znK)HvfRhtSN(<2p|3k~4vYSs zLZu@%O6RnUFoIcK#W=JEk@njB0pal%+1Puw&d^`&&CT3FP`AQXvLF3PT>7Wl=L=F4b-A=AL5j6RjU`GXujia&7Cf6+PmSDHW0<^a$!9jk1sk- z4U~pD7q)gm6d5@N3qPxT9S4CThCz=U7o?5lj*HkD3*(>4_1oeFm`$Bz#KimbCv1Se zu8%KT;OI+^uthGd>=BaleKi=bsl7}Wx#ipjlbY4)a8~dIVl{PjEMLrUHIU*msbY?_ zmWH=_phe&^_YT_g8lW^R46WDFb*1E{3tjFdi!?IU16I#$I@ee)+vIJD+*GL%!PF(z z#YV_L>;;3%*L{BcXzLK+*ZD-9D8z<_G7Ml#m}9=j?WU; ui}gmv$0w~!)L0)zMMYKgtK6sjT!?et=4yrKv4@|1766nn+NjY08~-nJehyUt literal 0 HcmV?d00001 diff --git a/news/4.37/images/menu_state_overlay.png b/news/4.37/images/menu_state_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4f967d220fd9dd3b5e6bdbf66f7c538614e0ff39 GIT binary patch literal 2738 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 literal 0 HcmV?d00001 diff --git a/news/4.37/images/menu_state_system.png b/news/4.37/images/menu_state_system.png new file mode 100644 index 0000000000000000000000000000000000000000..7254a9f40ce6b9ec6ec347f4536069260d5a58cf GIT binary patch literal 2196 zcmV;F2y6F=P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ942q{TKK~#8N?VZnS z8fh5EAEj+5wCo=G2b4-6h}VKQ)5{`-kc*e?rKw0R!AtOxy~JGBi)0VtVS~8IVRtWH zBv9O3R&PSDK?1I=hwY)z(p}mmwFz1mN2AW`^C2(u&Wu{iwa@0}rl?stI5-fsaVf#p(mLeC9zYP% zwF<<2Vpj?LtrV;{{=PeT|Ngx*fl=JU!$YxW1y@o`Z~?_RR#6(65cmrbs8!;iuF>KO ztQ4YCsT33UJ63DL#>Q%=?CtFtA7J3n+$=a3n-sqI4#cVjc-asK2wNx#{N~M{tmT&b z%I@y2Mev&kTVx0_9kJ#824q6UvMZLY690ffJp&rr=D|2cvNK42@}eSYj;)1`*RNlT8Zl2idh|%t216@ZnnNpD3jhhMIV7;=kieQl0&5Nl ztU0!(Nk4vv*$nph;p9Zrh*@KM9*hF-mCNwktAF9y<8S!(`^VqH@2~#hTZ1+?ypv65 zeo&eR%i`kJ6c@J!-J~;Oey}aDEbefT4d>-#vE~{rg);02(wm<&4wL+?`NDAv4waMe z^M60VYI(P_MKBqyBZi_2vyTQQi}~Sf$INbEB@gg&!Lt=qP-?-?H&)?~>^k2*WJ30q zWYS1Dn@kERYq`+`1d4J38N(NcxUC!(0YQ%H}Fy4ekm39i7hs19aWN+=V_Ux0|2 zxK;#6aq&@HKNKRhPRO@J2Y!AXfJKd#^@M8~Q(!ZV6fqOhCP?)R%>1&!3`q%X)LE^Y zdb+fpV?V`yNkoNV`AUVTA-*Qsa>fvNkhs5y?F8^Wg-9?5$BrXqj5S2jg0YNLt;$N! zxDYhLw!o{&vZ%?Rus0wsr<*}&=?+=nni(a!Zy5rR6Jc3GTr_>hIYEfzD^P?%$>Z+D zmcY3DXkCKDMU8GqZZ@B@QszbG=;&8bb4WM~ty&sR%`{OgQGll-LueSX?0YOmcfZH4 z5_Zv4iV%>F_l~8)*&0L&?0jdw?QWDTJGh8}qh)i|3We>(%n`;EQk*tn!4OGIA7xLL z-TYvLa)f7(vcMS9R3UL^hqAzgyHL8DM7R?YSaV2V%^`s`hXmFf5?FIcV9jwn58fPN zrNxD=XJnn73mngbQC#^pzgad|!If$!D_+FSpe(Q{E^Ius7WTJ_Rd(umC^P|)g>^Mk0|Ey*oB3eHLXP*d6J<4%+Wwup=1ouflh@Fo%~lNDKdUUU)f4Uh33&YvS~=cOFN zvn4;l*2UNsc%Zl_YA-z^59_Oync7p@@t!d{K-R>*yKz2>9we@bIEMqSqsj!#cL+Z8 zTY6_hX-f*75PXtO(t$BE)hj zAso6X4KFpG%R`~>N$>{N&l#?f17a3#=*OAB(~8g%*ct; zE~rxVAZ8EQW;KUwvkL$TtT`mG=8(XeLjr3K39LEfs?->ARW1O^0-NGm9FqNu&}h&-&XR%TkRO3Sk_ zmtn=_ZV~6B=t1I|h;#0DRo3CG8i3`IUh4V9nZOI;sw{1-!)bck)lLuREqE%-%2jD( zH>6f-P#K*HG1ttwz=El|DpA}hKEl@Z;v&ujo>qjGn3}7yv=52Ej*T29cc3INE@J5J zs%+Fxf&G98|3-21T$o&y8bhv1%^_Fi0zj@xjUiX1=8&s$0pJ2(TwL%SLLV+KFZtHX zpaGGFoS&bgxQ4)AzI=gCpFVX|C)^80 +Contributors + +- [Stephan Wahlbrink ](https://github.com/wahlbrink) + + +On Windows 11, menu entries that can be toggled do not show their toggle state if they also contain an image. +This affects both checked items as well as radio items. + +A workaround was implemented in SWT such that those states are visualized again. +By default, a checkmark or radio bullet is drawn on top of the image if the item is selected. + +The behavior may also be configured via the system property `org.eclipse.swt.internal.win32.menu.customSelectionImage`, but note that this property may be subject to change or removal. +This is how it looks with different values of that property: +| System Property Value | 0 (default) | 1 | 2 | +| --- | --- | --- | -- | +| | ![Menu with Overlay Selection Indication](images/menu_state_overlay.png) | ![Menu with Selection Indication Overwriting Image](images/menu_state_noimage.png) | ![Menu with System Behavior Showing No Selection Indication](images/menu_state_system.png) | + + + --- ## Debugger