Commit Graph

344 Commits

Author SHA1 Message Date
Anton Lundin c39df031d8 clearTimeout instead of clearInterval for timers
We create timeouts, not intervals. Then we need to clear them with
clearTimeout.
2013-08-02 09:58:15 +02:00
Joel Martin 292f6a5da7 Merge pull request #269 from phildriscoll/master
Fix to onMouseDisable
2013-07-31 08:35:02 -07:00
Joel Martin f3ff971db9 Merge pull request #272 from samhed/doubleclick
Allow for double taps to trigger double clicks even if the second touch is a slight bit off
2013-07-23 08:45:47 -07:00
samhed fb4394b10b Fixed so that viewportDrag works even if no mouse button is selected. 2013-07-23 14:26:11 +02:00
samhed df4d6dde30 Merge branch 'master' of https://github.com/kanaka/noVNC into doubleclick 2013-07-19 09:47:47 +02:00
Joel Martin 0e3d505e54 Merge pull request #276 from samhed/screenrealestate
Improved use of screen real estate
2013-07-18 09:58:02 -07:00
samhed 406a8b4e96 Display the desktop name in the document title 2013-07-18 15:51:23 +02:00
samhed 0019d3b055 Added Copyright information to all modified files. 2013-07-17 16:44:13 +02:00
samhed 35b29c98ea * On low resolution devices the status text is now justified to the left
button group instead of centered.
* On low resolution devices the padding towards the edges of the screen of
  the left and right button groups are now removed.
* Since the status_bar was merged into the control-bar the actual status_bar
  element became redundant and was therefor removed.
* Improved the style of the control-bar when there is an error or a warning.
* Implemented a fix so that vnc_auto.html works as intended with the improved
  screen real estate patch.
2013-07-17 16:11:19 +02:00
samhed 6ca8a2c05c Moved the popup_status_panel to the front. 2013-07-12 14:41:57 +02:00
samhed 7ab02c7fc7 Changed the color and weight of the status text to white and bold. 2013-07-12 11:47:41 +02:00
samhed c6ad20992d Improved comments 2013-07-11 12:37:01 +02:00
samhed cf19ad3798 * Changed the trigger distance between touches from 50 to 20.
* The trigger distance now takes devicePixelRatio into account.
2013-07-08 17:14:50 +02:00
samhed a4ec2f5c7d Limited the double click fix to touch devices. 2013-07-03 14:41:09 +02:00
Samuel Mannehed 9e97231acf Made the control bar thinner by removing the space below and above the control buttons. 2013-06-28 16:31:45 +02:00
Samuel Mannehed cc704b712d Removed duplicate of .noVNC_status_warn from the stylesheet. 2013-06-28 15:32:37 +02:00
Samuel Mannehed 0fa4e0a90a Merged the control-bar and the status-bar together.
Also added a popup with the status text.
2013-06-28 15:13:20 +02:00
Samuel Mannehed b2f1961a3a to make double clicking on touch devices easier a double click is now triggered when two mouse clicks occur within 500 milli seconds and closer than 50 pixels together 2013-06-25 17:55:45 +02:00
Phil Driscoll ca9a9964a0 Fix onMouseDisable so that clicks outside the canvas are propagated 2013-06-13 11:10:04 +01:00
Peter Åstrand (astrand) b66ffcddcf Re-fix pull req #245:
* Must declare port variable.

* Must look for https first, then http.
2013-04-25 09:07:09 +02:00
Joel Martin e6500004de Merge pull request #245 from wrouesnel/vnc-auto-fix
Detect port properly in vnc_auto.html when used on port 80 or 443.
2013-04-23 09:19:59 -07:00
Will Rouesnel 58873b3222 Use port in UI.initSetting in include/ui.js
Because apparently it is simple enough for me to forget to include in the previous commit.
2013-04-23 14:32:02 +10:00
Will Rouesnel c42136d537 Add default port logic to include/ui.js
Correctly identifies the use of http/https and forces the value of port to 80 and 443
respectively, as in this situation window.location.port is blank.

