From 4ade2d25fc585876540ac9d591a44469fd853462 Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Sat, 8 Feb 2014 09:39:51 -0500 Subject: [PATCH] Issue #20406: Use Python application icons for Idle window title bars. Patch mostly by Serhiy Storchaka. --- Lib/idlelib/Icons/idle.ico | Bin 0 -> 19790 bytes Lib/idlelib/Icons/idle_16.gif | Bin 0 -> 1034 bytes Lib/idlelib/Icons/idle_16.png | Bin 0 -> 1264 bytes Lib/idlelib/Icons/idle_32.gif | Bin 0 -> 1435 bytes Lib/idlelib/Icons/idle_32.png | Bin 0 -> 2542 bytes Lib/idlelib/Icons/idle_48.gif | Bin 0 -> 1388 bytes Lib/idlelib/Icons/idle_48.png | Bin 0 -> 4710 bytes Lib/idlelib/PyShell.py | 14 +++++++++++++- Misc/NEWS | 3 +++ 9 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 Lib/idlelib/Icons/idle.ico create mode 100644 Lib/idlelib/Icons/idle_16.gif create mode 100644 Lib/idlelib/Icons/idle_16.png create mode 100644 Lib/idlelib/Icons/idle_32.gif create mode 100644 Lib/idlelib/Icons/idle_32.png create mode 100644 Lib/idlelib/Icons/idle_48.gif create mode 100644 Lib/idlelib/Icons/idle_48.png diff --git a/Lib/idlelib/Icons/idle.ico b/Lib/idlelib/Icons/idle.ico new file mode 100644 index 0000000000000000000000000000000000000000..3357aef14888c501bcd7bfe02393760306a18d06 GIT binary patch literal 19790 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 literal 0 HcmV?d00001 diff --git a/Lib/idlelib/Icons/idle_32.gif b/Lib/idlelib/Icons/idle_32.gif new file mode 100644 index 0000000000000000000000000000000000000000..af5b2d52cce8951a47ac1604b9332b9032c0ce2d GIT binary patch literal 1435 zcma*m{XY{390%};>*#VP4=+79M-LZKR4TS%V}w$kQc4#hp?QcrlXlhlYMMP>q3V0#s8Nkifv81Quv! zz`((f1q@lju*7L#Siy)5FeT0a>nx1g0{c94y8y)%ICj8vg)w^=cL1&fCy3RH9jGWs1drV<(R4>G0-8Cz`>TVr&$*63~>&MOXgBOZ4n!Q4C1+&jtq z<~?(t`({4LX1*zAzNuz@X;{B>>@A6hSbPQ+{|MusiSf_E1Z2C!KDCS}G>?5_6jyIZ zcyAcrgw+9?&<02?d_#dD1Ci> z{r&w^Ds^CBU~q7dMx)W`bOwVlG&D3kJUlWo!ela8EY|4gD4WgZa5%8s2f}_3(LhKC zAp^v8SYyHZD1*B|<1R8L1gy!qk*NjRCl21c0nak@Q;%v(p{EoQoNs>jDlJFHx#~$!Q<`HbhkPL+k-sKJw-3J?Zrf=&mG=f_VSQxecPsw%+KDoyYv`x z%PmDQY!5b%mg~s-alX->zp}joxx_`^sbBIsr#FEPPTm(nwBNduzGKUM^|1LNk~~^1 zQ_V6*j?rzDtFhh|Pug)z_LndOf`~drB$_EX?U-hy`Zqbs?F%TE`d!sYO;I*k8d1U7 zu9KzFnj|8I(@+nH?)%a&xRqXe_%Ke%bE~q#M&YSf(V}w^*Tb>ahHivGoZN0F1U7X- zqxe?`0g+m)GM=bN{?lqZH9`JJ))FCiTa}i=73LVX7nK@Euuu{7>>?{#i0u-7(235F zl9AUP>T)*v96pzFNNy&92=_Ga+C3(sSvfTYh4d KW2K}JsQ&=`vKO=f literal 0 HcmV?d00001 diff --git a/Lib/idlelib/Icons/idle_32.png b/Lib/idlelib/Icons/idle_32.png new file mode 100644 index 0000000000000000000000000000000000000000..41b70dbc37766a9f229f4e0b88ddc2f13d22e3db GIT binary patch literal 2542 zcmZ|RdpJ~E8vyV%LxYKoVv-nBx#iYi2x$yW8Jb3hYDCB_lxxTsF+TUoLGCAsQpizC zj>;KvrpYDuE>cp%DIwQ6?&6!h|NH*b%*blo$4uU-^To=0sc8!##6;-F|mDun8MQ530gJJNQZBpTDTrC2%n4RM{1 z(!6}+NrCZyl1ufRhG>~6xi_{%gu}HO1ASM;2&3BG0xNZozJeL5rgw=LLg6Kgsp_D) z%iwuIQsT`Kv4qVAWuEcGM1EN=@{r5vAFH9CCWbp^%j*XP1{t+x%c_eDmS2{;mb;(j zl9T1-OS(FfY_!LS<5Y3umV@`*yV{iV@-()lQFaSLW-Pje7A{#-HPP+bVb2NWmQZDh zOqxb^n;Kb59-U+j4#0q@TY7vc#&n}|el1g= zyf$yc!fT$l4DOXcIEcqjAmSzO0_sjrE(_nlMn+_Rm$OMG2STd*j|wRfXC;sO^^i(6 zcA+vgI9h6UFfb>C?C_9*ZP)MUg3#$CKm1gCp%L|Ram&w6VrMqJ{LNVS@BXEd{Yl+k zk~3@L5bf2Q@YjtRnwXE~x)onCzez989?jZekwF_-eg?C*!wPF7rY=NwcW#xaU1C?OSxrQ;1KK&jFKXxhH0`NQdq9#+>6+o*4r$l_|d-faXqBv z{cD)BpMzGa6e5x4>fGG3I%^Z&)YB7+Xq96d_%3>2WY8)8#arkScQN>c*^i#ZbIUQL zTe2mOA=fAO$liz6+orE!n~;_AP4B8Ke|gs;K1^<`Ps{?ft+P=?G(M}0ktY7e?k+8l zE=DvyajNPainlubVrBed_YUcBy7a)E_*PHA_$Vkzz~$dBS8?o%`87Y$zp=K>BmCd= z{l(E}vNr$nbmQvs=!>;53@3aAk15m9ejAX4{JJ{b`Mrz&LKV>yVBZPO?(6vi34Y{J z-KBMmhSzqyUdHNsD=npS(C)#31F>;h;vD7D+LC7F6!St#f{}4o!)KhmDea^mQPx5{ zRnFtUOxJa|o;}=;&CRZ5h{Ysyn|wczxx3q$KrjMeyg9mGiaEKlRw`iicZ;RT7M@TToG5GYj8(31f$H8{JBjQ^Q%l^?m#$U6i$ zqej7TDI<0L0GR4$HSMTAS&gcAfWtM0k8Lp4Dlkpf{E54)IW@ldiO9cKZ(3ab*4}OT zrBNni^tUgn(zsjgi??Ha>C|#rER)9A>rF5)!(My_fUADMV}x6*a}I(TF!a<)m?Nh3 zJt?O=V$Op9{PR@U@~;-7pJklEsxuN_O}&$kPfu?MWhc$pC!f4k+zByK(uA?26LHv+ z0S&MVGzmMk;aTR-@M4lO=C;MqR<-&0x;g~~0NT`I_3#OM&H79WUw%RXa;3Zvz-kR7 zWfqJ+Vta9ckY?f|JASU1wHA7FOOv- zlmrPP(vLyr|CQ7^q?CQn#91=OI$mAJ%UT0(uEHuB*|OiYpyTnu8~!yRXDV355jT1( zw17O4$*XlCS5*FeN0}^ivJtKD6O~TG&aSRnZE5^DTNzFK)hk`acfT;*y0jB(8p2E~ z8V&>^D7nR-RJN2eKtjU)puy*xzDBaSBvnH^PGV`Yexl!U2~@@jkhmP_?F<(x%PydB zwMM_qt-DiCM+`)*_^-v>W*8fvY1Bo7c_gzfvb@SYFf)~>jSy19 z3?5Kh-!M%bG81`AW7n)Nuy>BSN81jDJo*qjoEH3o@BZr1yXdLGHnUy8gWYfk!t=Ja zzq~N;6(;Py6ah)k*nm=m4 zIy*H{$vrL86nf)E%8rifDgo^W%l5uPfVK4zWQh3Tf5P4>9XkVKvEUl);-enhn)y1= zL{!>0qvQ&l0zx5KTgb-!>m&mZp?l=7=FtvcPSo1Mxs>q zrCYPx;x-f~isj*Vn!1gem^1#~TKmP?*@1=GC literal 0 HcmV?d00001 diff --git a/Lib/idlelib/Icons/idle_48.gif b/Lib/idlelib/Icons/idle_48.gif new file mode 100644 index 0000000000000000000000000000000000000000..fc5304f31eed32d5f7769e471c3817b58edc10e4 GIT binary patch literal 1388 zcmc(cjXTqM0Kk9dHQZT*lDm{)vZOl|iQCCyo84wNwp=u>93GW(C|BH=#WoYehFD(a zyk$q*4jnz)P{x#(>vT++=qUGCp6NwBeXstC`}_l+=lOg>vB&-V<9r|==p_VUPUnE0 zU7!yE`aQvIAD}{kI|snXL2&N~ms&dS)%QbL_xY;6!%SsR;Xp{y&}pF}zIH55G@jXbH?wIhqj^#w z5Y*Jvh{fWLjt-ej*5BU`w8h|`TCmyxmfFC-((B!t+TIDt;Iw>nu3D*+PAm@&4r(-- zsi~>)=|@_v7Hm#0E-tRFu7b^#l{LdN{f5C{0PkMD+I;r`=zn7O8xtc4qCu#S{*O-} z^Y;u|9y6bHrJ#^qK&4WOu9lP*Q79y$kie;?QL!`}1xLjbaYVd;LL{}31bEz0Le;fG zDzm(|j7q>aN(mGK4jT}tl5=r1WdpCgNFux;Xd+?*1u`}Be(^Y8cYm5Xqn#7oZV-zJ zyagT!yVO3b?#?UL>+2hjVu_hGf85m6O0#t#Zdlb5_NUHTI4%Y8>`y+)|DyK0r=!Av z9`+>qi;l$ z4S&~Fa32-luyCWPW7?uxFRvRq5y+TVkz0ftbM^>dN{fCz4rAp?$xCyNl(0|4tmU7$ znZ9IUZNDq%V%S8zvH6~Tjze;o_4zVHdAZ5kp$|oOMx~_wKBgRGYp>)VYF(I!)Zy=o zl!NIQ({(4=St0TO?C0HKQIn@y`M1-&6L0yBO2%>rUaxcdI4}$=(BA9uGOXAS;~N^A zRT5HwPljNxMc$!y>r6DvQxar)%e@)_n@jM;$IUWUsxb9ohAmAyN0 z7!C8aES+^lJZ-W11bOGsDenGaxGO|Ol_-qNDeqGoJ>EwASnA1+Nn`K-En+y{+}q4E z*a9j^#lS3Fk`%lilC1_qcp;`<=aEBM zJ5#eT2NDB195l?quJw}D_FeltSav%}Xr+m5*u0{M{yCk|P-Hu)_P9h=ags`cb)yNW zUsH$7oJixICe{qjqLHb!ivsFp35af21>`L#$?H7>70xFko_Ab#O7duhA>pXdOAe!L zVo6YLh~-ArJgT|p3zv>ct{EH+=T(RBGPEi$hpkB83#<;?`CE)qHvb62W;{ZNwOwyX zcJFc@lUX9(++2}wQwXRr%6TWR%cxhwt`p!66 zeF6z%+T^|<$?zNv7`w+gn|Q9peE6iY@=X`UN7<}JjAi=BzemBpyrO>I0E2E6cGAM6 zFKl@gd=r!^d(QZj+m<*btYL2(8cuWFqo+>y%y175bZSR^(z*6*`w~;R(>=}$)Y5#u zV~*OLvi-AHJ}oKTG+p$;U`upLpj>Uoq)0PtW|!n6ST$XwS#+oh9*O@(G@$ms-kg#U R*>>0a?W$}#C(H#3_z(F5crE|{ literal 0 HcmV?d00001 diff --git a/Lib/idlelib/Icons/idle_48.png b/Lib/idlelib/Icons/idle_48.png new file mode 100644 index 0000000000000000000000000000000000000000..e5fa9280e21f86b0e5e750b02279b93e36009589 GIT binary patch literal 4710 zcmZ|TdpuMB{{ZkYGQ1A^J(cx$U9+&73FF+uOY*UQE4ZrUL zwgF~0hK?V&qS5wHd1O`y33-v{%vrwvnMNi(EMwO-%VOvjr)H9uJ|16@9k_Z2_&1Hil<}NwpJ!+WJ!Tn;OY2$p8y0(MkB*Pk$-joEvmou zwE!mlJ%HdHtokQUM%~k$isIs0z+Qx;raEAEg}nQ?u5P$HnOP<1*d(;K`z`Ke>s0$| zltZ0u@%_e%iq;mutWOxo*Y_axS|io{)u##oSFo~OmCtPNznD(YxW9E(8bG`!gq>SR z(HbeZGf9t^vq*=vtb-7hAVf%1z^{4B zuc7RIce-A{sc9E7z0-xfH3|(Mv06gp>5)p*^`1_BPEfEaQWx0@uWT83?WEVLPt-d~dorwn!>h(w%eoZx@N zJ16Su9u5}SRX=ve&VX`cPR?DM8;XCok>oH^W@NEAq~^Yvl%Zr3=P^vdPqgyj>+%4X z@R=4M^uOX5GHVmkA6jy_;{^kqm)eJwDJ%!4Nh-mSg2aIf;38clac8-)));# z=7QYjYW{IB;pZ0ZMiEh-A~dF&l_~$DWEtPbfXjb91)1~qx9lzGQQvVazYu-Zo~UF~ zflF?KCP96w;y_h8m0=Yh0WdYp_%n*wn2gB~xC@M|b*RRz&Q8hR@+?E4wy|xEtN51~ zcn?C&)fgld1d8=5rJg^(xx}asI@o9IKb~lPb>f`IQJ9GtAdq>rj&Y9B+zOD;rdsq3 zupe0FLsG>c!L~JiE8{IMOiho3Hae{mht;$2cgs@#Uy|#*v zk$YgWdI#}4lz>0lIPSl_OVVuh8@p{bk`Yu#U``+23AARFNpWpf@{aw>@ATR~u6@ug zgIBFF0KVG&v8D*Pp@E8Jg z(Q!*Jlby@pZdivflXXr-l1*F;P_S_Nn)MC9-=h~Q{L-SEmaBBai!yedOF67*H&OkW z5E@IH0QHJ&c(=KFLR1d8&R8YTAJRC zOOVmzQ#~jL_wA{od+g7DIfj{@`7yIuSc15I!ZC(RF*CDPJj^TzZSA2UQ~v8Fkz{hd!u5+6 zaX1rLPdJalt*sran=a1I&b#Zyp0(v*yx%A<&%H^y+Ck+8*6C}Z&Ft(^@gvZH=CLL% zvOJ7O4AO?Ca26a<51t%dZSc?*mR~37c(MM5%2QQU_P&*rmR4wH8Ad4E@Z>Fi8P!(ib<6c)Wun+orhTVbX_&yk z{XkQCp-s|(aJ`=k*JxHk4m;kq=IQyab|yr|F|rzwA-!TiB(W)i%+Ty?ogxaW?Ak*L zQ!Ggi@B3zbbXIIn^?l(hh8Z?c2d7x?8!)vH3P(a{gm}8Ms3=uT=cn1ROdWy5!4P{Z zUHu;ngC0EI&CRNq3pa>ur4^Q>W7Rg=E77x*oS7G>jm6Ncf#SIQkwpmaw+i;6R%kyIjBSDf94K$R6S4Hbe719d*Do&(sZ)1YY2<+R~v8OC|o;$1so^ISW zFmTINI|s8UAu4YRNGo=>PyG6`UW~uwt08ElMNrBCnG|q#-^wi8ON$qv?a;_)E2pRS ze(AfrV?slln#}TWW0=oEijo;4<1|{vuajY6$B%Qs`4M`4%Y7OAsyi!Zb#(X<1pobo z`xp$jP|c2qQP`!oJ=k*py@EmLhf^<^ZO;;@H*F>={I{1#dsanWT7(5_H@8P;W9jO; zI3;<-5_a0R zg}I7%^uK)Bb-FeHqoJ|52!)=dc?9ppS316{ulHY{>0unCN9I)d_nlJBm{Ag{>mIHg z8^d5?W0R8;67rak{*c4#y2IDit_N|F7UYOV+eXh{o5E~GGFK(W6vl~;yG;>xb~Tiu zE-Io0#@#|7Y@MDaNNfZI1o)eG1*z8CvWNuz`B)(|7#@)yp7~$&El?~P`1o<*zsk*$ z2~mF*&nHO5SOEre`Je{U4h=^XpF&DdjRNL{{8oeK#G2r{=*K{buZjblYR;(p)!i%;;l*uq59L;7WB?uAPyB$ws`l0y>6P1Gqd z64S%O$;mJA`<(%Op>>Nn0ze*j|9sf)olf{b*(Mq(fh!Q+4 zb=A9{Vu_jg7i=vbx3H-Sf4 z@{VayuP>y88#_s0EOT1T-4_>aDsm77YeZ97>ueagLnlqIa^7rUEdzkNR?<1 z`nQ8cKk<7^uU3}qLUSKBC8fecR!S{3LpRxc`EpElU!jdL<|A%MavzPkVV9P28Pos6 z#@-yW)_Ni#0Sd(-zn-39{&-mrR|#aqaE#W}2t5;pBiXNWvq|ZXevwg~BS>@a3udJ@$(~R|2m!?|&%|}_9JEJHgb>?)`b1A90g~U&5L2HR?JjyACgdkeKm^HS9D7qG)O;c~F3xZLpdCeE?DpT`%RJYqKM_R=+*=RlIiZRBww&*95#?p$YTQ|U4(}E{T3U66DLZvf~Gr?4|}&^ zO5-N}@$@Ul(9kQ1inmLhqw?q97)J1l>-2wVn2^7PEiXXI$+fP2P#FpQ@};4rEirKm z;0K4BV;(+C{^7dBqN#%0ICBkDWH1E{U*H&$Em7pFYS3XKe!YoYEwtj z^*gZcQ+WGZa&a=|CU&-dPbXURua=InY>h%(&aUzD)*uB0%G~eH~Yh=l+-t< zy6CCe64eUZ^XJ1w%aWBwnnLL~uNbSEx}E5^umAY(vmQ*Ej`%uxI@|(;H+cK}9pEgZ z6^{IyZ8wYOM^~7x-|NWta`C9Tq1l;H`&y0;{+8vX(;trBzaRbB)=uuA93o+s&))B) z8$FC*ZBk`>E+M2?zfbF3CaRdp+wXCRqJl3Kr0yEB{|gsd&dg*;raIpL0dbkrTdsFL zCr_Vj)VOi@$BnFyk+qMrlaGteJ#Ux80ivd&s;;D>s&rQMhKjb1il&aLnu3a&j*7~Y iAX&u!nc(i}?B+`N|0f)gN-I2^05LT(#}r+34EY~9WGaRL literal 0 HcmV?d00001 diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py index dc3cfe6120b..a424751f1c0 100755 --- a/Lib/idlelib/PyShell.py +++ b/Lib/idlelib/PyShell.py @@ -15,7 +15,7 @@ import io import linecache from code import InteractiveInterpreter -from platform import python_version +from platform import python_version, system try: from Tkinter import * @@ -1536,6 +1536,18 @@ def main(): # start editor and/or shell windows: root = Tk(className="Idle") + # set application icon + icondir = os.path.join(os.path.dirname(__file__), 'Icons') + if system() == 'Windows': + iconfile = os.path.join(icondir, 'idle.ico') + root.wm_iconbitmap(default=iconfile) + elif TkVersion >= 8.5: + ext = '.png' if TkVersion >= 8.6 else '.gif' + iconfiles = [os.path.join(icondir, 'idle_%d%s' % (size, ext)) + for size in (16, 32, 48)] + icons = [PhotoImage(file=iconfile) for iconfile in iconfiles] + root.tk.call('wm', 'iconphoto', str(root), "-default", *icons) + fixwordbreaks(root) root.withdraw() flist = PyShellFileList(root) diff --git a/Misc/NEWS b/Misc/NEWS index 9479ded78ae..5bf0af121b9 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -211,6 +211,9 @@ Tools/Demos IDLE ---- +- Issue #20406: Use Python application icons for Idle window title bars. + Patch mostly by Serhiy Storchaka. + - Issue #17721: Remove non-functional configuration dialog help button until we make it actually gives some help when clicked. Patch by Guilherme Simões.