1. 18 Jul, 2013 1 commit
  2. 17 Jul, 2013 1 commit
    • samhed's avatar
      * On low resolution devices the status text is now justified to the left · 35b29c98
      samhed authored
        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.
      35b29c98
  3. 28 Jun, 2013 1 commit
  4. 25 Apr, 2013 1 commit
  5. 23 Apr, 2013 1 commit
  6. 22 Apr, 2013 1 commit
    • Will Rouesnel's avatar
      Add default port logic to include/ui.js · c42136d5
      Will Rouesnel authored
      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
      c42136d5
  7. 19 Oct, 2012 1 commit
  8. 17 Oct, 2012 1 commit
    • Joel Martin's avatar
      Refactor dynamic script loading. Add util.js:load_scripts() · 6f4b1e40
      Joel Martin authored
      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.
      6f4b1e40
  9. 15 Oct, 2012 1 commit
    • Joel Martin's avatar
      Change noVNC license to from LGPLv3 to MPL 2.0 · 1d728ace
      Joel Martin authored
      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
      1d728ace
  10. 17 Sep, 2012 3 commits
    • Joel Martin's avatar
      include/ui.js: call setBarPosition on initial load. · 6f955236
      Joel Martin authored
      Call setBarPosition on initial load and not just when the window size
      changes or scrolling happens.
      6f955236
    • Joel Martin's avatar
      vnc.html, ui.js: move all Javascript to ui.js. · 26945049
      Joel Martin authored
      Move all the inline Javascript event handlers from vnc.html to
      include/ui.js except the load handler which is moved to
      include/start.js). This is on the path towards a Chrome
      extension/packaged app since inline Javascript is prohibited in that
      situation.
      26945049
    • Joel Martin's avatar
      ui.js: use localStorage/chrome.storage for settings. · ee1af441
      Joel Martin authored
      Switch from using cookies to store setting to using localStorage (or
      chrome.storage.sync if available in extension/app mode) for the
      settings. Also refactor to make the initializing of the setting and
      and loading of the UI to be more asynchronous.
      ee1af441
  11. 24 Jun, 2012 1 commit
    • Joel Martin's avatar
      License clarification: HTML,CSS,images,fonts under permissive licenses. · d58f8b51
      Joel Martin authored
      Clarify in LICENSE.txt that the noVNC core library is the part that is
      LGPLv3 licensed. The HTML, CSS, images and fonts are separate from the
      core library and can be modified and distributed with the noVNC core
      but under their own license conditions.
      
      HTML and CSS: 2-Clause BSD
      Fonts: SIL OFL 1.1
      Images: CC BY SA 3.0
      
      In other words, you can modify the layout and appearance of of noVNC
      to integrate with an existing or new web site or application without
      having to publish the source for those modifications under the LGPLv3.
      However, use of and modification of the noVNC core library (i.e. the
      core Javascript that makes up noVNC) must still be according to the
      LGPLv3.
      
      Chris Gordon was the other contributor to the HTML, CSS, and images
      included with noVNC and gave permission for this license clarification
      on June 23, 2012.
      d58f8b51
  12. 23 Jun, 2012 2 commits
  13. 03 Apr, 2012 1 commit
  14. 15 Feb, 2012 1 commit
  15. 02 Feb, 2012 1 commit
    • Joel Martin's avatar
      Make WebSocket encrypt setting default to page protocol. · 1af3e54b
      Joel Martin authored
      I.e. if the page is https:// then the WebSocket encrypt setting will
      default to wss:// (TLS encryption).
      
      Note that since noVNC settings are saved in cookies, this will only
      affect first load. If you have already loaded the page, then the
      encrypt setting will be whatever you last set it to.
      1af3e54b
  16. 31 Jan, 2012 1 commit
  17. 12 Jan, 2012 1 commit
  18. 01 Dec, 2011 1 commit
    • Joel Martin's avatar
      Add View Only mode setting. · 06a9ef0c
      Joel Martin authored
      Resolve issue: https://github.com/kanaka/noVNC/pull/101
      
      Based on proposal from @mightpenguin:
      Matthew Balman <emperor@mightypenguin.org>
      
      If view_only option is set then do not send mouse and keyboard events.
      This is not a secure/enforced way to make a client view only. To
      enforce view only at the server, most VNC servers support setting
      a view only password.
      06a9ef0c
  19. 29 Sep, 2011 2 commits
    • Joel Martin's avatar
      Formatting. Image renames/cleanup. · 5299db1a
      Joel Martin authored
      - Remove the images using the old font.
      
      - Simplify the naming of the new control bar icon images.
      
      - Change keyboard input type to 'email'. 'url' type doesn't have
        a space bar.
      
      - Some clarifications to main LICENSE.txt file.
      5299db1a
    • Chris Gordon's avatar
      Mobile icons. · 938daad1
      Chris Gordon authored
      - CSS highlighting of buttons when selected.
      - Keyboard button tweaked to allow show/hide toggle of keyboard.
      Signed-off-by: 's avatarChris Gordon <snorkeyg@gmail.com>
      938daad1
  20. 27 Sep, 2011 1 commit
  21. 26 Sep, 2011 1 commit
  22. 23 Sep, 2011 2 commits
    • Joel Martin's avatar
      Fixing iOS clipping, keyboard issues. · a7db5059
      Joel Martin authored
      - Make sure that on iOS the clipping setting is always forced to be
        enabled.
      - Hide the showKeyboard button unless connected.
      - Use the URL text entry method and disable autocorrect and
        autocapitalize in the show keyboard input box.
      a7db5059
    • Joel Martin's avatar
      Only show move/drag button when clipping. Cleanup. · c506a481
      Joel Martin authored
      Cleanup:
      
      - remove unused changeViewportMeta function from include/ui.js
      - remove some debug output and debug CSS.
      - rename panel toggle functions and put them in same location in the
        code.
      - refactor some code from updateState to updateVisualState routine
        (renamed from updateSettingsState).
      c506a481
  23. 22 Sep, 2011 1 commit
    • Joel Martin's avatar
      Viewport clip/drag for mobile/touchscreen devices. · a5df24b4
      Joel Martin authored
      API changes (forward compatible):
      
      - Display: add 'viewport' conf option to turn on and off viewport
        mode.
      - RFB: add 'viewportDrag' option to enable/disable viewport dragging
        mode.
      
      Other:
      
      - Add clip mode setting to default UI. For touch devices, clipping is
        forced on.
      - Use CSS media queries to adjust visual elements based on screen
        size. Especially disconnected logo size/position and button text size.
      - Catch page unload while connected and give a confirm dialog.
      - Change mouse button selector to a single button that changes between
        ' ', 'L', 'M', 'R' when clicked (empty means mouse is just being
        moved and doesn't send clicks).
      - include/ui.js:setViewClip() routine sets the clipping of the
        viewport to the current size of the viewport area (if clipping is
        enabled).
      - include/ui.js:setViewDrag() toggles/enables/disables viewport
        dragging mode.
      - Add several images for the UI and for Apple devices:
          - images/clipboard.png: clipboard menu icon
          - images/connect.png: connect menu icon
          - images/disconnect.png: disconnect button icon
          - images/keyboard.png: show keyboard button
          - images/move.png: viewport drag/move toggle button
          - images/settings.png: settings menu icon
          - images/screen_320x460.png: iOS app/desktop link start image
          - images/screen_57x57.png: iOS app icon
          - images/screen_700x700.png: full size noVNC image
      a5df24b4
  24. 14 Sep, 2011 1 commit
  25. 13 Sep, 2011 1 commit
    • Joel Martin's avatar
      Fix window/document sizing in firefox. · b70ce077
      Joel Martin authored
      Another firefox issue is that height: 100% is calculated as 100% of
      the containing element even when the containing element is the window.
      This means that the size of any sibling element shifts the window size
      down by that much and causes the vertical scroll bars to appear. This
      doesn't happen in Chrome.
      
      - So instead, put a pad element inside the noVNC_screen element that
        is the size of the control bar. This is hidden by the control bar,
        however, it causes things to be sized correctly.
      
      - Also, rename noVNC_defaultScreen to noVNC_logo.
      
      - Clean some style specification out of the HTML.
      b70ce077
  26. 08 Sep, 2011 7 commits
  27. 24 Jul, 2011 1 commit
    • Joel Martin's avatar
      Touch events and mouse button selectors. · ad3f7624
      Joel Martin authored
      First crack at supporting touch screen for devices like Android and
      iOS tablets. Part of https://github.com/kanaka/noVNC/issues/48.
      
      This change detects touch screen support and uses the touchstart,
      touchmove, touchend events in place of the normal mouse events.
      
      In order to support middle and right mouse clicks, if the device is
      a touch device, then three toggle buttons are added to the UI
      representing the left, middle and right mouse buttons. These select
      which mouse button will be sent when the screen is touched. All the
      buttons can be toggled off, in which case then the touch events only
      move the mouse cursor rather than sending a mouse down and mouse up
      for touchstart and touchend events respectively. This allows fairly
      full control with the mouse on touch screens.
      ad3f7624
  28. 11 May, 2011 1 commit
    • Joel Martin's avatar
      API changes/cleanup. · d890e864
      Joel Martin authored
      API changes:
          - include/canvas.js renamed to include/display.js
          - Display.rescale() method removed from API. Use Display.set_scale() instead.
          - Make logo configuration attribute of Display and display it when
            clear() is called if it is set.
      
      API deprecations:
          - use RFB onUpdateState instead of updateState.
          - use RFB onClipboard instead of clipboardReceive.
      
      See https://github.com/kanaka/noVNC/wiki/ModuleAPI for detailed noVNC
      modules and API description.
      
      Expand and normalize the event/callback interfaces. Standize on
      "onEventName" form for callbacks.
      
          Callback Renames:
              - RFB updateState -> onUpdateState
              - RFB clipboardReceive -> onClipboard
              - Keyboard keyPress -> onKeyPress
              - Mouse mouseButton -> onMouseButton
              - Mouse mouseMove -> onMouseMove
      
          Callback Additions:
              - RFB onPasswordRequired
              - RFB onBell
              - RFB onFBUReceive
              - RFB onFBUComplete
      
      Other:
      - Add array type support to Util.conf_default()
      - Removed a bunch of routines from the Display API that were just used
        internally and not actually by noVNC: flush, setFillColor,
        imageDataGet, imageDataCreate, rgbxImageData, rgbxImageFill,
        cmapImageData, cmapImageFill.
      - More keyboard/mouse logging when debug turned on.
      - Some JSLinting
      d890e864
  29. 05 Apr, 2011 1 commit