This is patch includes the same changes as made in vnc_auto.html
2013-04-22 20:07:20 +10:00
Joel Martin 44ff863273 rfb.js: set FBU.bytes before waiting from RRE.
Also, in COPYRECT, set FBU.bytes to the number we know we will need.
2013-04-17 09:34:33 -05:00
Vagn Johansen 9f554fcdf7 Set FBU.bytes to 1 in encHandlers.COPYRECT
FBU.bytes must be set before return false to indicate that the FBU
header has been read. If not set then "if (FBU.bytes == 0) { ..}"
in framebufferUpdate will be entered and the copyrect header will
be interpreted as a new FBU leading to a "unsupported encoding"
disconnect error.
2013-04-16 19:17:50 +02:00
Joel Martin 7dc038efd9 Add gimite/web-socket-js submodule for DFSG compliance. 2013-04-12 08:21:33 -05:00
jalf b1b342a97e Capture mouse events and filter irrelevant ones 2013-01-30 13:17:50 +01:00
jalf 0d0f754aad Listen for mouseup events from window as well as target element
Pressing an holding a mouse button and then moving the mouse out of the
canvas before releasing meant that onmouseup was never triggered.
2013-01-30 13:17:32 +01:00
jalf 8a147535de Clamp mouseclick coordinates to target element bounds 2013-01-30 13:17:32 +01:00
Hirokazu Takahashi 37a3081f05 Ctrl+'-' won't work on a US keyboad with Firefox.
Firefox 17 generates 173 as the keycode for the minus key.
2012-12-23 18:32:28 +09:00
Joel Martin 705c54edb6 Sync with websockify.
Pull c33f0b52e7 from websockify.

- Fix for python2.4 with URL parsing.
- Set binaryType earlier in Opera 12.10 to avoid receiving a blob.
- Re-order client and target processing so that pending client data
  has an opportunity to be sent when the target closes.
2012-11-14 12:28:22 -05:00
Joel Martin 51562999c7 util.js: script load sequential execution changes.
Related to issue: https://github.com/kanaka/noVNC/issues/205

Split out the function to load a single script to Util.load_script.

In order to get sequential load, when on IE set the script defer flag.
It is currently working on webkit and firefox but just in case also
set the script.async flag to make sure that scripts execute in the
order they are added. Scripts should still load in parallel.
2012-11-01 10:47:37 -05:00
Joel Martin e7e6660272 include/playback.js: support binary (non-base64) data files.
Data files should now set the variable VNC_frame_encoding to either
"binary" or "base64". The python websockify recording mode adds this
automatically based on what is negotiated with the client being
recorded.
2012-10-26 18:08:00 -05:00
Joel Martin 49578da448 sync with websockify
Pull in websockify 1669139
2012-10-26 18:07:25 -05:00
Joel Martin c95456c0e1 rfb.js: skip tight when true color is disabled.
Generally this means falling back to 8-bit colour mapped hextile which
is uses more bandwidth and is likely slower that tight with 24-bit
true color.

This is related to this query:
http://superuser.com/questions/484790/how-to-use-8-bit-mode-with-novnc
2012-10-23 16:21:22 -05:00
Joel Martin 73ee4fa7cc util.js: fix dynamic script load on IE 9 (again).
Use a mechanism described here to serialize the execution of scripts
under IE: http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order
Basically, we set the src attribute but do not append the script to
the body/head until after readyState is "loaded". Unfortunately, Opera
uses readyState but in a different way (always "loaded" for both load
and execution).

This is related to (and hopefully fixes) these issues:
https://github.com/kanaka/noVNC/issues/194,
https://github.com/kanaka/noVNC/issues/205,
https://github.com/kanaka/noVNC/issues/208.
2012-10-23 15:54:08 -05:00
Joel Martin 57430b8c12 ui.js: fix drag button so it can be toggled off. 2012-10-19 12:18:21 -05:00
Joel Martin e881ce5a1b Merge remote branch 'Medical-Insight/non-square-cursor-fix' 2012-10-18 17:44:13 -05:00
Joel Martin 8e2d749605 util.js: script load sequential execution changes.
Related to issue: https://github.com/kanaka/noVNC/issues/205

Split out the function to load a single script to Util.load_script.

