From 4fc8bdb084ab7b509dc9b6b1acb2dae5a6a288a0 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Fri, 22 Oct 2021 18:51:20 +0200 Subject: [PATCH] Use the new scrcpy icon Use the new icon designed by @varlesh: Attempt to use the SVG, and fallback to PNG. --- app/meson.build | 6 ++++++ app/src/icon.c | 6 ++++-- app/src/screen.c | 7 +++---- data/icon.svg | 16 ++++++++++++++++ data/icon_256x256.png | Bin 0 -> 6530 bytes release.mk | 4 ++++ run | 4 +++- 7 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 data/icon.svg create mode 100644 data/icon_256x256.png diff --git a/app/meson.build b/app/meson.build index 698120a5..5d7495a9 100644 --- a/app/meson.build +++ b/app/meson.build @@ -151,6 +151,12 @@ executable('scrcpy', src, c_args: []) install_man('scrcpy.1') +install_data('../data/icon.svg', + rename: 'scrcpy.svg', + install_dir: 'share/icons/hicolor/scalable/apps') +install_data('../data/icon_256x256.png', + rename: 'scrcpy.png', + install_dir: 'share/icons/hicolor/256x256/apps') ### TESTS diff --git a/app/src/icon.c b/app/src/icon.c index 9944727e..81d0ab47 100644 --- a/app/src/icon.c +++ b/app/src/icon.c @@ -14,9 +14,11 @@ static const char *const scrcpy_icons[] = { #ifdef PORTABLE - NULL, // TODO + "icon.svg", + "icon.png", #else - NULL, // TODO + PREFIX "/share/icons/hicolor/scalable/apps/scrcpy.svg" + PREFIX "/share/icons/hicolor/256x256/apps/scrcpy.png" #endif }; diff --git a/app/src/screen.c b/app/src/screen.c index 3cd4329f..8a2748a9 100644 --- a/app/src/screen.c +++ b/app/src/screen.c @@ -5,9 +5,8 @@ #include #include "events.h" -#include "icon.xpm" +#include "icon.h" #include "scrcpy.h" -#include "tiny_xpm.h" #include "video_buffer.h" #include "util/log.h" @@ -405,10 +404,10 @@ screen_init(struct screen *screen, const struct screen_params *params) { LOGD("Trilinear filtering disabled (not an OpenGL renderer)"); } - SDL_Surface *icon = read_xpm(icon_xpm); + SDL_Surface *icon = scrcpy_icon_load(); if (icon) { SDL_SetWindowIcon(screen->window, icon); - SDL_FreeSurface(icon); + scrcpy_icon_destroy(icon); } else { LOGW("Could not load icon"); } diff --git a/data/icon.svg b/data/icon.svg new file mode 100644 index 00000000..0ab92c2a --- /dev/null +++ b/data/icon.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/data/icon_256x256.png b/data/icon_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..b96a1aff9b842976bae652c6fc22af7daed8bbf2 GIT binary patch literal 6530 zcmeAS@N?(olHy`uVBq!ia0y~yU}OMc4mJh`hM1xiX$%aKo}Mm_Ar-gY&gCo-N!@nb z_;E6eQpYAPCniCGn?g(+N*zjF3p%`5WWQF*O<-~2xcR-+HYNVVp|XO+BZZPr1yclh zXKS!HF|`ONSg-i(Rv;-VG2!_|8Kd!*oMjTd-?mn*SBB&ZfW5l zz~V?Xw4|uCH@YBv{f?vS_AdUj?7sZl|5^-Dt=SFPjoF9pz5eH4oAfuntdH-;QxVyM ztD0&J3=CCF>n)D6ym=!m{2;M>>V0*+4~h@H#S~63Z0Y&1z~;>sos*yl{I``ui6Klt zI^eGHxy^fj9s6s@SlD~a>>}e8+dI?W@qJP|-cWhvTD{)gofUixvmg#^%5KhHGLiEL ztJ})ezie&Z3Gh6a^la}|Lq#*JE0zqoH4 zke_wjltYDK+F{cruUXdw_cB_zv)2{HA5mfvVBmZZ^=MX5KjRUWnp1bhS@;<;+n8d4 zR~a_U6YREgeZVk*Z=L2<2?zE6J8uh^Ff3`#_A+IA@ZxuxToYSENrCUmV+^-`?b#^n z$n0=Pw%G~9e;4z?iid$gQ!tB*je&uOVW0>{W{}klj0_A33=9ks3=9lx3CUKj=hc^= zaVUzEcCrl?o1A>YMrGQuhcXXh9?W^6{Dkc}2hV|XJPZE+5|~wG(;K&Q!?}*gt2<2+ z<84Z#HwqkGU}*77rutlCTjj@|3EKQ?_}ds)++~n)wt2bn?`mn*9g3T?uU&GUtsE#J zmH6SAhT${ar>xKUo(u3ew6a~eR?p}AOKsy(1!*SX4fPhso;^A8B!AM1*aI;V4Yzm_ zZnR%aV~x5m{9@t;j@G2*1v$QzpUjVZJuD&7FpFnF?FpNzl}fkYI2fOw=dt`-;|!TC z=C?Qv=c*mKHfhd>6=yR4awbbOy!;X^pCWQ#dUo;4m9IpqmK2HhYQ%fxJ@w8AIa)L; zVCSrPYfol~6ntM>s3B$DoP6uVo7Nk}dTw|+g`mhPV#uv>wLHRS$R@uU+QuN+Y|}^$v8=YEO>X{@%Gm z_xO#gXZFkp+}w8TT^u8GKsO`LpJ)l&D9QY?1v8JY5_)yK&PK!|w#O+b`?~$j^BLFX zCue*5eJDsgQ5|T&uvNn0ctn1Y_5LG^5{%DZO}VCewpexM6NxvSO+mNC;uX_mcJH#_ zGTdq+AJZE1XigL3iVS&&{c{(JvDYjyaC zY>`~1XMT&p>{5^F{)Y zVnO{+j$YBe8(;JOuBCOyuY3;ChyS1bKVE;VzWsmRagO|_D*HR{%$G{I^7Z+RmHS@v zGfzm+n4tYNz#(!qlkDO>E6d#&c<%|hCfh~33G=I5n6fCO>fs%!S+TRTFa9epbbr#i z_0jnU^G!cK$lAzm;_^fG&u%NXYV9?z-)rVxw+~O$Z#~Gc=5T8Hj1=d_jk}}rgHPPO z`1$DNY`5pSOHZ<%{1Q~T?I>%W?w{R1jX$IpMvD8CAKx-hv*&K^ov-EF7rp*}V4lGo zj+A`13wALQTyr+nXc*kf(AY3-&L*bZ&n5j|mN7~ndNJ{Q_=PW*dcw5Jf@jvLIsaMn z=abKI5B=F&0_XQI7^+Pw`Rko@!tjtVTS9+2Q`zZnTUSMA{3trnoqj!_y`WNP&*`pK zlP`xgX2r}%nsQ^6^N%;deak1kKEClv?$Y%-xmOj>bf?WZx$5`a%V#S7FFv`hewx$y z<_1QOEshz}OPv|{n-?C~aaUXQcg%OauL}j|AGx?CSn`$bk7?(kG)@Zaf4tYbMkRZD z;r#V$>htfPTDQMjX!kz@hR$}T#LpQoPD*69F)`I{*0s0URJ%c)w?f-T#@+kllII)s z_wP6)obX5N_L5a8g~DfcoCU*DaUGxgd1lly1e zGuMlG?>~N~OGavQ^-ha7hTC8NPr5m4*L>rvr`FY9*NIQnFFwSuWa;~J0^O5a=TDPk zWAEtse`w1>hwVpPzq~jY>Xv|Nr>raYI7dZP` zbj@PVc-2d_CztK5wfuKF)Gf9?`__{8eF0D37dJ3^*ou5uq8P@*xvlhnSDJ?|m(KZ6eMcnh&9VdYXWCoWvpa7#d8rbY=yApR^Ec^rzn)3R z|4e(i`hL>&{~@kKKDivVZMsUEa6!LhZ_9?wd<_z6-U-mQJtWFx>F0xb$Sm$)yGc3^T)6 zw|Se3%$Oj*e)h$92jOqWXPaz19-BHZK|1|tuutv>6=m^tD-XAHvJ0>HyeV3nUHIEE z@9SUh%PpF>_M8F3&prY9pq!rp2{FwJ8SblHzET?O>-)%ejaSH%ihI*Ov)y4^=A(3O z)ybuu?LFZMYYfjSswW*0Rg`Er#_Ld%wEV|}*FP<~Cue$<&U$J6G|OnM)aF~o>kkx^ zE>&F?ar5i@Ij@|vP6bLd+*!?3d5xDfZJWWxqbL6s9OV+(&B?y`)4t|sZR|F0Hm!QS zUw6ipY4Z&jq(1P@ zFMk#1gjU}YDGev*aTx$*Hu4J+&BE{}a&45|VkyMNz&ykG?=^OFtvb65ru=s|r*oQA zMF$%+{+oR$fg#GQAuh99TK3+-&Zh0(-|*X=-0?6Vq3mqbtIcWxYzthOA0)4kzPI}L z^Q$*MRpcf_-xvfhHrTci_3MgO&*#{CD-|$<22c`KH4V}pxDLa+tT0Xg1=_m3ZQ${$X!Pda+D=s=yGj-gG%l;S0? zi{vF5Y$Y9{6Yu;lNnG_YRXDU$gF(S);lbYXm;IJ?nwuYHcyol|&URhHeMPIJ^nW+B z>2oiYczR;R9#sQ|YJlif#o<$oQp3!kj{Gp_i2{{4lz_VNoiW#7NdZ(g_b|D8RK z_v8Q1c0Csyh9lK4aX*1ldr&VOGY+yC+_ zw{*aZ?GL|lOSdlnv;S;XaG%4wr+X*WvemI4DF`Y^xfdkSAjP}jwpaY(b^n*FQaL#( z<#0dyiJ;iMm9lCVSn^};cwBGUwlU;&{T=6Lr5HvX$+Ow_nwTPMilkjwVr$#qXQ z^N;H$>R3Ac|2c8y`M=AmnI;>^7`*y6`}dRlRq6tt{D(`w{_5`UjjLEr3YosW^ju|X#lMF1xrVprXMT(ED)tghQaS#wLHyLF6B|vxvmIdY zNxpG^@vHPg)i=M4mxk|G)|{%AxM|hY9`AUMTg&!nDPO;|;I+G<0fVaaf!Kxfz64cX zTYGXgceZNn$#!+Y{7G9L)iOnyHzbFzQppYOyC^K=_v6!t!fEdoMBG!mV|a+0Z9xcg zfpNsQ$yJkjr>|IYZTt25OM4h=%KxUHy#3X*Gd%LfpV#FadaaBa7a6QtDkr+T`rZBg zH|V|4=ihnVPdcmKKI1(r&9J@k%A*L+y|;t+JHB{&>dv*7tOpoo9sm0HhShYr_?=Oo zT%N|(2X%*wY{_Gop8rRya<|t`>wxo%r+zH``Se?+43C2++XIP5k>&gD^K`2J`{J|y zwdYsr!RP+zm*)O6Xb3ZBu)7}nZn?ej z7L7S-wQ`>Se?H!&(iv5=bCTR0v-rcJ4`L@`Fhw`V^cwPAsEZ=GW z`rur<7mOUa2XZF{eA*bA8&&brhWBRK>-3YBECzdWXWSQgBVsJib|H$*;LG2P$n<}` z7UJqQYxf*wsjhHWkQEj>_a`>XTywRK{~yUkGvCCnsbqd&c451F+0FDM>6xn+Pe0db z_;CI~!=kB~LKg(?rJdVp{-;?&!XaDoz?MfPH?RGjopfP(UFpeF{?c-MA9h?8`TO}) z|C4H!?eFe)$6ifNoMqmic-*P?){*rIvVZSSo$n*}xp;g1hIc2=^PKv=`Q-C!@3||! zg|P7~Fy(3B|8qh9^V77&DNj2c4yUB5z3*K1UF&<-X@6hakN*E6Tvxa1{r_MSzqsDq zAb+3lyb!PSA2%a5>hj!9tGK6B=y4$TdPsl6?OEx+D-W$tw6Sp8_Up|r>GtY1-hiRQPdi}v@Wzc_eU7tvnG+bk-r0S`{adg7*>xOqIs~S# z*YUiWN8<{Wn~Ea{ui# zR{1**lfxEuZT=_m-F)|@q#arblNNFrPN=@Q-tyRMKVGSC-z7kr9(-Icbd=fths^hD zem4}`n=>DLV?C?>GB5t7`SKgWcf#(ZowfVgYW93vey;OV&I~*2f=dfsBpP&i7Q`Ni z`Is^-^Xkhksl$BMlAg``IhP$|XFjt0#)I`tM?3AJ`@P?0MJQ~M-LANO>5XMhw~M5U zqqSca+Xc^6nbVN1GXpo$OOs*0cHi(h>v-e)#z&Xx=Zb1`(e%UQ1>^z4_^` z0t@pD=ebGZ9e3;N)TKSyr?BLEJiha0(;0R)h3Sl6&T=aC--=O@2~hbH*LC_HwEpYiEck1}JwQYI^!Deg5O^8 zh38Et@o3D{yt?v=@kM?%g`YwRVG}C6wI}gtNX}dGZn`uN^MqZDF)eOSnfbQ1bfu>pHF`C10|%QzDRW83hhv#m4nNyxPC0g}SdU>E5xB^6qj6%- zfw0)Wjq&b5^ZS`sUiP}fcgJJ7|NMJ(4-c_Un)T>Wl9rARi^Ik_HkFf}oTy!=c~<(s z&f@12QXDRZgoGSmcw)q`Y{?RqPBxK~GmX&w>>zUc|ESGQ6~?`}5=WD#M2L`~O)U;h^x8aiFjf*U(kc$ zjQfhY_nVrV(+hQ9W_g+Ja{s>YuCbBPv+(fn|2+*%3DgxRgQBhGX2bdBrEt~J;?|)vB?Wny|c<`#A_-1{DO_`UMH3+Nwy%FAJ7A}~<(6j4z zcz1XA_uLyB4(?C9%VA-?BB0*z4XcDv!Gi;Zj*gD{&!0W}weR=4-3z_aKR-L0XkGT^ zN7?mtu`E;0r_ZnbW_#R+cjwf(bKjocdcgEz$XbpaFS9(SzN(q6zf`M*ftCB9(gHb) zv~LrtnPO!^*2QJq6b$w*}Ct{XcFlPiCJd+WY(&yQ-$8=brEMS*zY(TN}-}V)~LLD)Fk%XRKqZdX@EvkKIF3X_39WZPk|+2FB3fLmOS(oYPh= zSdd`Wb==OP?9C0G6qA%qc0V38Telps?0vLR`jo}86FDbTI5|ISbsgI$P*t*CVY6cJ z{C`U|q;@~fsjK@}uXuQ2nre@Dyz|BzZ(|O`Pkb2Q?f>6cL+lHaLhiXg`x})u{@&Se zed0@jdH-%bm8oJ32u}WQ9w;;G;r@vq1LpqdR8TouDbki^(I3aqGP6GSvzC#(kgAHa zB9~LKh~UNf6aH5GvTsbf@TTj4O9;cff3E|0W~s7^GB6*wG{4NUm8*d<#!)e2+Wi1V zgND@_ED{V$0!2kcrYsaNvF42E;<~Wo)926TizT+4ytlXdz8h;s3@0aN1*6Ae6*aYe zZCnj8t?G_~Tu#w%Zf}3@GTSWo&V+v#IO5~)hxf@?HeF@tRXFmiTwZ?uO}_2t9=4mT zOJsVtI(&T`i|_@vkH?Q6{~XI$BX~SuiT#sB-fZRXIAtsf7@jlU(v*q5J2}2yxS#uy zywR?MGuBV?^7ZAtwK@I#zow?9Yz>*K`d?!oM}YFNS)p%4`V#vu>3tTIl#~{xuLlet-za@|=VxO3viA?Amv!5+NPcH(P&;s0-Y7_3q&4kDZ%O;CAbxhy z*mypjU3I(JFUe&2y=D1zh~v$=50=YvC*GT|^3iFPpXa{C@oj%s@SZ)Sb+caC_ZLZ= glub!o`Sq**y}}%h+e)eV3=9kmp00i_>zopr04#ywj{pDw literal 0 HcmV?d00001 diff --git a/release.mk b/release.mk index e327654c..2319f21e 100644 --- a/release.mk +++ b/release.mk @@ -94,6 +94,8 @@ dist-win32: build-server build-win32 cp "$(WIN32_BUILD_DIR)"/app/scrcpy.exe "$(DIST)/$(WIN32_TARGET_DIR)/" cp data/scrcpy-console.bat "$(DIST)/$(WIN32_TARGET_DIR)" cp data/scrcpy-noconsole.vbs "$(DIST)/$(WIN32_TARGET_DIR)" + cp data/icon_256x256.png "$(DIST)/$(WIN32_TARGET_DIR)/icon.png" + cp data/icon.svg "$(DIST)/$(WIN32_TARGET_DIR)" cp prebuilt-deps/ffmpeg-4.3.1-win32-shared/bin/avutil-56.dll "$(DIST)/$(WIN32_TARGET_DIR)/" cp prebuilt-deps/ffmpeg-4.3.1-win32-shared/bin/avcodec-58.dll "$(DIST)/$(WIN32_TARGET_DIR)/" cp prebuilt-deps/ffmpeg-4.3.1-win32-shared/bin/avformat-58.dll "$(DIST)/$(WIN32_TARGET_DIR)/" @@ -110,6 +112,8 @@ dist-win64: build-server build-win64 cp "$(WIN64_BUILD_DIR)"/app/scrcpy.exe "$(DIST)/$(WIN64_TARGET_DIR)/" cp data/scrcpy-console.bat "$(DIST)/$(WIN64_TARGET_DIR)" cp data/scrcpy-noconsole.vbs "$(DIST)/$(WIN64_TARGET_DIR)" + cp data/icon_256x256.png "$(DIST)/$(WIN64_TARGET_DIR)/icon.png" + cp data/icon.svg "$(DIST)/$(WIN64_TARGET_DIR)" cp prebuilt-deps/ffmpeg-4.3.1-win64-shared/bin/avutil-56.dll "$(DIST)/$(WIN64_TARGET_DIR)/" cp prebuilt-deps/ffmpeg-4.3.1-win64-shared/bin/avcodec-58.dll "$(DIST)/$(WIN64_TARGET_DIR)/" cp prebuilt-deps/ffmpeg-4.3.1-win64-shared/bin/avformat-58.dll "$(DIST)/$(WIN64_TARGET_DIR)/" diff --git a/run b/run index 628c5c7e..dc24d1b9 100755 --- a/run +++ b/run @@ -20,4 +20,6 @@ then exit 1 fi -SCRCPY_SERVER_PATH="$BUILDDIR/server/scrcpy-server" "$BUILDDIR/app/scrcpy" "$@" +SCRCPY_ICON_PATH="data/icon.svg" \ +SCRCPY_SERVER_PATH="$BUILDDIR/server/scrcpy-server" \ +"$BUILDDIR/app/scrcpy" "$@"