Add logo, favicon.
Thanks to Michael Sersen for creating images/Logo.svg. - Add images directory with original SVG logo, favicon, and some derivative PNGs of the logo for different purpose. - Note that license on images/* is CC BY-SA. - Add utils/img2js.py to take an image and generate a base64 encoded data URI string. - Add base64 encoded data URI screen logo to display in canvas when disconnected.
This commit is contained in:
parent
397c08458b
commit
d5b33278ea
@ -8,3 +8,7 @@ docs/LICENSE.LGPL-3) with the following exceptions:
|
||||
include/web-socket-js/ : New BSD license. Source code at
|
||||
http://github.com/gimite/web-socket-js
|
||||
|
||||
images/ : Creative Commons Attribution-ShareAlike
|
||||
http://creativecommons.org/licenses/by-sa/3.0/
|
||||
Uses of the work must be attributed
|
||||
to the noVNC project.
|
||||
|
23
docs/TODO
23
docs/TODO
@ -1,5 +1,26 @@
|
||||
Short Term:
|
||||
|
||||
- VNC performance and regression playback suite.
|
||||
- WebSockets
|
||||
- expand latency test
|
||||
- add absolute timers (every 500 packets)
|
||||
- try 1 ms delay
|
||||
- stop at 4000 packets
|
||||
- small and large packets test
|
||||
|
||||
- JavaScript
|
||||
- just base64 decode
|
||||
- everything except Canvas
|
||||
|
||||
- Full test
|
||||
- Without WebSockets
|
||||
- With replay from python tester
|
||||
- add higher-resolution multi test
|
||||
|
||||
- websockify test with echo and playback functionality
|
||||
- choosen by client test page on connect
|
||||
|
||||
|
||||
- Keyboard layout/internationalization support
|
||||
- convert keyCode into proper charCode
|
||||
|
||||
@ -24,8 +45,6 @@ Short Term:
|
||||
|
||||
Medium Term:
|
||||
|
||||
- VNC performance and regression playback suite.
|
||||
|
||||
- Viewport support
|
||||
|
||||
- Touchscreen testing/support.
|
||||
|
1
favicon.ico
Symbolic link
1
favicon.ico
Symbolic link
@ -0,0 +1 @@
|
||||
images/favicon.ico
|
687
images/Logo.svg
Normal file
687
images/Logo.svg
Normal file
@ -0,0 +1,687 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="512"
|
||||
height="512"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.47pre4 r22446"
|
||||
version="1.0"
|
||||
sodipodi:docname="noVNC_Logo_13.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_Logo12.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
style="display:inline">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient7584">
|
||||
<stop
|
||||
id="stop7586"
|
||||
offset="0"
|
||||
style="stop-color:#171717;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop7588"
|
||||
offset="1"
|
||||
style="stop-color:#000000;stop-opacity:1;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5965">
|
||||
<stop
|
||||
style="stop-color:#030303;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop5967" />
|
||||
<stop
|
||||
id="stop5973"
|
||||
offset="0.5"
|
||||
style="stop-color:#090909;stop-opacity:1;" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop5969" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5932">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0.87450981;"
|
||||
offset="0"
|
||||
id="stop5934" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop5936" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient5333">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.05;"
|
||||
offset="0"
|
||||
id="stop5335" />
|
||||
<stop
|
||||
style="stop-color:#4c4c4c;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop5337" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4694">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.03529412;"
|
||||
offset="0"
|
||||
id="stop4696" />
|
||||
<stop
|
||||
style="stop-color:#4c4c4c;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4698" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6989">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6991" />
|
||||
<stop
|
||||
style="stop-color:#0f0f0f;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop6993" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6790">
|
||||
<stop
|
||||
style="stop-color:#434343;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6792" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop6794" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6736">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6738" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop6740" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6720">
|
||||
<stop
|
||||
style="stop-color:#303030;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6722" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop6724" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6702">
|
||||
<stop
|
||||
id="stop4688"
|
||||
offset="0"
|
||||
style="stop-color:#000000;stop-opacity:0;" />
|
||||
<stop
|
||||
id="stop6714"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient6662">
|
||||
<stop
|
||||
style="stop-color:#010000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6664" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop6666" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Send"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Send"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path4730"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path4721"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path4715"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(0.8,0,0,0.8,10,0)" />
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="-24.105461 : 505.9325 : 1"
|
||||
inkscape:vp_y="6.1230318e-14 : 1000 : 0"
|
||||
inkscape:vp_z="719.98902 : 505.9325 : 1"
|
||||
inkscape:persp3d-origin="347.94178 : 330.5388 : 1"
|
||||
id="perspective10" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6720"
|
||||
id="linearGradient6742"
|
||||
x1="341.66687"
|
||||
y1="-253.40732"
|
||||
x2="470.19839"
|
||||
y2="-253.40732"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.874106,0,0,1.0453135,43.679874,11.482781)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6790"
|
||||
id="linearGradient6796"
|
||||
x1="-32.526917"
|
||||
y1="294.91821"
|
||||
x2="653.36664"
|
||||
y2="294.91821"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7584"
|
||||
id="linearGradient6987"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.6520109,0,0,1.5543006,133.44336,136.96388)"
|
||||
x1="341.66687"
|
||||
y1="-253.40732"
|
||||
x2="470.19839"
|
||||
y2="-253.40732" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6702"
|
||||
id="linearGradient4686"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="159.54247"
|
||||
y1="443.13766"
|
||||
x2="430.90103"
|
||||
y2="443.13766" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4694"
|
||||
id="linearGradient4700"
|
||||
x1="229.03033"
|
||||
y1="461.81128"
|
||||
x2="393.28391"
|
||||
y2="461.81128"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4694"
|
||||
id="linearGradient4966"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="229.03033"
|
||||
y1="461.81128"
|
||||
x2="393.28391"
|
||||
y2="461.81128"
|
||||
spreadMethod="reflect" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5333"
|
||||
id="linearGradient5339"
|
||||
x1="271.28635"
|
||||
y1="294.12686"
|
||||
x2="490.23206"
|
||||
y2="294.12686"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5932"
|
||||
id="linearGradient5938"
|
||||
x1="-245.06445"
|
||||
y1="7.705513"
|
||||
x2="-62.328537"
|
||||
y2="7.705513"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.5245666,0,0,2.6282551,644.92825,162.55033)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5965"
|
||||
id="linearGradient5971"
|
||||
x1="159.54247"
|
||||
y1="443.13766"
|
||||
x2="430.90103"
|
||||
y2="443.13766"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
spreadMethod="pad" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6720"
|
||||
id="radialGradient7582"
|
||||
cx="295.22174"
|
||||
cy="443.13766"
|
||||
fx="295.22174"
|
||||
fy="443.13766"
|
||||
r="135.67928"
|
||||
gradientTransform="matrix(1,0,0,0.1356784,0,383.01346)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6720"
|
||||
id="radialGradient7611"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.1356784,0,383.01346)"
|
||||
cx="295.22174"
|
||||
cy="443.13766"
|
||||
fx="295.22174"
|
||||
fy="443.13766"
|
||||
r="135.67928" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4694"
|
||||
id="linearGradient7613"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
spreadMethod="reflect"
|
||||
x1="229.03033"
|
||||
y1="461.81128"
|
||||
x2="393.28391"
|
||||
y2="461.81128" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5333"
|
||||
id="linearGradient2913"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="271.28635"
|
||||
y1="294.12686"
|
||||
x2="490.23206"
|
||||
y2="294.12686"
|
||||
gradientTransform="matrix(1.0217389,0,0,1.0105488,-8.1719712,-6.8195787)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5932"
|
||||
id="linearGradient2916"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.5891218,0,0,2.7050059,653.14704,159.9845)"
|
||||
x1="-245.06445"
|
||||
y1="7.705513"
|
||||
x2="-62.328537"
|
||||
y2="7.705513" />
|
||||
<inkscape:perspective
|
||||
id="perspective2920"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="198.11269"
|
||||
inkscape:cy="276.37194"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="svg2"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1680"
|
||||
inkscape:window-height="1026"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
showborder="false"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Screen"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:#303030;fill-opacity:1;stroke:none;display:inline"
|
||||
id="rect6684"
|
||||
width="473.59906"
|
||||
height="321.92017"
|
||||
x="18.594318"
|
||||
y="19.852146"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_screen.png"
|
||||
inkscape:export-xdpi="121.61401"
|
||||
inkscape:export-ydpi="121.61401" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer15"
|
||||
inkscape:label="Favicon_Box"
|
||||
style="display:none">
|
||||
<rect
|
||||
style="opacity:0;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
id="rect3899"
|
||||
width="342.5874"
|
||||
height="342.62888"
|
||||
x="86.710419"
|
||||
y="14.318709"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_favicon.png"
|
||||
inkscape:export-xdpi="4.1999998"
|
||||
inkscape:export-ydpi="4.1999998" />
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
id="rect3899-5"
|
||||
width="342.5874"
|
||||
height="342.62888"
|
||||
x="86.710419"
|
||||
y="14.31871"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_favicon.png"
|
||||
inkscape:export-xdpi="4.1999998"
|
||||
inkscape:export-ydpi="4.1999998" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer6"
|
||||
inkscape:label="Base"
|
||||
style="display:inline">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:url(#linearGradient5971);fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path6944"
|
||||
sodipodi:cx="295.22174"
|
||||
sodipodi:cy="443.13766"
|
||||
sodipodi:rx="135.67928"
|
||||
sodipodi:ry="18.408747"
|
||||
d="m 430.90102,443.13766 a 135.67928,18.408747 0 1 1 -271.35855,0 135.67928,18.408747 0 1 1 271.35855,0 z"
|
||||
transform="matrix(0.01302703,-0.3700754,8.066322,-0.0237182,-3322.837,581.39212)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:url(#linearGradient4686);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
id="path4684"
|
||||
sodipodi:cx="295.22174"
|
||||
sodipodi:cy="443.13766"
|
||||
sodipodi:rx="135.67928"
|
||||
sodipodi:ry="18.408747"
|
||||
d="m 430.90102,443.13766 a 135.67928,18.408747 0 1 1 -271.35855,0 135.67928,18.408747 0 1 1 271.35855,0 z"
|
||||
transform="matrix(0.01219366,-0.2777519,7.5503003,-0.01780117,-2984.4223,654.88677)" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer14"
|
||||
inkscape:label="BaseHighlight"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:none;stroke:#0f0626;stroke-width:3.4000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.9254902;stroke-dasharray:none;marker-mid:none"
|
||||
d="m 113.22547,451.27721 c -6.48144,25.47482 27.77284,36.00307 33.46034,37.48107 75.48368,19.61581 142.61203,18.18957 201.82073,2.0728 19.20235,-5.22693 38.29352,-12.81118 45.54545,-22.87742 8.91645,-12.37672 -0.92272,-23.26137 -0.92272,-23.26137"
|
||||
id="path5997"
|
||||
sodipodi:nodetypes="csssc" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer10"
|
||||
inkscape:label="BaseShadow_1"
|
||||
style="display:inline">
|
||||
<g
|
||||
id="g7591"
|
||||
transform="translate(0,-2.1213203)">
|
||||
<path
|
||||
transform="matrix(0.01219366,-0.2777519,7.5503003,-0.01780117,-3095.3084,545.23419)"
|
||||
d="m 430.90102,443.13766 a 135.67928,18.408747 0 1 1 -271.35855,0 135.67928,18.408747 0 1 1 271.35855,0 z"
|
||||
sodipodi:ry="18.408747"
|
||||
sodipodi:rx="135.67928"
|
||||
sodipodi:cy="443.13766"
|
||||
sodipodi:cx="295.22174"
|
||||
id="path6716"
|
||||
style="fill:url(#radialGradient7611);fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline"
|
||||
sodipodi:type="arc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cscc"
|
||||
id="path4964"
|
||||
d="m 316.59702,421.17478 c 0,0 58.23544,7.94555 73.90264,26.394 24.79157,29.19259 -118.30811,67.5501 -242.96933,33.90089 213.50314,-1.39087 169.09283,-60.31728 169.09283,-60.31728"
|
||||
style="fill:url(#linearGradient7613);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer5"
|
||||
inkscape:label="Support"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:0.98453603;fill-rule:nonzero;stroke:url(#linearGradient6987);stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="rect6686"
|
||||
width="72.335358"
|
||||
height="30.264278"
|
||||
x="361.94818"
|
||||
y="-272.03949"
|
||||
transform="matrix(0,1,-1,0,0,0)" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer13"
|
||||
inkscape:label="ScreenShade"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:url(#linearGradient2916);fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="rect5930"
|
||||
width="473.12555"
|
||||
height="321.87091"
|
||||
x="18.64533"
|
||||
y="19.892525"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_screen.png"
|
||||
inkscape:export-xdpi="121.61401"
|
||||
inkscape:export-ydpi="121.61401" />
|
||||
<path
|
||||
style="fill:url(#linearGradient2913);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline"
|
||||
d="m 492.23643,341.65103 -222.74382,-0.21858 c 0,0 42.71861,-8.28882 90.56766,-25.15824 28.31396,-9.98224 57.59439,-24.1182 83.13673,-38.1986 45.98594,-25.35007 49.03937,-38.90668 49.03937,-38.90668 l 6e-5,102.4821 z"
|
||||
id="path5331"
|
||||
sodipodi:nodetypes="ccsscc"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_screen.png"
|
||||
inkscape:export-xdpi="121.61401"
|
||||
inkscape:export-ydpi="121.61401" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer9"
|
||||
inkscape:label="noVNC_Black"
|
||||
style="display:inline">
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
style="fill:none;stroke:#000000;stroke-width:22.07362747;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
d="m 416.69139,186.74564 c -77.95059,0 -77.95059,0 -77.95059,0 l 0,73.23957 80.00192,0"
|
||||
id="path5134"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_screen.png"
|
||||
inkscape:export-xdpi="121.61401"
|
||||
inkscape:export-ydpi="121.61401" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
style="fill:none;stroke:#000000;stroke-width:22.07362747;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
d="m 221.52501,259.96552 0,-74.30876 75.89924,74.67652 0,-73.6827"
|
||||
id="path5132"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_screen.png"
|
||||
inkscape:export-xdpi="121.61401"
|
||||
inkscape:export-ydpi="121.61401" />
|
||||
<g
|
||||
style="fill:none;stroke:#000000;stroke-width:25.32735443;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
id="g5128"
|
||||
transform="matrix(1.0637273,0,0,0.7140646,-87.846677,11.859872)"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_screen.png"
|
||||
inkscape:export-xdpi="121.61401"
|
||||
inkscape:export-ydpi="121.61401">
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
id="path5130"
|
||||
d="m 181.27307,243.94727 0,42.42561 69.52825,61.54333 0,-103.59063"
|
||||
style="fill:none;stroke:#000000;stroke-width:25.32735443;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
style="fill:none;stroke:#000000;stroke-width:21.4314537;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
d="m 106.33831,159.40077 0,-72.146954 73.69116,72.504004 0,-71.539108"
|
||||
id="path5136"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_screen.png"
|
||||
inkscape:export-xdpi="121.61401"
|
||||
inkscape:export-ydpi="121.61401" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:21.4314537;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
d="m 219.23536,92.259872 0,71.123858 77.68903,0 -2.0092,-71.123858 c -75.6828,0 -75.67983,0 -75.67983,0 z"
|
||||
id="path5138"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_screen.png"
|
||||
inkscape:export-xdpi="121.61401"
|
||||
inkscape:export-ydpi="121.61401" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer4"
|
||||
inkscape:label="noVNC"
|
||||
style="display:inline">
|
||||
<g
|
||||
style="fill:none;display:inline"
|
||||
id="g5142"
|
||||
transform="matrix(1.0637273,0,0,0.7140646,-87.924897,11.633929)"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_favicon.png"
|
||||
inkscape:export-xdpi="4.1999998"
|
||||
inkscape:export-ydpi="4.1999998">
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
id="path5144"
|
||||
d="m 181.27307,243.94727 0,42.42561 69.52825,61.54333 0,-103.59063"
|
||||
style="fill:none;stroke:#f2eb41;stroke-width:19.83890915;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
style="fill:none;stroke:#f2eb41;stroke-width:17.29026794;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
d="m 221.44679,259.73958 0,-74.30877 75.89925,74.67651 0,-73.68269"
|
||||
id="path5146"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_favicon.png"
|
||||
inkscape:export-xdpi="4.1999998"
|
||||
inkscape:export-ydpi="4.1999998" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
style="fill:none;stroke:#f2eb41;stroke-width:17.29026794;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
d="m 416.61319,186.51969 c -77.95061,0 -77.95061,0 -77.95061,0 l 0,73.23958 80.00193,0"
|
||||
id="path5148"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_favicon.png"
|
||||
inkscape:export-xdpi="4.1999998"
|
||||
inkscape:export-ydpi="4.1999998" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
style="fill:none;stroke:#00df00;stroke-width:16.78725243;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
d="m 106.26238,159.1814 0,-72.146955 73.69115,72.503995 0,-71.539084"
|
||||
id="path5150"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_favicon.png"
|
||||
inkscape:export-xdpi="4.1999998"
|
||||
inkscape:export-ydpi="4.1999998" />
|
||||
<path
|
||||
style="fill:none;stroke:#00df00;stroke-width:16.78725243;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||
d="m 219.15941,92.040508 0,71.123862 77.68904,0 -2.00919,-71.123862 c -75.68283,0 -75.67985,0 -75.67985,0 z"
|
||||
id="path5152"
|
||||
inkscape:export-filename="/home/joelm/Downloads/noVNC_favicon.png"
|
||||
inkscape:export-xdpi="4.1999998"
|
||||
inkscape:export-ydpi="4.1999998" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer7"
|
||||
inkscape:label="noVNC_Save"
|
||||
style="display:none">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g3903"
|
||||
transform="matrix(0.9560363,0,0,0.9560363,-6.710991,-337.27245)">
|
||||
<g
|
||||
transform="matrix(1.0081199,0,0,1.0081199,-11.487266,-121.24134)"
|
||||
id="g3905"
|
||||
style="fill:none">
|
||||
<path
|
||||
style="fill:none;stroke:#00ff00;stroke-width:19.83890915;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 83.455645,199.50003 101.674295,0"
|
||||
id="path3907"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#00ff00;stroke-width:19.83890915;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 81.687109,243.94727 99.585961,0 0,42.42561 79.06591,61.54333 0,-103.59063"
|
||||
id="path3909"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#00ff00;stroke-width:19.83890915;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 87.323416,283.46826 175.10772,160.81511"
|
||||
id="path3911"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<path
|
||||
id="path3913"
|
||||
d="m 289.84756,229.03542 0,-104.90947 71.93153,105.42866 0,-104.02559"
|
||||
style="fill:none;stroke:#00ff00;stroke-width:20;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
id="path3915"
|
||||
d="m 472.59255,125.66322 c -73.87564,0 -73.87564,0 -73.87564,0 l 0,103.4 75.81973,0"
|
||||
style="fill:none;stroke:#00ff00;stroke-width:20;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="Bezel"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:none;stroke:#040404;stroke-width:24.66699982;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="rect6660"
|
||||
width="485.7326"
|
||||
height="337.33023"
|
||||
x="14.179501"
|
||||
y="14.179514" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer8"
|
||||
inkscape:label="BezelHighlight"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:none;stroke:#100626;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.89803922;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="rect3888"
|
||||
width="485.7326"
|
||||
height="337.33023"
|
||||
x="13.819346"
|
||||
y="14.179423" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 25 KiB |
BIN
images/favicon.ico
Normal file
BIN
images/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
BIN
images/favicon.png
Normal file
BIN
images/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 453 B |
BIN
images/full_512x512.png
Normal file
BIN
images/full_512x512.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
BIN
images/screen_640x435.png
Normal file
BIN
images/screen_640x435.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
1
include/logo.js
Normal file
1
include/logo.js
Normal file
File diff suppressed because one or more lines are too long
@ -8,7 +8,7 @@
|
||||
|
||||
"use strict";
|
||||
/*jslint white: false, browser: true, bitwise: false, plusplus: false */
|
||||
/*global window, WebSocket, Util, Canvas, VNC_native_ws, Base64, DES */
|
||||
/*global window, Util, Canvas, VNC_native_ws, Base64, DES */
|
||||
|
||||
|
||||
function RFB(conf) {
|
||||
@ -347,6 +347,16 @@ updateState = function(state, statusMsg) {
|
||||
if (Util.get_logging() !== 'debug') {
|
||||
canvas.clear();
|
||||
}
|
||||
|
||||
if ((Util.get_logging() !== 'debug') ||
|
||||
(state === 'loaded')) {
|
||||
// Show noVNC logo on load and when disconnected if
|
||||
// debug is off
|
||||
if (noVNC_logo) {
|
||||
canvas.resize(noVNC_logo.width, noVNC_logo.height);
|
||||
canvas.blitStringImage(noVNC_logo.data, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ws.close();
|
||||
|
@ -32,6 +32,7 @@ function get_INCLUDE_URI() {
|
||||
|
||||
extra += start + "util.js" + end;
|
||||
extra += start + "webutil.js" + end;
|
||||
extra += start + "logo.js" + end;
|
||||
extra += start + "base64.js" + end;
|
||||
extra += start + "websock.js" + end;
|
||||
extra += start + "des.js" + end;
|
||||
|
40
utils/img2js.py
Executable file
40
utils/img2js.py
Executable file
@ -0,0 +1,40 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
#
|
||||
# Convert image to Javascript compatible base64 Data URI
|
||||
# Copyright 2011 Joel Martin
|
||||
# Licensed under LGPL version 3 (see docs/LICENSE.LGPL-3)
|
||||
#
|
||||
|
||||
import sys, base64
|
||||
|
||||
try:
|
||||
from PIL import Image
|
||||
except:
|
||||
print "python PIL module required (python-imaging package)"
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
print "Usage: %s IMAGE JS_VARIABLE" % sys.argv[0]
|
||||
sys.exit(1)
|
||||
|
||||
fname = sys.argv[1]
|
||||
var = sys.argv[2]
|
||||
|
||||
ext = fname.lower().split('.')[-1]
|
||||
if ext == "png": mime = "image/png"
|
||||
elif ext in ["jpg", "jpeg"]: mime = "image/jpeg"
|
||||
elif ext == "gif": mime = "image/gif"
|
||||
else:
|
||||
print "Only PNG, JPEG and GIF images are supported"
|
||||
sys.exit(1)
|
||||
uri = "data:%s;base64," % mime
|
||||
|
||||
im = Image.open(fname)
|
||||
w, h = im.size
|
||||
|
||||
raw = open(fname).read()
|
||||
|
||||
print '%s = {"width": %s, "height": %s, "data": "%s%s"};' % (
|
||||
var, w, h, uri, base64.b64encode(raw))
|
Loading…
Reference in New Issue
Block a user