In order to get sequential load, when on IE set the script defer flag.
It is currently working on webkit and firefox but just in case also
set the script.async flag to make sure that scripts execute in the
order they are added. Scripts should still load in parallel.
2012-10-18 16:13:00 -05:00
Joel Martin 60106f240a Revert "supprt ALTGR key event"
This reverts commit 079504a6d2.
2012-10-17 15:37:24 -05:00
Joel Martin c527482ebf Merge pull request #195 from moobyfr/keyboard-altgr
Keyboard altgr
2012-10-17 13:30:50 -07:00
Joel Martin 35785a9081 Add binary/base64 data mode to perf/playback tests. 2012-10-17 11:58:13 -05:00
Joel Martin 6f4b1e4071 Refactor dynamic script loading. Add util.js:load_scripts()
Related to issue/pulls:
https://github.com/kanaka/noVNC/issues/194
https://github.com/kanaka/noVNC/pull/201
https://github.com/kanaka/noVNC/pull/202

In IE9, the window.onload event can fire before dynamically loaded
scripts have finished loading. This can result in either WebSocket (in
the case of vnc_auto.html) or RFB (in the case of vnc.html) not being
defined at the point when window.onload is called.

- Move the load_scripts routine from vnc.js to util.js (so that
  websockify can use it too). Also, refactor to work when load_scripts
  is called by a script that itself uses load_scripts. When the whole
  chain of dynamically loaded scripts is finished then call
  window.onscriptsload. Use this mechanism in all the places that
  depend on dynamic loading of scripts: vnc.html, vnc_auto.html,
  websock.js, tests/vnc_playback.html, and tests/vnc_perf.html.

- Use the new window.onscriptsload handler instead of window.onload.

- Remove include/start.js and do the script loading and startup event
  handling in include/ui.js instead.
2012-10-17 11:58:12 -05:00
vj 6f4cbb3f3c Always generate square cursor images in changeCursor (fix portrait mode issue).
This is a workaround for corrupted non-square cursors seen on some
Windows 7 machines with NVIDIA cards. The corruption only happens when
the screen is in portrait mode.
2012-10-17 09:56:20 +02:00
Joel Martin 7a6c94b6b9 Merge pull request #191 from takaha/altgr
support ALTGR key event
2012-10-16 08:09:35 -07:00
Joel Martin e16ad2fd02 Refactoring hot blocks to help Chrome optimizing compiler. 2012-10-15 13:48:07 -05:00
Joel Martin 1d728ace69 Change noVNC license to from LGPLv3 to MPL 2.0
The MPL 2.0 license is a "file-level" copyleft license vs the
"project-level" nature of the L/GPL. The intention of noVNC has
always been that it should be easy to incorporate into existing
projects and sites whether free/open or proprietary/commercial. The MPL
2.0 is designed for this sort of combination project but still
requires that any distributed modifications to noVNC source files must
also be published under the same license.

In addition, the MPL 2.0 allows the code to be used in L/GPL projects
(the secondary license clause). This means that any projects that are
already incorporating noVNC should not be impacted by this change and
in fact it should clarify the licensing situation (the exact
application of the L/GPL to web applications and interpreted code is
somewhat ambiguous).

The HTML, CSS, image and font files continue to be under more
permissive licenses (see LICENSE.txt). The included websockify python
code remains under a LGPLv3 license although the include/websock.js
file from the websockify component is now under MPL 2.0 as well.

Permission was received from other noVNC authors to make this change to their
code license on the following dates:

    - Chris Gordon (UI): Jun 24, 2012
    - Antoine Mercadal (DOM,*util.js): Oct 10, 2012
    - William Lightning (UltraVNC repeater): Oct 10, 2012
    - Mike Tinglof (tight encoding): Oct 15, 2012
2012-10-15 13:35:00 -05:00
Joel Martin ab7674ff73 include/base64.js: update to MPL 2.0 base64 code from Mozilla
This updated version is imported from:
http://hg.mozilla.org/mozilla-central/raw-file/ec10630b1a54/js/src/devtools/jint/sunspider/string-base64.js
2012-10-10 14:36:44 -05:00
Blindauer Emmanuel c76b2a8101 Handle Super and Menu keys (Windows keys) 2012-10-06 10:31:47 +02:00
Hirokazu Takahashi 079504a6d2 supprt ALTGR key event 2012-09-25 15:55:06 +09:00