From 99a9c03f3c5815552d26527e9560a95292abbf6f Mon Sep 17 00:00:00 2001 From: Samuel Mannehed Date: Thu, 22 Dec 2022 11:13:20 +0100 Subject: [PATCH 1/9] Rename browser icon variable to reflect use The other variables in the Makefile are named according to how the icons are used, lets do the same for the variable for the browser icons. --- app/images/icons/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/images/icons/Makefile b/app/images/icons/Makefile index be564b43..d259fc28 100644 --- a/app/images/icons/Makefile +++ b/app/images/icons/Makefile @@ -1,4 +1,4 @@ -ICONS := \ +BROWSER := \ novnc-16x16.png \ novnc-24x24.png \ novnc-32x32.png \ @@ -20,7 +20,7 @@ IPAD_LAUNCHER := \ novnc-76x76.png \ novnc-152x152.png -ALL_ICONS := $(ICONS) $(ANDROID_LAUNCHER) $(IPHONE_LAUNCHER) $(IPAD_LAUNCHER) +ALL_ICONS := $(BROWSER) $(ANDROID_LAUNCHER) $(IPHONE_LAUNCHER) $(IPAD_LAUNCHER) all: $(ALL_ICONS) From 034fd376ac10b2e0faf365ce9606ec0cca33bd5a Mon Sep 17 00:00:00 2001 From: Samuel Mannehed Date: Thu, 22 Dec 2022 11:29:10 +0100 Subject: [PATCH 2/9] Simplify icon variables by removing the filename The filename is the same for all of these, lets break out that part to simplify things. --- app/images/icons/Makefile | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/app/images/icons/Makefile b/app/images/icons/Makefile index d259fc28..490735c9 100644 --- a/app/images/icons/Makefile +++ b/app/images/icons/Makefile @@ -1,26 +1,10 @@ -BROWSER := \ - novnc-16x16.png \ - novnc-24x24.png \ - novnc-32x32.png \ - novnc-48x48.png \ - novnc-64x64.png +BROWSER_SIZES := 16 24 32 48 64 +ANDROID_SIZES := 48 72 96 144 192 +IPHONE_SIZES := 60 120 +IPAD_SIZES := 76 152 -ANDROID_LAUNCHER := \ - novnc-48x48.png \ - novnc-72x72.png \ - novnc-96x96.png \ - novnc-144x144.png \ - novnc-192x192.png - -IPHONE_LAUNCHER := \ - novnc-60x60.png \ - novnc-120x120.png - -IPAD_LAUNCHER := \ - novnc-76x76.png \ - novnc-152x152.png - -ALL_ICONS := $(BROWSER) $(ANDROID_LAUNCHER) $(IPHONE_LAUNCHER) $(IPAD_LAUNCHER) +ALL_SIZES := $(BROWSER_SIZES) $(ANDROID_SIZES) $(IPHONE_SIZES) $(IPAD_SIZES) +ALL_ICONS := $(foreach SIZE, $(ALL_SIZES), novnc-$(SIZE)x$(SIZE).png) all: $(ALL_ICONS) From 9649b8ee259cdccaaaa7474c94e8d14ee96f466a Mon Sep 17 00:00:00 2001 From: Samuel Mannehed Date: Thu, 22 Dec 2022 13:02:42 +0100 Subject: [PATCH 3/9] Remove duplicate 48 icon from Android sizes This size is already specified under BROWSER_SIZES. --- app/images/icons/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/images/icons/Makefile b/app/images/icons/Makefile index 490735c9..fff7e474 100644 --- a/app/images/icons/Makefile +++ b/app/images/icons/Makefile @@ -1,5 +1,5 @@ BROWSER_SIZES := 16 24 32 48 64 -ANDROID_SIZES := 48 72 96 144 192 +ANDROID_SIZES := 72 96 144 192 IPHONE_SIZES := 60 120 IPAD_SIZES := 76 152 From 079889a13ad95714deaa11c994368d47f042658a Mon Sep 17 00:00:00 2001 From: Samuel Mannehed Date: Thu, 22 Dec 2022 12:56:45 +0100 Subject: [PATCH 4/9] Stop including apple-touch-icons as regular icons These icons are used differently and don't belong in the list of regular browser icons. --- vnc.html | 4 ---- 1 file changed, 4 deletions(-) diff --git a/vnc.html b/vnc.html index 2458b437..2da8f0b7 100644 --- a/vnc.html +++ b/vnc.html @@ -22,14 +22,10 @@ - - - - - - + + + + + + + + + + + From 9e9d5ef17dc79b3a192014c9e42e32fcd4d66420 Mon Sep 17 00:00:00 2001 From: Samuel Mannehed Date: Thu, 22 Dec 2022 14:02:04 +0100 Subject: [PATCH 6/9] Simplify names of favicons All of the icons are square, only providing the size in one direction is enough. This change lets us avoid some unnecessary complexity in the Makefile. --- app/images/icons/Makefile | 10 ++--- .../{novnc-120x120.png => novnc-120.png} | Bin .../{novnc-144x144.png => novnc-144.png} | Bin .../{novnc-152x152.png => novnc-152.png} | Bin .../icons/{novnc-16x16.png => novnc-16.png} | Bin .../{novnc-167x167.png => novnc-167.png} | Bin .../{novnc-180x180.png => novnc-180.png} | Bin .../{novnc-192x192.png => novnc-192.png} | Bin .../icons/{novnc-24x24.png => novnc-24.png} | Bin .../icons/{novnc-32x32.png => novnc-32.png} | Bin .../icons/{novnc-40x40.png => novnc-40.png} | Bin .../icons/{novnc-48x48.png => novnc-48.png} | Bin .../icons/{novnc-58x58.png => novnc-58.png} | Bin .../icons/{novnc-60x60.png => novnc-60.png} | Bin .../icons/{novnc-64x64.png => novnc-64.png} | Bin .../icons/{novnc-72x72.png => novnc-72.png} | Bin .../icons/{novnc-80x80.png => novnc-80.png} | Bin .../icons/{novnc-87x87.png => novnc-87.png} | Bin .../icons/{novnc-96x96.png => novnc-96.png} | Bin vnc.html | 40 +++++++++--------- 20 files changed, 25 insertions(+), 25 deletions(-) rename app/images/icons/{novnc-120x120.png => novnc-120.png} (100%) rename app/images/icons/{novnc-144x144.png => novnc-144.png} (100%) rename app/images/icons/{novnc-152x152.png => novnc-152.png} (100%) rename app/images/icons/{novnc-16x16.png => novnc-16.png} (100%) rename app/images/icons/{novnc-167x167.png => novnc-167.png} (100%) rename app/images/icons/{novnc-180x180.png => novnc-180.png} (100%) rename app/images/icons/{novnc-192x192.png => novnc-192.png} (100%) rename app/images/icons/{novnc-24x24.png => novnc-24.png} (100%) rename app/images/icons/{novnc-32x32.png => novnc-32.png} (100%) rename app/images/icons/{novnc-40x40.png => novnc-40.png} (100%) rename app/images/icons/{novnc-48x48.png => novnc-48.png} (100%) rename app/images/icons/{novnc-58x58.png => novnc-58.png} (100%) rename app/images/icons/{novnc-60x60.png => novnc-60.png} (100%) rename app/images/icons/{novnc-64x64.png => novnc-64.png} (100%) rename app/images/icons/{novnc-72x72.png => novnc-72.png} (100%) rename app/images/icons/{novnc-80x80.png => novnc-80.png} (100%) rename app/images/icons/{novnc-87x87.png => novnc-87.png} (100%) rename app/images/icons/{novnc-96x96.png => novnc-96.png} (100%) diff --git a/app/images/icons/Makefile b/app/images/icons/Makefile index 5635b53e..8ee31c19 100644 --- a/app/images/icons/Makefile +++ b/app/images/icons/Makefile @@ -7,22 +7,22 @@ IOS_3X_SIZES := 60 87 120 180 ALL_IOS_SIZES := $(IOS_1X_SIZES) $(IOS_2X_SIZES) $(IOS_3X_SIZES) ALL_SIZES := $(BROWSER_SIZES) $(ANDROID_SIZES) $(ALL_IOS_SIZES) -ALL_ICONS := $(foreach SIZE, $(ALL_SIZES), novnc-$(SIZE)x$(SIZE).png) +ALL_ICONS := $(ALL_SIZES:%=novnc-%.png) all: $(ALL_ICONS) -novnc-16x16.png: novnc-icon-sm.svg +novnc-16.png: novnc-icon-sm.svg convert -density 90 \ -background transparent "$<" "$@" -novnc-24x24.png: novnc-icon-sm.svg +novnc-24.png: novnc-icon-sm.svg convert -density 135 \ -background transparent "$<" "$@" -novnc-32x32.png: novnc-icon-sm.svg +novnc-32.png: novnc-icon-sm.svg convert -density 180 \ -background transparent "$<" "$@" novnc-%.png: novnc-icon.svg - convert -density $$[`echo $* | cut -d x -f 1` * 90 / 48] \ + convert -density $$[`echo $*` * 90 / 48] \ -background transparent "$<" "$@" clean: diff --git a/app/images/icons/novnc-120x120.png b/app/images/icons/novnc-120.png similarity index 100% rename from app/images/icons/novnc-120x120.png rename to app/images/icons/novnc-120.png diff --git a/app/images/icons/novnc-144x144.png b/app/images/icons/novnc-144.png similarity index 100% rename from app/images/icons/novnc-144x144.png rename to app/images/icons/novnc-144.png diff --git a/app/images/icons/novnc-152x152.png b/app/images/icons/novnc-152.png similarity index 100% rename from app/images/icons/novnc-152x152.png rename to app/images/icons/novnc-152.png diff --git a/app/images/icons/novnc-16x16.png b/app/images/icons/novnc-16.png similarity index 100% rename from app/images/icons/novnc-16x16.png rename to app/images/icons/novnc-16.png diff --git a/app/images/icons/novnc-167x167.png b/app/images/icons/novnc-167.png similarity index 100% rename from app/images/icons/novnc-167x167.png rename to app/images/icons/novnc-167.png diff --git a/app/images/icons/novnc-180x180.png b/app/images/icons/novnc-180.png similarity index 100% rename from app/images/icons/novnc-180x180.png rename to app/images/icons/novnc-180.png diff --git a/app/images/icons/novnc-192x192.png b/app/images/icons/novnc-192.png similarity index 100% rename from app/images/icons/novnc-192x192.png rename to app/images/icons/novnc-192.png diff --git a/app/images/icons/novnc-24x24.png b/app/images/icons/novnc-24.png similarity index 100% rename from app/images/icons/novnc-24x24.png rename to app/images/icons/novnc-24.png diff --git a/app/images/icons/novnc-32x32.png b/app/images/icons/novnc-32.png similarity index 100% rename from app/images/icons/novnc-32x32.png rename to app/images/icons/novnc-32.png diff --git a/app/images/icons/novnc-40x40.png b/app/images/icons/novnc-40.png similarity index 100% rename from app/images/icons/novnc-40x40.png rename to app/images/icons/novnc-40.png diff --git a/app/images/icons/novnc-48x48.png b/app/images/icons/novnc-48.png similarity index 100% rename from app/images/icons/novnc-48x48.png rename to app/images/icons/novnc-48.png diff --git a/app/images/icons/novnc-58x58.png b/app/images/icons/novnc-58.png similarity index 100% rename from app/images/icons/novnc-58x58.png rename to app/images/icons/novnc-58.png diff --git a/app/images/icons/novnc-60x60.png b/app/images/icons/novnc-60.png similarity index 100% rename from app/images/icons/novnc-60x60.png rename to app/images/icons/novnc-60.png diff --git a/app/images/icons/novnc-64x64.png b/app/images/icons/novnc-64.png similarity index 100% rename from app/images/icons/novnc-64x64.png rename to app/images/icons/novnc-64.png diff --git a/app/images/icons/novnc-72x72.png b/app/images/icons/novnc-72.png similarity index 100% rename from app/images/icons/novnc-72x72.png rename to app/images/icons/novnc-72.png diff --git a/app/images/icons/novnc-80x80.png b/app/images/icons/novnc-80.png similarity index 100% rename from app/images/icons/novnc-80x80.png rename to app/images/icons/novnc-80.png diff --git a/app/images/icons/novnc-87x87.png b/app/images/icons/novnc-87.png similarity index 100% rename from app/images/icons/novnc-87x87.png rename to app/images/icons/novnc-87.png diff --git a/app/images/icons/novnc-96x96.png b/app/images/icons/novnc-96.png similarity index 100% rename from app/images/icons/novnc-96x96.png rename to app/images/icons/novnc-96.png diff --git a/vnc.html b/vnc.html index eae82209..4665143c 100644 --- a/vnc.html +++ b/vnc.html @@ -18,20 +18,20 @@ - - - - - - - - - + + + + + + + + + - + @@ -39,17 +39,17 @@ - - - - - - + + + + + + - - - - + + + + From 416e21151b5b084a07d9f32442a98af445a35fa9 Mon Sep 17 00:00:00 2001 From: Samuel Mannehed Date: Thu, 22 Dec 2022 15:54:12 +0100 Subject: [PATCH 7/9] Create specific apple-touch-icons These icons shouldn't have any transparancy. Instead, we remove the rounded corners and let iOS handle that. --- app/images/icons/Makefile | 10 +- app/images/icons/novnc-120.png | Bin 4028 -> 0 bytes app/images/icons/novnc-152.png | Bin 5216 -> 0 bytes app/images/icons/novnc-167.png | Bin 5449 -> 0 bytes app/images/icons/novnc-180.png | Bin 5825 -> 0 bytes app/images/icons/novnc-40.png | Bin 1478 -> 0 bytes app/images/icons/novnc-58.png | Bin 1898 -> 0 bytes app/images/icons/novnc-60.png | Bin 1932 -> 0 bytes app/images/icons/novnc-80.png | Bin 3018 -> 0 bytes app/images/icons/novnc-87.png | Bin 3157 -> 0 bytes app/images/icons/novnc-ios-120.png | Bin 0 -> 3215 bytes app/images/icons/novnc-ios-152.png | Bin 0 -> 4190 bytes app/images/icons/novnc-ios-167.png | Bin 0 -> 4574 bytes app/images/icons/novnc-ios-180.png | Bin 0 -> 4730 bytes app/images/icons/novnc-ios-40.png | Bin 0 -> 1245 bytes app/images/icons/novnc-ios-58.png | Bin 0 -> 1602 bytes app/images/icons/novnc-ios-60.png | Bin 0 -> 1595 bytes app/images/icons/novnc-ios-80.png | Bin 0 -> 1825 bytes app/images/icons/novnc-ios-87.png | Bin 0 -> 2708 bytes app/images/icons/novnc-ios-icon.svg | 183 ++++++++++++++++++++++++++++ vnc.html | 20 +-- 21 files changed, 201 insertions(+), 12 deletions(-) delete mode 100644 app/images/icons/novnc-120.png delete mode 100644 app/images/icons/novnc-152.png delete mode 100644 app/images/icons/novnc-167.png delete mode 100644 app/images/icons/novnc-180.png delete mode 100644 app/images/icons/novnc-40.png delete mode 100644 app/images/icons/novnc-58.png delete mode 100644 app/images/icons/novnc-60.png delete mode 100644 app/images/icons/novnc-80.png delete mode 100644 app/images/icons/novnc-87.png create mode 100644 app/images/icons/novnc-ios-120.png create mode 100644 app/images/icons/novnc-ios-152.png create mode 100644 app/images/icons/novnc-ios-167.png create mode 100644 app/images/icons/novnc-ios-180.png create mode 100644 app/images/icons/novnc-ios-40.png create mode 100644 app/images/icons/novnc-ios-58.png create mode 100644 app/images/icons/novnc-ios-60.png create mode 100644 app/images/icons/novnc-ios-80.png create mode 100644 app/images/icons/novnc-ios-87.png create mode 100644 app/images/icons/novnc-ios-icon.svg diff --git a/app/images/icons/Makefile b/app/images/icons/Makefile index 8ee31c19..7f53b0ab 100644 --- a/app/images/icons/Makefile +++ b/app/images/icons/Makefile @@ -1,13 +1,15 @@ BROWSER_SIZES := 16 24 32 48 64 ANDROID_SIZES := 72 96 144 192 +WEB_ICON_SIZES := $(BROWSER_SIZES) $(ANDROID_SIZES) #IOS_1X_SIZES := 20 29 40 76 # No such devices exist anymore IOS_2X_SIZES := 40 58 80 120 152 167 IOS_3X_SIZES := 60 87 120 180 ALL_IOS_SIZES := $(IOS_1X_SIZES) $(IOS_2X_SIZES) $(IOS_3X_SIZES) -ALL_SIZES := $(BROWSER_SIZES) $(ANDROID_SIZES) $(ALL_IOS_SIZES) -ALL_ICONS := $(ALL_SIZES:%=novnc-%.png) +ALL_ICONS := \ + $(ALL_IOS_SIZES:%=novnc-ios-%.png) \ + $(WEB_ICON_SIZES:%=novnc-%.png) all: $(ALL_ICONS) @@ -25,5 +27,9 @@ novnc-%.png: novnc-icon.svg convert -density $$[`echo $*` * 90 / 48] \ -background transparent "$<" "$@" +novnc-ios-%.png: novnc-ios-icon.svg + convert -depth 8 -background transparent \ + -size $*x$* "$<" "$@" + clean: rm -f *.png diff --git a/app/images/icons/novnc-120.png b/app/images/icons/novnc-120.png deleted file mode 100644 index 40823efbadf27f0286a84976a34d1cff8406f5a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4028 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 diff --git a/app/images/icons/novnc-152.png b/app/images/icons/novnc-152.png deleted file mode 100644 index 0694b2de39b8e709b442f10905a6f3cf39f7c7bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5216 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 T|67&~=mgSG(N(Thw2S=@24lsF diff --git a/app/images/icons/novnc-167.png b/app/images/icons/novnc-167.png deleted file mode 100644 index 6b361b641b4fb2e59e66a0036e8d252db0144396..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5449 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 P2&AWVU$aWxF8Y4}_efOi diff --git a/app/images/icons/novnc-180.png b/app/images/icons/novnc-180.png deleted file mode 100644 index cf8802b49fcadf285294d51bdfa5efbf1384edb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5825 zcmaJ_cTiJNv%iKa5NhbCfOG*v5s@NYdJRYuBw*;hNG~ESK}5QMh_nEaBB4nWkfwn2 z-itzz-aEYby_q-j{&?@soU?oG-93AE_cuG|EK*NL6->rL1^@t9T}{~lPmBKzQeyn9 zH+t(no)Fq8Xe$6fMLhWhoCv>Ww^1|D27mw_00@f!fHVB7FdP8*Kmp*d6#z)R2LML* z5B2&o_z%R^nySipihoX(8ba~prn{P{7XZA@|2J-&P&$wR0KKESvVx)C)Mi%TJHyee zuIA$z)#ku}fREx4uM}vIsh~1YcRu47iKdZwYpaIA9~Q!U6;?tw6WMtpajqH`u_r|_ zRxe@LloA7jGAgErQS3}K#uD}rZ^HCf{!|2Fva++m4cj)?xb&aB1GU+;=W|<+?w~TH zgSVDHNY6ixpWpWFgMShWY0ggKT9ZcQmKZ<~Wx0GXh>C{*>U%M!8+R##5`j|W(JFE& zs=Y%@Qbxgbu!85^i*3=zAU*Hk)Y}gooSh+3($Wvr6TRKUS+dG70wTYE=~G0*nIczD z8Qv~i?wtndZckS7X6(y))%mRr6~NjScba2!PpAyvCnLWI-rJYCmSgLh4LsRd>~r2u zN>OwBx=8$x<3%|iO4ET(N1cd6nVxWwiXj&9r}Z_->vYS0+kn=kj##|O5lC!@@N1n} zA`OQ;jKE#>Awl&-iLvqV=>Ctgfm})J!wl*3+qJ0N2`^ zp2Q+5Nr;KB1bVPm-U@sL;2x|lPAVarB87#Hm+Z=RTTde9H7%qF%+m|UkS z@2%6;Wk|Ca6UEVB2ww+Z)OlfwYW!{Rn;?m@I!2XU9|1j7!VhdOo#N4(OXn&ci+b<1 zk*ljKuMtLF5tb;pVd1c;FK!^mtL1%$IE3tygr2X1q6pL7Ze78s8p10tb6cDxPFPIJ z3(`$mVX~3h+4`(mZBA5f?*pm3 z5EKJe@VUC7QI@s$6F!I#L?vB=OWpIo#Z>g4DH|EF_~?oVVKCSTmR)|^C;AXYA`KB) z!+glFlFI+fJfLXPOEBoAqUY}z8OTUBfZ$hJ|5-sP2z26Ei5x+=^wFgGUIB^|QYzng zRzw!UYRJMl@&+-6gt`dK?ij1cE#<6{0}4uxuI#_5n@LiltmL^L>B<>5Y0Xr^BB+Kw z|9fTyHW69Awr!EH(hP8IXI5Abe;Og<;NqDe!ictz@1nnT(pfkkRyYiMx2G$Cdbt4c zP~G{nbf4zHe%qY>W%TZ7V)-7=01emY2(eIKV%cvOHC#z4x%B)%Q8)@lt^?QmRz++q zNn}?hN1*XS++=eF+m@3zaoVEf`}iE`o=>9OaO!2 zx#jnTwbb9S*T11difStuGrAldD%K7L8%zOgKOPhUS2XgGPwMG#+iR*uM)X{oi6Qo+ zEtUY8rwvV5Ptxy#<~zfMx+HA_50GAw)CNF;C9qRXdCVM9qxOg$f{I^Cno?*3bk^Rb znGP`UlklNH`Ve@vnUCMZ?y(I{m=T;QL^ow(dtk{~X$44j2A&1Vjm+NPGw0VIV4sBRL zeD-IOqi&)Muy4G77OC;0BbS$ycmxbk4jgUkYx;Odkh^U0qoYyD)&cg}|0Zn>5j=DT zUeR^Tyb(VH@Ehd+2RZ%wd0j-Y;Q|o#)n#&^F>E81W2!QKF0DlU`;I5L2o1D+<*QDl z<7d^T4POQA^vhrGG&e$D9I*0%JIC_5$7l9wZU;s5Up|=}qPbSUF_@Yvkuo1&Y3ykS zOv!f2oXCXroh(jdge5Z5&0DCWs#XlaYQ15(U|q@I{q>(ErD*CbZG%2fMh4+)P3K{T`k_sIR6?&{Bp3MhP5=<~&8&MM)8XL1(T;$qX zYh!wF9}}3r=rf>lpGn;iLhE*#rW3IuIC}O9ke*9Um@|z0Rp!F8Uyq8?io;Y3Y3~8y zKp*IYN&eXVwkgBm;h}%FyGb{-qOgBxeauK;ANls9`)20m9*f^28()08Y6}2bc9*-v zGLWY5&tU_?3mXZQF;DXRf3gA-n=eO3M+fVU9wpkh6o1YdajkXg3$8U0te0t9-nB;= zI$ph&CR*8lv*1iSGE}wG;Iy8C9$8*#B=LvdM*n>rp$E#LsHo^Y z8$QV%qC=wE5%~16RI#!DD+{0g06Clm?}_m_E*|_F55m7oVkZqp-%P*@ktI$J`iQKI zk3I32cA08$4LVE#hh9}q52RVu_Lx-vZL|$AP76b$_Xg(~h1uFaJVG9aNd=CD6OhRG z|JueFt-@=0kB+xy&5`o*(}!k8^lgXZRJmAD;=9Jm*9!y>GcsKqvNC-Wjt+KADwaUD zzffFScUU;TF28llE${z|1mrH@54W0X&BcQESD2SWj?YQHI2tXDelVgxIqhHn;+Fl; z?bM>Fo_ur^DQiPQ=|_vI%H@m#vrc)emombm-mlAtX=>)n^z+8~4ixaAzAv1v24}2M zMu&HH-p5DIs^v2X^V#O4m8vR@>iPf{&S;5iD~1&g%+F`jasq_gL7#@BNE7U1?ldkqhbi7n@yU92z{;{Vcy4>h6iY$ZyzbZU=F5>>8l%*(Qlq# z{uM`S{d^8+ODJ>FP*75$FER_ssK*bbk1zINIrN{}Jz8p9XafSt&sCe2P|(!-<8OPX zYN<|^?<{v!S64GfPWm^s^kunxnFJ9D4J&We6|(yHbkwyn_h9)8r*Hy8{f{e`XMJTe z)@tV|d$XoZ2eKaB4*FtIc?yGA^`xFuu#=i@z7_T2*_rWr{`y^zsxfaAHNEeg!vJNN zlvRa^fopP3;P#(MyWp6Psyk;RFoF68Y4SbL#np{xp-o2&tId}}?iYR+6RZ1(rbiPO zrvkSFOPDbjScEU}vk-qm1frwimaf!pZ9N{T(?SyswY0voDPK*SkIWXv%+GgryNvw7 z)V8Md>tjClXjRUZvC>_ehS|4!dwU12C9QjZ$fTs3TPpiQDnAXUR|^8bz~GIIIg2kP z&%X0!bLr|97L)8%Nw)W8Rhv}gQt8+&QSRRlEncc$pAtcImozqglHQhyKRb)DJv-WL zsq@;k$?i{Eu}G>6sE!yLvu!+G`Oui+#QBprBJ`Aer!t#f@Sf@K*^H;_DU1o0jXxIu zq&c}?Um`OPi(#)uKNI*Jjyz)bQ*t|m#f&2 zeT2*N$PuN;GZ&HqwE@$$B<{zvF7~b;(SeiLR@Yj58DPqa^KfTNI|8xzugf4gTgxn9 z;=@@w3x#rVxW^v-tFcRg^TQHeS&s-dCTQf20-8(@W1ssIF==2|hGW2^>q3p-YLhRM zLtbehe@dwTrO$nx>@kMcscLzD|AsQ+tHX6^cG9Wiz!SJUWEp1Xhpgq&Df;%V6v;hGD-u`n&#*ywlLQ}7VyW$DTzp==bVKChe z{2zkP!-UKekN4lyW*2e$PHl?6#=4CUQRw#0wcpz8E!Foo0C*@jrAdy1)Fz*;Q=PY&q>- z9(@iYHzN8N96T{6UY0^YojXc2OTW3Eu1CU-o7d4f3K!GQ($%y)DnCQwsv=i zzHR`y*1oBBs(zh*_%hUyh5|eB)kC7bp}HBkD`A+oq!-ueSZ(`9RM_5c1CL@-;_5r6 z14?0BSv~d&*auGaiNq$q+b)Y$jMM0;WT4~g>kI-4ET;70Sr8@WbV-@#A9{qa?&tR}x~egCxeoFt5RU`c_TA13in` zkAAm?Zp!S)OA{(IjLp^vg>Ln~V3Rd_&lE%ex-uMv;ycfS z52;gy*2lHvyomi4BTqbPw)&s>t(WqTL`i8$*cN(>vnH$=ZVeS^zVhF%f57W5qUG4u zbQ>>}BQYYWQz*t8i{jwa{v%8jR+#{ zJk5BJS^9JDY`PtDKvq)C!*-&^66w*Fh&;iYTM++BH<=h*jZJd?%ERl(2Ie z(tLessg;R#`P!d$F2>078Jt3$I2`71@c0P>XG%j=JToRsy#Mk9Jpw zFVpWO4MzQSm-J5GMx2;2;@xF^2#TmuFfzKpsb=xr8Hy4DSr#{; zS2{MrBPo_=EJXJHKM|5(-Pvj5{LtrG@~pUN!6auUyKZkWI>ql`a74new&APldEHxF zm-Sb*8&>0Gzqf`Owux)pwn6<)zE;`(Xm@;s{PAI&sL1QZIsXQyBD`)7#&es7?0(Lof+Ua(e73<`@5aVTM$r2;pY7#r*j*FtQPWtTel`3M0<1NRa|#!}FNEa*a{Wxr|R^eQ|#7XE$^>>PT1ZYt@? zlyJ*{t50gy8QyI@Q5?EoLC zwwMm<1B`gO6#Wwb1W1^4Gp< zc3CqV+m+?pC}}^zUIp=62_%4uXA5jZlFr49hmcC6OK}eccCOA>?g-k(t|^n{zf1$I zc!#cNNO=??^&nRJE9rjQvR)GBb=DgHic!WSK0RygIXu?(F&$B0uP?4yMA@OP-uwq0 zRp!WsS<#uTeH`wqH^!4Id{D0a4YSzZk_DzTF1PWSqNXOfvPY1-ra9}tEV%chtn}x} z_+qQ~CmRuSbM3F@vxABG$l^bj)&ETtSJ5Asnj-sLeFuhSvb#qVHuiMk!v9lF4oBhf z3l_Q&WzY?VSMuPDOcH2*g_OzT*=!37P<=gN&@PceYR`=qaTw6-ENpNL?YJfKsha&3 z2ceiKJNdOt?~hJb+v zgFBn?zzHdy>r75bp%;IehDuJP5l*|eiD*9z$MX^lvE280Y7Ozn@}Y2qX>tlPU6Hnm zhB|qC7i>U#q*D>kBd0fo{p7p_4fB)pC!8f_ZG&ye>G@UY6sQ+oHpKN2)AMtS2=;tm z-hFSq2@){q=Eh$N%g3E2ZQ(bUP#&8sD>2ar;yA}XIHh8b+& zT}ik21h_|0D@u7aQx#0`-McsJ{BP6K)7$!Zp(8Pv{*B2>RpQQ*Eflmc?i}_ z>k5;nSi#K85Fv=t7qil$k`i$XHv3d@0zcagl4WOFAt9l`v$L}=TR(0>uKVc{lLVtQk@uik&C_@@s*T@5bphRo0b{Ey~Ne!QOixo_bv)w8UOW)2wt^Z z4?T9gsxT{cmt>0)rhdv!$&cE*Rmu}0=n$%c@9-EwI(YOU%|^Y`rSEA{5%@bYymmTP z#DE`W7zO{hzO^;yw=q#sRr9v*>#e#qbY=)GQu)d#^-tnPD0K`Qo_OmIYms`}nS_uDM zcG6~HVcB|zI2BgWU+Knfz#tt37y)zVB?Oag)e7q)TT_OJcOG(&-V$)U5FJf~0}8+; zMOzif{wd^-S1N+4>GEhgn_$4_#pQK?2k(fKG4C$E70d0dV&eS*?v0SL@kHPWAPN-~ z6%r8@5*0NR5tV{UN{Nf!gF>aC(5xZB!2hM-;`YM9*8l%j*oaT=!YlCoj|FcB7lfBL z+{OL>)@jJ7X2R<*|I>lF*?RlJJrRJfudlF!tCN=v+#Mn8=4qF?CBuRj0@PJ>l*<&Y G!v71nwDcPQ diff --git a/app/images/icons/novnc-40.png b/app/images/icons/novnc-40.png deleted file mode 100644 index 4e42a1d2b8d6ce561d74f7ad001d12145c128fc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1478 zcmZ`(drXs86hGfrDy6(%r7)l^D3reV`jtm5&z1rODFa#*5CsZFm>?YwQ8xs9ARA6W zi_!@ikVS$_fq@Zmj75`?GKm?6n9WSoOauo$SmM;7yJ)igc;uLBzTP0Iv{K z_Xwbh09eQckhKB08QQO;h6CWyDM{K`L_2^bGgJ)wmVQ zN+c4+$H%{~1=Te{BlLZ=$^sFrZxj74= z&?hU)_sttH8mZmgE((REM#CK$p`e7t|O5(kI ziS_k?udlCG8!$Z$ot>7KF4-(BfRB$)ax(YgMG8R>qoa1OUxP$KHyEfL9aaquHcF+k ztII~CVdUiawYGx4zrRF63=dNc1}F3)3Wea=GccPmf)GtjSuHOkf_-SHaB`ATSm-8~ z%bS}W2M1}jwZP-?6pDa*_prG+Ys}>@4N}eX3k8t*CGx z9fj;{JTZ|!Hb&8E*KFD1b@eJ%RD?%H^4r@j2!hM!^92GyR8&-KY-~hCL|j~4P*6~K zIBFu8Fx^J|28_zIWDOjeUwL$Z@$ip^{R?mA`;*SQ&>sz`Q|3J+h=J)g#4DkZ>ZL-7 zl|hwR0pOLi>e!v@jwcalS(%`YwR~v9u%U5P5hah2W;sDA*GebzbCDJ37}u=YGBezx z>%Q7@7-n-Rya()Vde4#i`s4jPu~@Wbht4=a5YA^0o9dbAI-NG%&o0f66F{~2h13m} zM`vxtG$tRF=@`lE>FKR6uCmQG2MrGm4YgJotLleNk6{gDOe5*bF77MoDxr7ZFy0Uw zGab(T?4&WdGW0VO=8}@dKNlChJUa;E`u)a{%U7_3YWt4^%k1s#)vO#F{az*YVlAYa zagKT4zL@blH~XJ9PV^M9`F>=GDAEacy57z)I~_mvqdCn-GwtI$Er~Xh-wjr<*_*`n zpA_$vbD9M_QGl>XaI_Ej=lgma4rYNiQ!Ov;Xv?UHIh&DLps6UZ?j79NMh;w>*g0^d zdrH(ixOBREYk|H7Gw4^G{gS^9*Y`42rrSgFR7tb(hLY=i%5{BM`BZizIk0>A9NYME zjuX(7=`dnwVQNjc@2_hyZ8#~+!EpX2PJr{~?+b<8^%pk(fL;IXa`EzsZ@05^KN=(l z7Q@DG+0nik@ZyryOLx3x!m2yD*X-IU<8^i9W6&9?iu7l*LQg?wFTTq?!*KprTaD}Z zPvc*1Xz7w4T z>+`h_YESG$9kH%5Hlwm2uTn3|FV~|0BteowF)1WTt(cS%QdtneCkPoq(A5#E|KtCH z(z1f$!rdPheCBX)2?@CW?NC`ZyrBcOJRk;Z*hqbVz_tj;UfLv?kvsCdWr biu^o-UQ|}T?bK4Z2O>d2Y_jr#B6r`v=hNgM diff --git a/app/images/icons/novnc-58.png b/app/images/icons/novnc-58.png deleted file mode 100644 index ba2564e3a826cfee9aeade613957dc3b0d00965e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1898 zcmZ`&X;hPE7QP9Autg=TA?%!x5FmUB5Fmhn2_zw5Q9uZ&5F)Fx?-j%WTB!!n@yI}d z()Kv$%&`z^6${e}xL`#(1p#G7Wr?6t%3^0&1aV&d(R1cU?>XPS-@V`S-1naMKHsMi zVM3Cwxh?>Z#3I2y6uIvoZ4Kmmnm$`Xfsh&)8VJx?r?(~7M7fPZv@aCkBL{#J)c|i$ z>BLKbLJVL&5rEeKV4Bn1z1J52|DOnHR1gCA`1p8wdb+#2`}+ENdwY9)F!aLVa8Lz( zb#rs$@pxP=7kPyA^70ak#UUR|Bod(tN|8yWQsfZ~d4xd?-&a2vYQ<)=8U76O{pQqY zDm{RXaWI=u8#}Qbf?0=K!wG=nK=GlF6=Z#>K9mC-0>}Ye435cWLIr>VAQhkp?Ck8& zfMhb+*4B1c#4bn#YgcO>iVnq_Vq#)~&ZSbRX0c{gEGv>Fi55gdGyD1Z1q1{L1OgjJ z8%>!eIe|<{BS8tE;kA>sK?;_ZmS{`|z5`(|0r-Fm!vPOm++4KyT7YiT6ZCiLySlof zJ8^V$q|@mxE-nlPgT-PonM{9we~H9tV*~f@9h8-kPoA`R^9JYVXWr0Yw!V&wiLtDx zu%4OGh>ms~AJ=*N7IJe9T3U9_&jW{J@8iQ-SRmBaf`x^}!UCGdZgLVvM|G2u@O$>` z@%LvfF5;9*&DK`ar6r(Hv@i^N_6#+rZ*4(gAxBv%g~VC$Osr1>^ysxR9;R>Pq#@(*pZ)a zD;DF>hA&^%PE9rH?hBkBYL2kH-fGo2H}?($h6qEN!Glq+X#=7#J8B z92|`Fj0B%FeGHF+UBSMvNGN^0Q7l?n&e_fi*$!SQns~JGsDZ!Ow@C9}>K$MIZM?BE zj`$3raY+)P0BSTXMJUn95y|oanCQ1+Vz}(EN-I<(7KlTGh;#ZT`r3~EyaPzW_(x(v zV3cTJY&<&FXs;1*`JARPp);cMsp6YMhWQ4a*x73l?JZaEAL&aM?%rPPzukMS2bpoa zfs&qDlu|z-(<*u~^ls44ZF1{}@7SBa%FS4f&F*n3`?%WkZuWO+SN#N16VpSn9j5hy5 zD*ItoeDYPv{xjN+2{`7dLYhzPEb~B_cr0T~OlrR(&Uj_q*m|$*$mZ3*@$vKIeRWR1 z7>)#-^Y~U3kabjmH#Z!qc4}%Hs2uG~nU7WRQdIIGo%G>9hdPbKHGcdUE2pkJ`PU~* zE9$JQXVvn-gG&l}`3u&;p;zPIpCtd{h-tg6a_YXXod$zomcgmWYSG{4Be|E8cudvq z^3K-TtO^SZ(AQ14AYL(|NW>BqTW> zop*0$sVH9g`<(}KRxQpA-6{R;jx)Gi!(wYrn>3xKNpc(g1=FvMZ{%I*-4!FLH=)aq zjL&q(w#U{{x%j~u&&<0n@eh-9$XfsY`P&xDB7yp+gDGv3wKwRbIpJTAF719&0aG?s zJbm9P`x;@UOl4f9s2P|h%>0O*YvI)nr#_bozoso z#*`Pmn*vT-rop zZQAkd_Ad+a!%go*e8=qV>afzhpk#$@JA~+!#&;+Gvp?u?Wau!B7-W9<$X7w9jn_C; z6=fRfoC;$iJa9r3N7Y-+i&Ea8QJa@JehVd}$3XePY ze}v5J!|5rde@u9qdL|AL7{8xTke->GUm(xS`D4zhypE3%hw`2inVnKlEYC}Z;^Jaf ede)JAg*+#jm7SN`wCHP&Kp+kZ6SVJ1to$EG!L1Ac diff --git a/app/images/icons/novnc-60.png b/app/images/icons/novnc-60.png deleted file mode 100644 index 06b0d609a0f7c45b1ad0481debf061affd6a2a17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1932 zcmZ{lc~FyC62LnbfrN01L3ea+x{3(`zY|v?d}7YGDM(M-{VLcnF?jC_nN z-7MA9)nOlC@-d_Y65F0lP9{?YRBIb+yb6!ofkSC+ZEYbPKnCCeSSPHdt0ja2#G@v` z*w`2q12JG^WMpM!1uj5$q2n#^24M#J`ueC5Gcz-41XWK@4;3$!N>QgWnateT9Os0y zkXz^_=s^LXnpr{?D8RtL02Rz;vkiOm$nLoZeoo4<9hj&dy@7 z^|NQ#@p0hsShlwO>1pEJ9O&q%@%jAWVXVD9XK;}G>#uO*hPJ1tXMVm>PLBGaL$tU! zpwsDBuHc12>v!)ky}eLe42g+=wm>A}KYD~;Tm+HGTq@-)E#V$M1PVoCWd$lLiG_ub zoJ>D_7=QZodLJLKu&^j8ftxq6`T3OYZsLazAe9>V`m#GaK}$fV*US7U#?_OwYQ(IcXPEA2?FR8DOJTO41ucwK{yum@->C-wH z8MKZL2oHzuZuRJBaC5V2Yr~b5!T$XkZEe6{FicELOifMEiIvOcuCA_IwyfQqA=U3a zNHDU3{X;#ZtTt3P{K32`M1a&6Svh< z2E_yuFJx#ay|!lpushc#=H>%q2Ly>(-hLj$DUuci_|dER0RT9mx6C!vtN+0xh3cLQ zmAIUe<$kckeV2G_8%?b@ygG((zLOf9aQ(T`#4h3a0qtCq_^TZq9XnbuicZgCHr~v9 zx0-^PFU+O6Ym;xHtgGIZ$39+JsS9c78mSK}_(fVq{qlCv&3uFKcbkyJfXy|WzlfU# zuy|#Bcp~OvWY}N1suErkbLHFxjKTS;W)09`qW5HCrPy9sGDcpix}QW7g*VUk%@&miDy0>cJJNi+ z8rt_HRW(Qg`%9^Hj9WU(zCGL1J9CaXdG=(cPvi;6Svmo!;#hNDWD2*6)2kTj`dVLi zTQN0VQ55b=FB*-F`1Y#gK;uLD`JMeU|1{RIe-iu6=e+p^LCTGh9gkl=)V-SO*sPi> zKT&;Y$kxA3OO;Dn98JEq*!{z2V$);gvW}^AM(?0woVZk_Ii(`~I3<-vEmf4LUR)yQ z9gs}_wM6xfcD#SYP;=vfL*A9Bn% zX^+%$pW6F+$#BVCY-NaCekCQZskN3c>MpO`7c!EjQTuI^=b6HN!GF8Io_FJ9)5XD* z_xDzdwlcYqzvY~L^ZIr}Ml|=urBf?MnpvAUmFH9?-_!mezxwnUn@K3HLl=sf*y``pMcb~gguFS|9?P+FMbjQ vY*_n3NLpf6Zfu4Ea&vQed%jA}jE_|+cxf5CYZkW{At&(m@Ryx;i~0Ir{{7o^ diff --git a/app/images/icons/novnc-80.png b/app/images/icons/novnc-80.png deleted file mode 100644 index 19b1488ed30c8b55daf4470b013120006207aee9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3018 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 Ys~H&VRj^_t%?<)A%&d`hrtS&<0fO>@(f|Me diff --git a/app/images/icons/novnc-87.png b/app/images/icons/novnc-87.png deleted file mode 100644 index ed7042c50492c4a0e6626eaba7682ae563ed8cd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3157 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 literal 0 HcmV?d00001 diff --git a/app/images/icons/novnc-ios-152.png b/app/images/icons/novnc-ios-152.png new file mode 100644 index 0000000000000000000000000000000000000000..60b2bcef533e2030e2bb8d92bbbdf010d89f2d4f GIT binary patch literal 4190 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 JT=lypi-cL*%GNG~DMq5={U(y<`j@sI-2B}*(J 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 literal 0 HcmV?d00001 diff --git a/app/images/icons/novnc-ios-40.png b/app/images/icons/novnc-ios-40.png new file mode 100644 index 0000000000000000000000000000000000000000..cf14894daf12da14c536b26101fac933d47ddffe GIT binary patch literal 1245 zcmZ{iYfMuI6vxl)6G|}`ETyG9N?i+WX}N7Fr7b9ZT-x%oXj@QVwx#8v4nZpswndqA zgQ9_D(I9BFjx2*QhmYZ=(TwSIb2C#y6eQ6&l!-Vs(`7nQceii*un+(9JO7jXb3UBY zWiPcvGZGj85N)%XR}oDAM-gPAp5|NE5unr=N(=x;d!iOSRKoLXtgA`@+C%_5IspD6 zMmz2SY{dZXy8(240P#)xPnG2Ykm&Ye2d+>klu9M7i3U4>+)Nf|1Tu{*vM~~Q8(~>k zDwT@5i3+U%P5>8>>?EFp2h{+Z0k(liB+AOlg7qK}2;_1(%fUiLXp}oDDJe;#(FldY zn6wzChnbj|sMTt7b93VyaZ9vI(hO;gdIoHV{QP{rnGZF<=kswKk132H=}C-I1_>j{ zWHOeHMJ^yCI6}%Jp*$4BFss#Sv)Ps}Uw-IN?CaOy^Rb(o1$*~K1_CJ;E>P8K`HdU2 z>(|M0x%lka=*2~lNF-*ndBqC(!-vS!6kwP%D+`;Mp*?y8%a)-nEvX|TRD}YYo~BMt zg4fHtcoBw&VfSw6?q1r`64lw6xNRFUI}1HMjK)T8RTW*M$()@fEi8aqEz;}d3k&2s zcOW^L<@M6X$0==XXmxc&TN}5hhko!N+v7p<@}yH!NKQ_UN~O4ZmHhlU7!1ipMbc-_ zkckOMN=mR;MDz2=lP6%erEV=x%>dcDPBF&d4;lel|ar34Ufk;Obx?*F};Fp*8xHCqT4 z{i}th!qr4W57Wsr9^9NCJ7`a~N-?Qd z;t;sP%8)Ux)~Qyjw?=0$)Mc#o?eG3P^7+modwlWz`JJo;P6BtJufM;4U!|M&vGBv& zvJLp4aYLt(SE-Mx z_lCb4`||SG8S>%Y@bS-1)5D|J8Mai@y6vw!x|sGL^CQvB`zwzg&_y#psT4@}D~@m9 zORY*hw{hmNc1!AbJx|^}((AeTj<%^!UJ)@TU;AMGq)!}?QQ5frFdARs@%!;z-|lgp z7iSz7l!hNjeqjkFZzLMc-!9f~X+rqZdhr5L8eFnzVK@;`yMHu)NA WTmL^$2nT*80${^S%}0#x_x=V(2bBr{ literal 0 HcmV?d00001 diff --git a/app/images/icons/novnc-ios-58.png b/app/images/icons/novnc-ios-58.png new file mode 100644 index 0000000000000000000000000000000000000000..f6dfbebd2e233bfec83a4d557187eec9e660d0ed GIT binary patch literal 1602 zcmZ{iX;hO}8pofPm_(LLXtNxNq{$D$z~STV6>%ZT?hz_xL{C%D2t_a zX^T@p#!j(NK|w4>+)yhmgM=bic1554C+_jjLrp8q}f zKKFkxEyYOlVtD}o&1}-A6U6@)i%G;hl6{p$V9{nxvId~D+IxN@naG2)OzFu0C7}T2 z?*YsbTjfsxico;38wl;+00OpucGao|@Mug+vKeGD8HQnO8=JL;#a_)8Xa#}<0ecOb zujfZbMk0Fv7>;WhQ9*?I`C_n`a z1|uLKz&p_!ih#vpk&DQ%68!!BX*wE{$&8AMl1L@ z`Tch=7!1wLw7EIZY6Gp-@VPnU=ux2)>Tm>wg!snA#nsgKuU@^>Zs(Vm69t^QIyiNT{PD+LD_5>msiaSyApQLy z7K<=UHazS#F+sGHQd>)0EVQR*k<;l{S-C7X*Qc~JC^r{^gM)EAVra<2ZfDBn=$$(x zmkXp)epHlne4Kpe4*2GfeQ7m|{)e8-NUvNGZ*memS28+Ux1ct}WJA7yHa=sCyj z_W1sLqTV+rhci5k%*-I`*YnhBq_~(~SQw<$`XnWVXJ+D;FMD=$Kury8)vD06G+{)9 z$LZ6H8ykJBR<_wpR;wv*y|qFjp$LUSrBa%f=ELVx;^OEQ3nej;YBEvze11$!j8?1F zXf!I7O0U-w?)^Joqphch85WGY1nml;7INS|9g}HCG;3%rGAIjt%%??0NvTBcJgl@x5JN za9_mkklx!f**)EwX`{bp)+qCI{!;^U$ENEi_w1c@-d-!=H>-aYrVhwV=e34y+HlXq zeQzFrx8<}%VL8vLOYf$%Wh6dry7;oS*LdUU0nZaf&xY$uNTcZ54?f*{!K!aQ@~!-| zSzf>jd6iT9?bCti_=^Y5$9#0C`lR@sL*0xP8Gb<#e{pIRJ3e`!u^{*EuIE*b#-xj2w!!(OgH>JEe?4KRoZD-e`~Co)Ac_(2;NI2K|C6+^x*yFmv_t?+(_uhVnj(N#t4j8;mc=3PzOK z+-rEa^oq|~&uMF+BH-ta_EzzcPuQ28&y+9j@%LF?WItNi5BWLavrEQE&f1P$gIHA!W=Ff(b`n!%H^4ARs;>kK{XF_r>b=o-d za>2DQf9vko`*xOf{ZdB1+AW-)dDcY{>zZT7nj~BEv#t&G73VE|)WWx?$t895%(_}l z+F!~eA{7f8Kdff*vAFy->(6bGKbB^xhivoJoxyGYu=fiuT}jVqoAHbAWwqR-r~gP8 zmG3aT?XYijWaC+d*#rPXF-$DO#299i$#FCik5r0K6h~3jI)3IK1O?mdc{$EM7g(U- PF(Cl6Aw}Pz-B9^oj2c9P literal 0 HcmV?d00001 diff --git a/app/images/icons/novnc-ios-60.png b/app/images/icons/novnc-ios-60.png new file mode 100644 index 0000000000000000000000000000000000000000..8cda29530c8fc0a3ee7499be716f90e22b2c4fc8 GIT binary patch literal 1595 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 literal 0 HcmV?d00001 diff --git a/app/images/icons/novnc-ios-87.png b/app/images/icons/novnc-ios-87.png new file mode 100644 index 0000000000000000000000000000000000000000..4377d874b18d965cb430f80dc1f97d3e8f0daff0 GIT binary patch literal 2708 zcmbW3c{tQv8^?cx3`Ptg)mUQ;M#k93q=?57GM19D%!Dk-HWV_9EsQ5>2qB)3p0rq| zgh_Tv?^vG59!AK%3|X?g)BE51$NSHFU)Oy;=RW6r&$+I1|8d_bwl-!*1x^Y80C3d8 z+{BKd8&9+Y2)!*VuwuU#}V;gDlH7Z@=d@CTV+C2?5%A5Us5bK*?Ep%&Jr;2A*) zA#Q~yztp@q$Kowaj2yy;m-6rU!1|>-8oa+*+)~Q(q>o^SOI=6ah}82&emQmV;ljCG z6;THhsF8}f>6?4dsbZg})Hm|-tva%n#kTjqn)S;cc`$e`0blE4J}#aSkjpHF`&JDx z7w@ddEG#cxcc;@e8P*1c4Iy0x`lJ~Ky@CB}ze`_kX=w>3`Gd=G88q4{$(m1=d!6=w z!Uk$A7`z!*gg{xIjC?6=VgXvn!BH~wR^1GzIz%vB7MW0@d<5ef8JS@EWYqb&@q?Pv zQm6UolW_*+xn*%vF+x2c3~siXG3kF>zBNf~tEGEAXm0@I#u9h84+zzTd~T>FMjsd|OCB@G0dh@0-)! z$hSWAbxy1S^wQ#o{JVDbpDXx=Jut7+CtTI>J{Q}0-q}^F4t>kLSL^0>Z6q=I#c46q z6Ri2fwVB^PZ_^Wsl-F+U2W5GI5dTv1IU4FwJ`*vatGT9;)rTBBsEFN8u1i%1dFH=N{(%gTuv9s-;5{iB zLUB=~{3BS(Ga*PR2jww&)21w6IKlnPcUykCJ-2F(M)F3gPE(*A3s9xcnFmMc6XbD82cw0 zUfvvu3*YQd1^ViJ*=%;QiTq$K$@v&DcF^zRUX-7^U`vTrm?$j?VD zoK?aJBh|INL&}H#F^5vy^QzxnF5X%H1TBc155dKShB3v%$c8*}wW z%AJ*aUYDu^j$knPdUtNoSs+^nF~;p@a6h*gsR}2*^}BED>qX&8W~&S33yx=_NOb@4 zOZk9XglYZ#6It9i9PYv8E4C7z1cDmIKs|o%vGm}(?j$LL861v?3nky)LN3=_u*|$v zz!SZbNMO(0eLo<|1;f@*9vdhH9YlFF#VO=HIi(AvcVw{#Xz95pcLLL%q@a#q^#y+mw@_{xV5(4yXkb+@fW`WNNp(Fxh0HTk2Av4YK9 zAF&^E&zpPhV|yPl8yg$7osa>{R%HohYgnxw%;0h!0*`DYbz8%K#(Onihp^_Jl`D19 zcos*%gG)c(?+g*3gN)n9x(Xg94G;2dY^76X6*Es6LC@nJc{zwbA^*I3Y&2lU`|XV@ zJaGG;;)%!I^Us?mVj)o*A}H-Pm97vqHH{y0zHQqzQQg(m2q9Pv7gfdIzVNGqqodcp z)x#P#TaXt#&6nsE`|aCR9wI;7>h61ZyU?t-PPQAd5;@D#%G}kty$Ys@ z!7xQ)K&9t;Y&Lr;JuG)j9VX-v9^?_!a;6Sdea`kE2H^A7nXvIFkG9+6J5YhdiVEAo{ohGxh8PX{+oxEKwek?? zZT`!5R^Aph#E89m1yNRRFE-)NjIym$9AiR;Az2(u@r6r`yx=uux;dTW3vp3!Auz|Hvs=mlctO zP^v(rU@*P03R(8zMe2MDRF^ve>V(WH8W<7`*0i;^FCOlKlh`sSgj@nNx#;hq z<*+HHb+fI=uSfiEfhF*GmLmWx MOl?eF8x!LG4f?<8TL1t6 literal 0 HcmV?d00001 diff --git a/app/images/icons/novnc-ios-icon.svg b/app/images/icons/novnc-ios-icon.svg new file mode 100644 index 00000000..009452ac --- /dev/null +++ b/app/images/icons/novnc-ios-icon.svg @@ -0,0 +1,183 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vnc.html b/vnc.html index 4665143c..2f5438a7 100644 --- a/vnc.html +++ b/vnc.html @@ -39,17 +39,17 @@ - - - - - - + + + + + + - - - - + + + + From 139f087187b7b9b385d016be561e5b0bf3661a37 Mon Sep 17 00:00:00 2001 From: Samuel Mannehed Date: Thu, 22 Dec 2022 16:14:11 +0100 Subject: [PATCH 8/9] Explicitly specify icon size instead of density Instead of calculating a density that we hope results in the correct size, we can specify what size we want. This is more robust and easier to understand. This also allows us to simplify the Makefile quite a bit. Note that Fedora's packaging of ImageMagick has a bug here: https://bugzilla.redhat.com/show_bug.cgi?id=2140018 --- app/images/icons/Makefile | 21 ++++++++------------- app/images/icons/novnc-144.png | Bin 4582 -> 4583 bytes app/images/icons/novnc-16.png | Bin 675 -> 648 bytes app/images/icons/novnc-192.png | Bin 5787 -> 5754 bytes app/images/icons/novnc-24.png | Bin 1000 -> 967 bytes app/images/icons/novnc-32.png | Bin 1064 -> 1023 bytes app/images/icons/novnc-48.png | Bin 1397 -> 1370 bytes app/images/icons/novnc-64.png | Bin 1946 -> 1917 bytes app/images/icons/novnc-72.png | Bin 2699 -> 2684 bytes app/images/icons/novnc-96.png | Bin 2351 -> 3104 bytes 10 files changed, 8 insertions(+), 13 deletions(-) diff --git a/app/images/icons/Makefile b/app/images/icons/Makefile index 7f53b0ab..83218e17 100644 --- a/app/images/icons/Makefile +++ b/app/images/icons/Makefile @@ -13,23 +13,18 @@ ALL_ICONS := \ all: $(ALL_ICONS) -novnc-16.png: novnc-icon-sm.svg - convert -density 90 \ - -background transparent "$<" "$@" -novnc-24.png: novnc-icon-sm.svg - convert -density 135 \ - -background transparent "$<" "$@" -novnc-32.png: novnc-icon-sm.svg - convert -density 180 \ - -background transparent "$<" "$@" - +# General conversion novnc-%.png: novnc-icon.svg - convert -density $$[`echo $*` * 90 / 48] \ - -background transparent "$<" "$@" + convert -depth 8 -background transparent \ + -size $*x$* "$(lastword $^)" "$@" +# iOS icons use their own SVG novnc-ios-%.png: novnc-ios-icon.svg convert -depth 8 -background transparent \ - -size $*x$* "$<" "$@" + -size $*x$* "$(lastword $^)" "$@" + +# The smallest sizes are generated using a different SVG +novnc-16.png novnc-24.png novnc-32.png: novnc-icon-sm.svg clean: rm -f *.png diff --git a/app/images/icons/novnc-144.png b/app/images/icons/novnc-144.png index eee71f11c74fba3be7a05d668aa1c1dc7d993d09..1707e331b771301a275db2a58f5700f9f7f687dd 100644 GIT binary patch delta 4504 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 PgaE0l=qOhrEkphXBDZ^B delta 4503 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 C$8S#n diff --git a/app/images/icons/novnc-16.png b/app/images/icons/novnc-16.png index 42108f409990be6cf93cec396ae65f78a2bb3cd1..d4e29288b091e8109afdd0e2e454b31365358dd2 100644 GIT binary patch delta 374 zcmZ3?+QB*@L26@wPl&67gM+!bxuc^akTfzf^7Qod@bH*eGN)eb#j42+3=AA4L4Ls+ zPt+g(`@B+Qby6HVP>eCj+ug;=kMqbcAcwQSBeEDsM}cvH@{U>{gT2Jl*OmP-H!r6t zLrL7_N}$kcPZ!4!iOZq=oqSCWJTBc$dDBJ1TtBSpP@lJE`@jGFH&u^0T=p?q|8fay z0n0z{dJEoy4Pm|lr4N|AG;6PJ3=(2<)F{=wRxX+GE=cFa-v<3u`%MW95=ZZ7@k};K z;;@kNU)Gi8@p4Xw(Sf5yTitHucm@kBvwV3h?YLPp)lkNaT z7?Zr+T`U%`FTDoja29w(7Bes?Yk)B0jG0f~0tMMiJbhi+A8_&UGUzS&=%51>TIuQH z7$R{ww6Bw|$$`h^^uw~qL`RnOT@{Z`R=xiJe`ah_kI7`uXG`ab91#2={gBC`{)Uve zi!_IWX6k}n*Q5?9^eo9c^K3?AnrWKjC)UO(d#^OvCCu6wBJ$MtC_{mTl)s4Y#4bs} zsSTfx7PW4EDL>TvMR4RZCnWN>UO_QmvAUQh^kMk%6I^ zuAzahp-G6Lv6X>=m5G_Qff0}qtascFMMG|WN@iLmZVgJs^-Vwxk{}y`^V3So6N^$A l%FE03GV`*FlM}@XQuXqS(r3T3kpik>@O1TaS?83{1OVi(qOSk| diff --git a/app/images/icons/novnc-192.png b/app/images/icons/novnc-192.png index ef9201f4370f886812acca9d780afb15c6b98452..8c582b472574646405256625845f9de6a0bee6c2 100644 GIT binary patch literal 5754 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 literal 5787 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 TuB&r{Oo09!W8Eqp`|$q(4_V)v diff --git a/app/images/icons/novnc-24.png b/app/images/icons/novnc-24.png index 110613594b8e305e26cafc6ac77e6f40bbdc76c9..ee316e1d7067b9f3595a20d6269710be13cddc3c 100644 GIT binary patch delta 551 zcmaFCew=+mf>dgNPlzi61A~o?jk&qGk&zLQw6wIeu&~%z9>7>{)ZHuxl;tf6@(X5g zc>3>|hr^Q(E8oa`_8Z!+t~ zzxD6yovsKzp6#Poc|Rtv%qeBFwno>Z0->A#uCVPq!FPIx=SH^HfH=jV$kta<8?V)I zFFdCn+|RbtwT?e#g>F5%e5Sx8g*X+KzzQ>=fBaGP3kr^jZxOtu9JpYy zaIE0OcQZI`Q*7BDwZy%1w&!nPZ#OveZ(^XB?)FK#IZ0 zz{p6~&`8(7G{nHd%E-dX&`jIFz{miiX_$l+3hBpaw%rT|+}%L*ozwODj`j Zpi+p2C4n_tff^V*UHx3vIVCVQ0RSZy)M)?! delta 584 zcmX@k{(^l%f_PGZPlzi61B11-wV9cjk&%(Pxw)mK<;JQ2#`?&ubvuDlJS9PX!3D1GbVYvyD)UH%6b4foCO|{#S9E4dq9|RL+}e>pdfpRr>`sf z11>&Z2E8R89dv+t3_V>OLp08pUStnG z^!xwg*!m7DrF|!#O!|KIX_~qV-}0s=4ZW!+J}%$pp{m|>%-5?hfa9sC($vru>jbmk zZWnlEGPBC$#L|oD-|IMicdcVxVEVeMJMD(R6oohymI?LSgnscy)hpB=6W=0u>#*R0 z#lo?P6W^`iwGFA^Il{5`PJ5jk13zElj9TTzI!0+i$JEv84NYyCpWWP9X(m=-DA%vg zdEnEjSGTH|_DsAZqM&CO=XFRd|1;l#-PI>+rTKg~Eo`j%JS;3zf3Dp8x%;#>_qv~I zx{TY)bMDxmI4rN*@KGgirp|;5i%-0``P}7}j*+`wTGyYyfd|EJPM@%P0sqpJ{3?&X zTaW(Fx|+6fx<~2lC+F+;?yZj~oq61QzR6n0O|PZ;fnm#_TH+c}l9E`GYL#4+3Zxi} z3=GY54GnY+O+pNftqcsTOw6-L1P+nfHmzkGcoSayYs+V7sKKq@G6i^j|r>mdKI;Vst0Kj+RE&u=k diff --git a/app/images/icons/novnc-32.png b/app/images/icons/novnc-32.png index ff00dc305a756d9e87b2bf583caffb25fc8a9e6e..6d9182a33648f12a24af19f4de97e84a88dc4f22 100644 GIT binary patch delta 585 zcmV-P0=E6A2>%C=U;$H+VK=dxAORu%m7GNY000qmQchCd%f zK-f~10sKM&W>rw67SL4-=q>@wkQSh)1n8Ax_F1OrXFybqf;>Ypl`Cf1L%hZ&HOhbi z90VA`;SoR_WtWHv7#l~SBnKvN5?~6aXPA|mnlW=2HucOUtPhZsF>h01(%C znho&^f7ryWZQMz7U>EoHB_Kx4Pyrm^;SnAuIdF1{XGK8CO5ptB^6L6V#0%fvp#<*P z^8=LtJR&|NBmmDZ){r>~ydu7V0l+&yKa4S>5&&J*0nDAIjh%k#x~|d6o77lBGlQMJ zzJ=dd>9dc-g-@G^)7H-!KJ^io^50f6S;O}?e-q*^CzQO|PW>(X_jY-_1@lMC|C-&j z)yMk(0BDJ4&8~K-U;qFBC3HntbYx+4WjbSWWnpw>05UK#GA%JOEig4yFgQ9gI65&l zD=;uRFfjLoP%i)g03~!qSaf7zbY(hiZ)9m^c>ppnF*z+UF)cAOR4_R@H8VOeFe@-H X6FM+3q)~je00000NkvXXu0mjf5d8IE delta 609 zcmey*zJg;y0%O?3MDvYPl^N^L98ulJz`!6>666=m5dQG*gOC~1?*IMwe8~@;$Y)Dc z+m1a2$}%Q-ySp%Su*!M>Ih+L^k;M!QZUG?7$Uo{M*jv*GOTPKHyA94_A4Oe8+n#S27wSg(}cw3Tl^7})VN-)wNL>i!eWAy&W`fy*_xgm z1b4FyvtX}w(rxE0r_@SMHRv$Put*$wDCi)QI=#bCLfUx&Y^zkgFzaPtjhlzH$_Q0};8K~YzFrGu~cgFlZxz53;L zg!|sTg)HxGerBG^V54MrRE6QZ{!jKi zUj8)uN~Dvvvu15A_x^o%(&f9j=9>wmd)g=e+A>k&ReiMYQs4WxT{>3J2-qwaX8qOd z^Zn?;>Y``;^Zst#mFcbh`ag4Md-n2UdE4eqp2#d#YiOoxXrOCo5@KjD=L`h0wNvc(DeoAIqC4-Rx4h>4h^-Vwxk{}Ji`DrEPiAAXl<>lpi gnR(g8$%zH2dih1^v)|cB0TnTLy85}Sb4q9e09CH<9smFU diff --git a/app/images/icons/novnc-48.png b/app/images/icons/novnc-48.png index f24cd6cc939a073d4ba178995eac2854d6acf607..631a9bd649ab49a1390b680d9733074a0795d3e9 100644 GIT binary patch delta 863 zcmey$b&G340^`exiNZGa_V(srU}0flZEbC8Y6|25*_M`;K+?#_$P)}aJUk!_FEB7R zHU@GxuARqN@8JGUn1O*ovLwham?8MWkMn_iS1&pI&M~v50d}?8GJOcxhiKmNW zh{y4>*V4m<9Yxq4Ok`EOw4}2-xzkWjGeM_b_~PoOO%WRwEV_}cbEEpbsC8M+jejdQ z&zzZ?cjBD+`{_GRR?fG*eD0=d%heVm-*%y;*-u4Vt{*uyDKl}EQtO{31%<0u=>|&L z@dq4!CSPQ?D9dwZkld?|Wo#xv>)Bp)M#(++&uqmW7va!5Ej*(4k9lMDQLiaic@4E3`fu*;at~W? zc>SB=tk*0aYqx)%(bU7TfzkY%_$=QYmE5Nv9tdL;*e`R(3keA#z0`QE%r z-+6aO`g)dgg6|faHTSiN|DR;K8E zcptHh;2$iU#nHi;uZ9SokXelF{r G5}E+i<7gZJ delta 890 zcmcb`^_6Qv0^_rZiNcn4c6R3G<`xzfmX?-gW@bRr*47rtH8L{t1OpEb40C{rh;i_mB4EeQclm zcAQ&L22{hCCr*-JcqUD+RS@$oX~U;b9G zi-Cbj&(p;*#N+tcYw6)v97Nb2OuW#|(eZ3uYV7q5tTCt8)V~OI>-?pBVnjU$FG}Fw01EneX)23e{Q# zLuJ#;FAq6JHAS+mc3E_`{_P=0x281`cl2bQggC~DZdu*br!YgeJadYxcvHf;7;F3d zx*yw?X|lU6)@Wy)du>};UlEVxstVIvp$DB9#U3X8yeFY1Bt#?i6_;qmh_Ky1Z_nNsM9Cp7}Q*=J@2LA)&N7L8GF~qL< z`Ry*_QHBP=tXqFEOe?i1Va+4$Fb4aTQa@a;9>{;yWT8K0&TM)4=To0n z+U2S|o%mDHf1aO$sNnj$U*z-mt(-aG)yCz)AD(4;A6b6*LxaAb`nFs0(pw+COtBNl z&&m|NZ(Lvcbyj})*Ag}J8xQ^cv*z5%N&U~X@1jo7Wyy6HfhkJ0#5JNMC9x#cD!C{X zNHG{07@FxC8t59DgcurI85mfZm}?st0U2K-&vc<^$jwj5OsmALp@pTyjKP3`K@wy| taDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb1!FJYD@<);T3K0RTcxf-(RA diff --git a/app/images/icons/novnc-64.png b/app/images/icons/novnc-64.png index 6d0fb34181b419fc0188004002d01c69227c60cb..98375f84b73ab16a3853662187aa71818085c5e3 100644 GIT binary patch delta 1234 zcmbQm|CetU1149v~Vt-!$8*x1O(2%-!~ z0>$m@?0_nPz|_WACce_%x4$=kpEGaY^l!gUzVN+$yf8^r^VP$Z%*(x>zpQ`w^sHv+nd7Y+ zmUjI<^;1aoZU=Yhsx4FWAD?@-RLlGG(>r(eSMYq%skw8W`?}+fe>#;7pJG_e7AS>x z@_u+=bCbdT+~4y7I^COgQHMLtp1?8n z+?-}8u@zqGecs#GC=s^6T3g^W*Nlip3*QCo@)vhXubo%3B-z2=q%qD*`D z?XPc>AN~Es&jI9}VsMe}vVKv&OEqw_~ek}B;Q~#6JJ|WMn0Hx7KM;8IP?^EKUs29pk-0$VXJOu-m1T_F!9{SpK&^i`CO>k#wpPbCiRKTUkZC18bg=d#Wzp$PyLix40H delta 1252 zcmey%H;aElLjA!2pAc6D1_moDD@#jDGcz+26B8iA+S=O2#>T?J!ra^(!ZkKFHZn2- z3Ie5oih<&`wzfb8Kv`2$Q=l$S81V4$fH6U|mzNiW3)BUXf{;Md3=KCvb!V#ADakPa zIzhc8$S;_|ZRh(xJ6w(L+%io6`!_Gc^rrK!Z6ALByuZKnkMgW%65lOSXFuFm7B@%g zEKmz$lDE4HLkFv@2av;A;1OBOz@Ya4gcJM``*9*rhHlU_OZoAuPIk5UmSdSsrrSD zccItRZ$*kZn)&jU@1u|P?g&Ud?fLW5yEk!K@w3)Hc=qpT@`Ch-PwV6k`0x0qQ(wtY zzfMV7;6P{+bIBZbX@L_v|4Vi)eSYH;!++TXJJz%Xg@zYermxO4Zg{5Kw8S&ubl86e zo-&5>+uO`eEy>+**J&?OVIX7YRH<01(kC^y%|dN&MYF-VhK-Mn0$1`R7OyE{c`T@|alqw>XQ2~^y8lLo z$l&Gm3rkZk>IF2sG%k3iV`*Q_cW$ove5M@^jABZ9r^2!f9r{EWyalG8x^H({V0wEq z#{({I2l-3oZ6S{&H4dB#ov|}YYF%Xa>uc(lFSNy+xs$=WLQm0_d9{C{@S|tCk216$ zZF?J(aoq3D*5COKi=-NCJE~uPwtE=!UA+AP!=r=Fx9S`2**%XN=yq9?Nu|~2% zxI^7Plj-6SwuZ|c=?v$T=2`QLJviig#QSBGL!)fLPp-JV)2d{R^Y4T(>?n=SXt)06 zV6&0=f!?FNzdQKlnnW4;<&^CMRPj@Op^DkN7iJ-C{^@$)?eF|GHt-X;tc z?)NP<`K~bRIlr|2Kt!l|@+>h06O-JeXoi-u18es1zp8fRZs@;xv-Q*Zhs)1zxxe(6 zQ}zGX+uvXN-lWE0-*YUba!!g#)VAlB3kxRI$X}Rtm2J*ynIz5a4IGEqB+m34@IS=z zBDsUB;OF{vR`D~rOAP;ePgM_%`MZ1lJ$uDaOaJgkz4f=Ac$%)8!kzJR(fw^dUzu8* zyZy4}i@$iC(9(YQNfK zes(cwLo;1N16@Ot5JO`t0|P4)b8Q17AmeM~nXbtW>|#DR(yEr+qAXP8FD1G)j8!4b722WQ%mvv4FO#mcwA2a{} diff --git a/app/images/icons/novnc-72.png b/app/images/icons/novnc-72.png index 23163a22d06001a508d01b83be1942d4e1032bf9..26e4fba45585d26e2ef600dbd19a4bec6613cd18 100644 GIT binary patch delta 2590 zcmV+(3gPvO75o&Cd4B+h0001o0O}PC-T(jq2XskIMF-{#77aBQm2qQV000SVNkl>4u+{ZlI>C9028c3m#VlbKtT7h=A`j#hyWDr+QVd6dP#)D~Jgbbrb`Ix~0f**`AxYUg#Q zQ)Ynq{5AL9bIv{IJHKOUwO%Kwz6BNk5lmxm1>Akuipw8A1psr2$Im zB+v7`gpfD-`uh5lrcZQp&6+hUL!rf+?DP5B@?GJ4qSa~- zA3JtzefTHSENvpWm%xb*(*7WF+%fQi9)9+ zP#TH?rJ*QL3J4)Zfl@&TLCPt9q<#dKmR-uIFy70<@}mVc|EmG62OXzMr{K8D0gu@O zMwzO-g?~U!ElAQ!7+pS!!SX=>Ku8GT+^TbMTiq$eNtCxxn3FE%UgpNtt5@Nwav`V< zW|g;4NZZBY_$Qz{rUTC>$U=c@9oLl4Wx&M51ax{`R(V}67tCgJzO_-RMyU#cWWZ*# z!DuuleEdDWS3VFxk|f0KeyGSB463ubxrF1m;(sibilRVipp+H`N=4Cv(ohsA1=qKz zRm@^4;pCW2+gjji*;RN%&x~}8#LRYqe9IC=5CoNekV^F9`Z$5E;7a;T7nO0UQNProsr3hrg(l7G!i9A^uxLAP@j9BEeCIDCU#q8Owwvr3{QZmAC*g#fzK(&H(cb^9#m{4huvY8X8irB)wiQLZJ`;}WYB3WebHdI2b- zzg{2hV!>b#e!m~d&K40upwVawrh5@WP*G6<0O`k|*oLNp<2aO*B<@mzAQVjFGeH!i z=3boU6HpW=4H}Im@;PM}yYo&D4jw!ULVo~BB3Qe25iVa=H_O;;eti1rDF}ix{yg@W z4W~|7@WT%$B57WIwH%*(VoO_Ad;195+m#6C-n|y=-*1B`Qf%IQ32klTm_J{ABp_T) zcxEhmgttBre}wu^Ol*CHIEX=`Ixy3~>J%kR0zjRziZ z0RSWk*trv^si^@W@te7n0(ISY~Kc1B^$(Sxs+F9(v1r0v_*n|xml!ory zIe{mhn1U#3Q|2Q?v7RtJJ%Gbu#DCJIrAaCVbaxM9!v+y!W10Ix6&2C-i6~NNwFcFq z)YL?~SL^_tkw5@&;J`w(whq8(WN2srRgwu* zX@`aYn+>p9fqnZfVBww>HhQW~d+ih(XF)^WhuB&5s>#aeE;*AfzW-Sl^eE4Av zMn{$8HXG2^mV8is{P8hVRVk)FItsk`CP7tIRnqi>gCe$US%ARx-m+qaj9t4&x>?aUeAop&fI zD=RZ9zqhvAtY@F~=E`WdcARssRQ*I!%k?YGKQ$Z^06 zFN{U@vN}3`0?#Xbq`x2d;tK)g9}=K>iF zhLm;8N}$*!2mtKZ;X+48)Wbe}7&v}h3yZ~)b;Z429$UB8!{Ja&zq}k+yLK|`@)93bkCkSb{BE7GVE=2gC$n+Y={r zXlzuvURPHDz_6bv0R+4T>kuB4Gq*!+EUV!oO>@C&j z^QAm6F{^DKr+<@2S64MEE0sm*@#CqN6tVR5m{pwx>g}z@_U#hN%M~}`n{Sl+gM)gs zwl2oqcVEE5g%Z^E>To&9NE@`z1dqoPaTs+vT}FOSsvv)+?~2_-V2ojEYAS8KiVy;m z$rLwpm6nz!jhW|U<1iD8nNF%8e>U$*=g)*Oo6TvLJ%6#>RxxS4Uav|V;5HIS6veD8 z_O=j+<2aO+m1X6Z-SPqvLQqy#merC6xWxqui!+;DT}lWkptJ3{BP@>EL3tXJlu}wa z=WcU|$z+!)g4+KGg(P)IpWP&J)b0y9sA>M~@yInf@^4SJB+ue4i}K+k(Mhi!93~S(b%d{*?u#H1eAW zj(_7Kr(t=XpNp|2jGGWL#27oz82cL`!5f5001R)MObuXVRU6W zZEs|0W_bWIFfuYNF)}SOGE^}$IyEyoG8Z!|FfckWFxa*j!~g&Q07*qoM6N<$g20*K AfdBvi delta 2570 zcmV+l3ib8;6pIy*d4Dv#001<+0kBi(6951SXh}ptRCwC$oNa6qM;gcfGyCHAIJOCS zGbq<23MZy7swJ296XK{uMQK`9MU7}sBuI-?sXFyq3PPe$grHHYD^g2K zDiw?Bq`DPKxoc5X6poj0px9{w2{AEo>^NTU-iO6+iM{qZ34b==-zR%LGduJ5Gc(Wg z%-RGBG&eV|4~0Ssn2q>kql+rsa%er`;|Ip=folRRl)y1Z! zrnRCd_J%^CKjwQtOAR3e9LEha4D+}C{{A25e$LFjuwlc7f6UCx91{egEZ?2KS41L_ zl1L=7t+uvS=YMv)|CRVzk_9z2HT4C9!Ipe?IG^Zry1xGY{?_RGm<2f;j=u+k!R`6( zV7?IqVO4#7eW}~+J`LQpAcw=TE)WQuz26t$#extb>Gk@xXU?2CM*%<(gwKlN#E~S4 zgu~%~0sv`lZeH*6`F_fGrwS2+!LXi&LZRLH?nt2`Nq^EV8i_N;n*DrlKgC z^WBj`MHEFd6-ANFcSi~pQ4~2UNfKFjQx7JRBoUhLP82#tfih4OC<8@-6d;5Y1yX_# z0>v$Uv|$uCR^7;|F*d-$dfkfZ|5XEb!@8N08F>EW!L(%>5|vcdEd&M1QyluKxKd{5HR$IH~Fu3QID@{Hy%9efu_il|F>E;hgFg3K^$Z51|B& z)APznBw@Fk&9^LZIF3{42dP9qp-&R%7H(y(D2t<9hC7WVKuMwuprtB;D0h|WR z=E6vkN53dV3o?3*;Qzy8c6JtUBgLZ*aV!@s^TLF>OLe$*=^A_{AHXZz$P3^yu-ve` zV1K;ms6eE#u~9LS3O5-8cS4C1AiZsL_!Zhzz? zPGUPzv|4S_=NYG1cXth7r5+)sU1^c>VR!*nj&EJ^(@? z3k-(T-)>6_kI6~-b#1ML0|y4d^Y=dWnzKLv@cHM}7#ov|+wDMWYx+fX>(+5pR?4P7 zHU@n35kX~TW!mzCgFJTbT!GoUvt`X15&QOC0wLl(6NhEll!ppg3ls=Y^z>B3-gk6_ z!7$_V%2_M|wrz_qw(qzL!_kS$R=Ip1UR;$I}AcqSV z(tGYX3p6(biIOR#P>b7b!p@y5aO8*we2TQ~`SUugTPIJwuC7@CBdXee|NT)+O|40r z>|0Pi=;+av@cZLdk}0IfmAO7rBK!BRz{EuEmKqEO6(5*b(6Nu#%c85R3KbP{PQ_-Bn7;s6hkKs?XqWU&v0Kz|IwptQ6!C%^207l;so($dnL zLLT4&7bq&uLQZulA*6twZC^a1;;3De=WvHoO4S{7-6xpM=7ov_LdXcEl=>FbN`XNL zfyH7;n;}$#BuUpO%d)O~4{EVs7zQ?*ZNZikMUtd%DbMpC=6hg^0nhVTwrrWI^lkUjj&p+3(h~y;i%K;9Hs!kFwEBbaW~^Q4mO)D?QcL9 zz?2{e`+&Po9eO;Tk=oi?T{s+elH50*{_gTcS% zTL2|t39lAg%)cs$4J>VN8Vf*@=_n*TS;2OP)2Xf(oXHiPH+ zr4na~5VG0nboM4*OnE1V!?8vXgwH~u(5ie0LI{bScItGxv`^M95+Whw1b~iHr%nyc z>x)uNhr_W>lB8YXaJX3%MYAZ1++zNf1*J6hn+S$sVo$@eEV~qIOB6pLWLT1<>x7VR zB@#*Mb2^>F=?ecJ=xYmMH^&?`lMV_N8!z>% diff --git a/app/images/icons/novnc-96.png b/app/images/icons/novnc-96.png index 1a77c53f4cb2d2bf63c86f654ce044fde3dac1aa..102e8a60076bcf421e99acb106ff2279b32c295a 100644 GIT binary patch delta 3051 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 f#{=i*fxUU3v7JEExe literal 2351 zcmZ`)XH-+!7T)(JA@mZEuA##t0TL1d5=tn61O-ABEJ!hmVnJX)M@OQdQWae@SWrP> zRKx;<7!|P#C@QF0N~@Ig^_$j@bdC_-7$`3)3H8h8^HFM)3pL1aW}t2H z^Yeocz%y}3LuUXs92GEu(^)n>A)1OWkNqoc&~ay^+0?CnjsT*sjy zVnG4mINsNXd3e|;6riL8=qSCs9EXST{CwQe(XqVTV0ais0DXP^wl<8zq51p!7Z)3` zSbB0fo}LbS_rj%11SZpw!(qI6L;U@B?9wHj{(ewa1``t#9EbXPa%m}f%a(b*z8bNy zc1xF{EJ{vJPHt{a_wN(8ZdGTon9rUmH8+Euo$cet>Kz?GrBc1TXx-iT%9Yl!vC8S` z=6pV=sHg~qwlW!Z=Z?HVzA{<^cVF5<3>BQpQ*BBR?hOLIV#U5TMurmh;T+xu*3y{{*XtSD?mUc zRS=sF5Fq+KFs&nF9AqSC2!r|LepO8kaC-JN^(y*mFAM#BB9r?*9bUCbk8jvQ7MQ8( zoXE?={Hqghoge8XRi46+-A+h!JjALyVYT#eL!zi|ds9v?7}v$$Q`JA)$;}*UGFZFx zx*Mx;OJhBkTPDuBJ~1&{EB$AkB|*6lBER{qWysF!fuBgLK@wE8wpeCdpyzU^I$SS8Ezi6` z0kZ_f6uhgkJ8xW4i=A;ReqDK3U*3~)tw!Hp7|M%!-Zur2BOlL`o)T3m*8FAF87fk% z`c=Jl7GuPU)JO;SbJ#o8PtH@0AT{vLY=ox`J%Sjus+=RxB8XJ0a(^xEuyDB=x}*HFHx%ZDEo(m~I?k zw{7bR3k)sSBX&H*BsM2g{&coH;Arn!Y29J8<{kE=M#wZPU8HVyfag#V=2CHtY+AXx zt8O^9W#8CmSW$EI=G=-oV;lbxvRn>y<`VzLY^D1w>yIc-l_YjopJFy%dKJPm4)ONW z&2x~SCBUlvmaC3Fnrc6^px}K~yEwCJ^ZQ0HNIoVh(oKECALzK(VA@Yvvt>|x_2|iE z+jih;V>9|?Em4Ya=~(M^3l zv*H^ey24YiOUv`x!;4E4%DrBTyRCUO%CL9e;HSN1m2)!Qczqs-;5VKsKTd7WR1rB5 z&u-oGFk3-N8n-aIc5zx<)=Rsv_>&o#on#JimCH9Rd!3y#d}Fe7Mt=K@v=A+<@PJXx z$=i)1PnzW3W{uR7i_&4@LsI?RDv8xsy!PfqZd^-faY;Wm`s#fESAZ?wgvZ3w75mxu zJS?qDVd6nD*@!oi$dr(pU(OvZHll>U)*5M!dPiOpMrT}~QtYNaDoMqn6?eOQaKV5W z^bNgd!_`#`U_7$~WVPxy@yesSIxk$&H0Ny~FX^0rKoqALzdd1RE>uVfHPbdlDf1;6YbpJLDSji{o9Hj zc&DTfa}QI^a%Id@t=PF3hj=_%EzdxY;2h&np<6@xGrmC*8Rua3O2U`4&J$UwS`5Onso+0 zCSyfHhS)tRO^haRW-vJpOojuK9m!;&KdU?2mBw&J%9q%O1^?r)Zo`VzD>wgthg@RD y_lwi$dxnS&D>JeZ(!`LJmF2j4eM)*#LaNwtL)xmcVGm Date: Thu, 22 Dec 2022 16:43:44 +0100 Subject: [PATCH 9/9] Use an ICO file for favicons The browsers have been choosing very poorly and have a lot of bugs when it comes to favicons. Using an ICO makes many browsers choose better in most cases. Most large websites use ICO files. The icons in the ICO file needs to be ordered largest to the smallest icon, and due to a Chrome bug we are limited to 8 icons. This unfortunately means we couldn't fit one of the Android sizes. The 72x72 icon was removed since testing showed that it was used the least. --- app/images/icons/Makefile | 16 ++++++++++++++-- app/images/icons/novnc-144.png | Bin 4583 -> 0 bytes app/images/icons/novnc-16.png | Bin 648 -> 0 bytes app/images/icons/novnc-192.png | Bin 5754 -> 0 bytes app/images/icons/novnc-24.png | Bin 967 -> 0 bytes app/images/icons/novnc-32.png | Bin 1023 -> 0 bytes app/images/icons/novnc-48.png | Bin 1370 -> 0 bytes app/images/icons/novnc-64.png | Bin 1917 -> 0 bytes app/images/icons/novnc-72.png | Bin 2684 -> 0 bytes app/images/icons/novnc-96.png | Bin 3104 -> 0 bytes app/images/icons/novnc.ico | Bin 0 -> 310566 bytes vnc.html | 16 +--------------- 12 files changed, 15 insertions(+), 17 deletions(-) delete mode 100644 app/images/icons/novnc-144.png delete mode 100644 app/images/icons/novnc-16.png delete mode 100644 app/images/icons/novnc-192.png delete mode 100644 app/images/icons/novnc-24.png delete mode 100644 app/images/icons/novnc-32.png delete mode 100644 app/images/icons/novnc-48.png delete mode 100644 app/images/icons/novnc-64.png delete mode 100644 app/images/icons/novnc-72.png delete mode 100644 app/images/icons/novnc-96.png create mode 100644 app/images/icons/novnc.ico diff --git a/app/images/icons/Makefile b/app/images/icons/Makefile index 83218e17..03eaed07 100644 --- a/app/images/icons/Makefile +++ b/app/images/icons/Makefile @@ -1,5 +1,8 @@ BROWSER_SIZES := 16 24 32 48 64 -ANDROID_SIZES := 72 96 144 192 +#ANDROID_SIZES := 72 96 144 192 +# FIXME: The ICO is limited to 8 icons due to a Chrome bug: +# https://bugs.chromium.org/p/chromium/issues/detail?id=1381393 +ANDROID_SIZES := 96 144 192 WEB_ICON_SIZES := $(BROWSER_SIZES) $(ANDROID_SIZES) #IOS_1X_SIZES := 20 29 40 76 # No such devices exist anymore @@ -9,10 +12,19 @@ ALL_IOS_SIZES := $(IOS_1X_SIZES) $(IOS_2X_SIZES) $(IOS_3X_SIZES) ALL_ICONS := \ $(ALL_IOS_SIZES:%=novnc-ios-%.png) \ - $(WEB_ICON_SIZES:%=novnc-%.png) + novnc.ico all: $(ALL_ICONS) +# Our testing shows that the ICO file need to be sorted in largest to +# smallest to get the apporpriate behviour +WEB_ICON_SIZES_REVERSE := $(shell echo $(WEB_ICON_SIZES) | tr ' ' '\n' | sort -nr | tr '\n' ' ') +WEB_BASE_ICONS := $(WEB_ICON_SIZES_REVERSE:%=novnc-%.png) +.INTERMEDIATE: $(WEB_BASE_ICONS) + +novnc.ico: $(WEB_BASE_ICONS) + convert $(WEB_BASE_ICONS) "$@" + # General conversion novnc-%.png: novnc-icon.svg convert -depth 8 -background transparent \ diff --git a/app/images/icons/novnc-144.png b/app/images/icons/novnc-144.png deleted file mode 100644 index 1707e331b771301a275db2a58f5700f9f7f687dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4583 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 diff --git a/app/images/icons/novnc-16.png b/app/images/icons/novnc-16.png deleted file mode 100644 index d4e29288b091e8109afdd0e2e454b31365358dd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 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 diff --git a/app/images/icons/novnc-24.png b/app/images/icons/novnc-24.png deleted file mode 100644 index ee316e1d7067b9f3595a20d6269710be13cddc3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 967 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaAv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZk1_s8|0G|+7paL5k8*_7W zBO@aqX=!O`VPOGeczSwzcz6Iw2rx7>RCQJr3lb9#6xTJ?RrXL84;EK&Q4kFkWoTgF zaOPmFVPvRgP*YO_nj<76Br7Y+?99yM#Kh~%D=#l^Y;0_1W(G9Y+S*#dNrBm&Sy54u z%a4mwn^VG8f=!D}OH0eq(b3J#t*}t>|9=K=Z`ts0jpStEJ9n5ZEw!di6U)w4{`r%! zr-ujV9#d0;*RL5TOkiEOQ1sO+26=g@ty`Imj0~nu6`eX&tgDNuyPMhHpL_0HzNb$a z^z<~JKWFamXVB5nIewhs?_Y+lE-rU>_waD_Y16oEY+2JrF+(vo*RZWktf+{|z`(%DO85G8rp!!*A3qpcT3A$6 zR8&<}6%-V-wY5!5Ok7=E?d{Be z7<#%mhG?8Gy~rMX$U%VhL2H0ZOcebp<9nGpD8d&Ax?!Qu)<8}AAeN+f`Vh>TLf<@2QFAF94k2S-3(6K6kE1O zEphLh?fDzn+YQeAn;0l2d71OE@Z=e@<}rSLbH^r|d(R9Hm1!&qm8qq}PYR z7TTV}=dsE#`u;rdPWiN>qLnKxg{75%#FH82e^u&^?+ zurf5$21c}j!S|K`eH0D3`6-!cl|T)Kmb!+9x`xIf29{Q)#z3VI4NC%RwgNRUc)I$z JtaD0e0suhSL|*^^ diff --git a/app/images/icons/novnc-32.png b/app/images/icons/novnc-32.png deleted file mode 100644 index 6d9182a33648f12a24af19f4de97e84a88dc4f22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1023 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+0817mQ2Plzi}fwi@@g@uK& zu`!UewY3Fut*oqoY$GEhPbA>&?d{>=0TeJaGz3a9G%zsKG4O`-8WZuEUAR$w&u0UA%GA{0^=rm2Ul_iAWqkFDL0nwO$w}+! zQ$|Ti2|GKx`SS((`xzo56@UC-00v7$goddpYe|Xd;>A2NGBT#7rfzO-z(4~Apra!& zE*SnzodXJ1!IB`qV21FAe;5NHi&WMnO6 zTEw=-;o8Q9H!j@Rz2e5k@{NoC|39nC$-+}0|IO!HU2##mpA*N*)#VLqW&Fewvl>nX z-B}~Q%Cm6duT=~c9gD3Vs0KLmaB#5RcDf*EqAjf;@TMVQq1G}HhvlnQH9Fh~n#%ac zi772KV2Rj;Q0^CcjAtf@Em+R-VrufY$Yn3m9YT7WY@7|JYNy?F-g8XN^i%_*42#5} zhk_0=sna_+C8XUKs<5jS2qkbWPoFV$)>8+GXG{96*q;S+cYB{+DVq22)hq^q>y@*3 zKXTnTvNrdQXK{k~_iw5SZf64+Wga{flvB4XDC$agbvWtu;LoE^uYS25;l6)wAOZ^V^0o7lc3%ajf4U!L6nXf&x$q-B^(lL9`u)}Y^S!Kc59??5 z)Bk7P-E#H#um21go#|)Sm90zw#)@i*YeY#(Vo9o1a#1RfVlXl=GSW3P(lsy*F|e>Q zvam8V(>5@$GBEhw5}=QwAvZrIGp!P+!O&9I&`{UVIK;rx%G4OB6ry2CV9i#b1_n=8 KKbLh*2~7Z$foBW= diff --git a/app/images/icons/novnc-48.png b/app/images/icons/novnc-48.png deleted file mode 100644 index 631a9bd649ab49a1390b680d9733074a0795d3e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1370 zcmZ`%Sx}Q#6uy5}Ap~RzS;`_2kR^oV4VDvKeheMYd?6&`J@jP#vJH zR?rz0E#oqZrbV=FI4q(S1XEd*0-=HuG0I>OEnu(osSlo+bH4MPb?%&79v7n|TQjTy z0OTl@OaqbgUYB5@O&_#sgn-jYqon{`s3gs0;2~e8RcWFD_|hAIk}?3^!cfUm0JgzK zb2P6x4c#y&@m&*ku0ISEkhr4^qJ@MP|Fa@>(UteE>o&Z;nNF*wi%3v^p zgM(=_8XOC^z@?Fqk+?jZQmJ%X=>~EE$N>lwfipclJ$-z9=ybYVE^lomy?Y0$s%#G( zqTRSbEG>2L^77K@JjciJiHR%b=fTVj5Q*HCO4iH_hR?^c*=(K8X>=5S_AIHc4$I+i z3+9DbDapmgh9r~8luCcKnwp&Ko7fxUYdBM`94%PD<*ATZF6 z$KyPDM9j|z-rn94iT}fgNK+FIMFWF_Im5#ky`Hptx9i9Vpi=GBYHza{95_H!C=>++ zA5Bbv$w_Q#Dw3GE?A0qkr_)3t5s%01>A`h(17~L^osKa#2TUd`yo*-LR45P@i>1}N znM}aL!^7R(T`HBr%L;|Uh=>Sy<&{c{BLuo$6SE4e>Ylw9Z~MSVeqp&E*SRod+&AY} zeFZ;F-Qd&?i;#66D`j90-c<#ORgP*+KE$<)nzQ`USI{BqqoU=+aT{kcpSnL+n+5T^e>$H zrKTopYe$#h#ZQ-S7akECy9T_<9+aWcyB&VsJVq(&YrXS*X2xmeuDKIAxo1uX#M32q zaV_KSd6K$KQ8gMj^PYM_kfwoPE??_5@(wE`#-|$VTlUr%Naqd`Wx6)qqZE!x#krME z*>^D%y6P&2oksl5U;R2xmTph%HWBm3*pxN;Uc2$mz{gaU%}_6HY?iQSkCEI?EO0eTE=o)*$dbUMQ!RIACS3zD=P=CR49`gxP3Dowa;*>vrW?n zOZVc=BZ3)fZS@CNGOXdrX zR+5QRaYJ`pC8f&BdF;2Jjm%n!ta7YlkC^NvMYi|SULxXWm>m1SltO4r zP1i~S2Jn`_wxZWlHzO}3l_)Ex%85@~+(7KqKz^}(6LPh97yjj1oZ=+)YT)M{l-k_ZmZ26&Z?S5XuS4<`j@JVP505THP0a%TVzjrs&wLjax1nb|9%s`9imKON8)C zdFkb=_3JbA8-&`t4G;jzLD2v%8i1k+T%M566QVqS4oAr0oO*V&;C~HS+3PbuFZ^&r T|3z9WYyeU67}>dq^wNI;?nL$! diff --git a/app/images/icons/novnc-64.png b/app/images/icons/novnc-64.png deleted file mode 100644 index 98375f84b73ab16a3853662187aa71818085c5e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1917 zcmZ`&X;2f^7CuQxfB*pk1Ox@bDugU#147tB0zpim6o?BV$RbEvK^EE6uxLRGIuEqL zHNMs|S`>V(BB)da#{!ncD(DDBuoyRR35Y_FcdI|%uXpC&v(5R=d}r>t)zR{B6QV5< z08ApJ;uvIu|G5S@q>r_hy+lTDbBHVi;QW3gT{0fUjw#X@89=ccfU*)`9;K8|0rFV@ z&yxTIDgf*3qwQY^0kF5CSI0_Ffxo}MpPwI}&*yTv$Po&KzMsU$$4Br!ixg2SfM<~=JJUkqQK|w*E%TP~mZ*P>R zuBL(#aQQeJxebHQFi$ndmSRasBs!Olnp^lv3M4X1!(|r015yZ&}cMV2@Y}r zwu7CW9pVo(aCCH}QmIZ(PF7Y{MoC8I=H`f`S(+IV!~xL`4h|NJ#fS;E7>h5&BPOJc zB!~hEg@T4=_%QSodQc1y16U$9ARxfa&5g-q+S=NBdU}dPA~cIc;`Qzwc4-MT8XTLw z($|-%(Gce5Fam*nK>@Y9+knSoWMxq{Y;YeMGSund&>;(@l2Bj2th^kWn(*GyIBns|C4yMQ<-5F3v1H-IYi*+_%r{$rBKXoRgDX1_ppm_vCQAhlhzFA>iWT za^eJWXb6qw(cW&Dl|@u4?OR%aL?UrGtkzaSXD3!7kwiy(EG)p}Brq7x8V#OC19x|K zfq*eEfGsF+Y-}{CsKBdK%NiPhOeTv&9^>Pf!9l&SFt6EJ%*+fruzWdIE_a!phWvc0 zLIG&$4jv>YB-sD{J0UlBd19hlb2GlQlKiy-q>ynV8pBEvM=sz*0nDDF*=A>){z-2~=Lt@u- z-W;A&{26Vj|9WL;*VSPB^|M!P_19T_k(zN#vNsTKtyT}8O^UOeqvUKIDS35u?yvPZ zQC+)kT&d*B>>?k|Rm>ed-tqmrh3==ahqrPzS$RAkKaFdQ)I1xX{KF&e_O0D5r}i%N zd?34yRvE>e`L&+;xNrKDXQXy=WaPI(;~B5gk$$7$kV_xEij;2?@O-tCqT1y3BjE!G z>RarO_F8f4kpBBup!HzkOo+-oR}yM$aokK>CzI)O&**GUa-Bm>=QaR_Y!4IQntZ7b}H=>bgGR*iG+&d&C1_B9#*%=T42Lrnbx` zUhPja>m{nzl=;fk`VNC_c4v>5{+JRR#Vt!*U-rZ!19p@&yhsmz&`*>_Tn4)~>cu2Z;8Veu;dip{s{wZEi4KH8>Tsnl8} zVJ2>PouXh;*JE02a;kMxzgXt1wX6b0E6h-LY?itnFT*yiseTf7Cwta5;WDFP&yYr4 zRKZiXSI!tW1@5k?I>O)g1HEc}YsASZ|7^{C)=v#BYCwLT&uZ zE8DBudP>GDOdxPzdwN%et#ZGgrBsp6t{uWw?)gdfm639Qq$--Jn@=3TKFW=cKc~xj zKS`U~e!64uuceQV8)vVo4X-gPsB7)rml+?La)0W}jp#7V=-q z7i^!5%{wo~U(zWQ$L2J;gxgE;lM!i(rRksNqNG-Ry$1^`ghzy@dx|a}=wC`XVruaB zr3twvCFX1GkB3{fX!Ex{_Lbbf*-u%^XB&I=^kKcW!wIF{v!M*Wu_RL+=`hV@hoN6roZOX2#5B)>e zJjt58)a1N0LCUr?WPr_Lv+3S!I-4Eq%@Oc80yc-nVhLER(=XKj{NVoqzTTRenO^k& U0rxN3bRhslNaW&kqNMWw0#PZ?mjD0& diff --git a/app/images/icons/novnc-72.png b/app/images/icons/novnc-72.png deleted file mode 100644 index 26e4fba45585d26e2ef600dbd19a4bec6613cd18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2684 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 diff --git a/app/images/icons/novnc-96.png b/app/images/icons/novnc-96.png deleted file mode 100644 index 102e8a60076bcf421e99acb106ff2279b32c295a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3104 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 QfAMDulr_eRZs8sKAGNQnLI3~& diff --git a/app/images/icons/novnc.ico b/app/images/icons/novnc.ico new file mode 100644 index 0000000000000000000000000000000000000000..c3bc58e389396b7beb0fb0a97386e2af3604b386 GIT binary patch literal 310566 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 - - - - - - - - - - - - - +