1. 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
  2. 27 Sep, 2011 1 commit
  3. 26 Sep, 2011 1 commit
  4. 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
  5. 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
  6. 14 Sep, 2011 1 commit
  7. 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
  8. 08 Sep, 2011 7 commits
  9. 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
  10. 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
  11. 05 Apr, 2011 1 commit
  12. 03 Apr, 2011 1 commit
  13. 19 Feb, 2011 1 commit
  14. 31 Jan, 2011 1 commit
    • Joel Martin's avatar
      IE9 fixes. Works but slow. API change. · 0981845e
      Joel Martin authored
      API change: changed include path variable from VNC_uri_prefix to
      URI_INCLUDE since websock.js uses the variable and websock.js is no
      longer just for noVNC (i.e. websockify is really the canonical
      location for websock.js).
      
      Changes to get web-socket-js to work. Right now it's a hack to get
      around: https://github.com/gimite/web-socket-js/issues#issue/41. The
      hack is to disable caching of the flash objects by appending
      "?" + Math.random() to the end of the flash object path (but only when
      using IE).
      0981845e
  15. 10 Dec, 2010 1 commit
    • Joel Martin's avatar
      Make compatible with jQuery. Slight API change. · e4671910
      Joel Martin authored
      Rename the $() selector to $D() so that it doesn't collide with
      the jQuery name.
      
      The API change is that the 'target' option for Canvas and RFB objects
      must now be a DOM Canvas element. A string is no longer accepted
      because this requires that a DOM lookup is done and the Canvas and RFB
      should have no UI code in them. Modularity.
      e4671910
  16. 10 Nov, 2010 1 commit
  17. 09 Nov, 2010 1 commit
    • Joel Martin's avatar
      Add Chrome Frame support. Close requests in web.py. · e66f3f89
      Joel Martin authored
      - Add meta tag to vnc.html and vnc_auto.html so that if Chrome Frame
        is installed, it is used.
      
      - Add detection to default_controls.js that shows a message with
        a Chrome Frame install link if the user is using a version of IE
        without Canvas support.
      
      - Fix web.py so that requests have their connection closed after they
        are completed.  This has been a bug for a while but it prevents
        Chrome Frame from working because Chrome Frame doesn't activate
        until the initial request connection closes.
      e66f3f89
  18. 06 Nov, 2010 1 commit
  19. 24 Oct, 2010 1 commit
  20. 29 Sep, 2010 1 commit
    • Antoine Mercadal's avatar
      Split util into two file: · 8d5d2c82
      Antoine Mercadal authored
       - util.js that contains essential functions
       - webutils.js that contains the GUI utility function.js
      
      this helps to include noVNC in other project, especially Cappuccino Application
      i
      8d5d2c82
  21. 23 Sep, 2010 1 commit
    • Joel Martin's avatar
      Refactor settings object, add connectTimeout setting. · ff36b127
      Joel Martin authored
      - include/util.js: Add type and desc field to conf_default routine.
        Make comment descriptions of settings into desc parameters that can
        be queried. Also, use set_FOO in conf_default to set or coerce the
        current setting so that we always have the right type for the value.
      
      - include/rfb.js, include/default_config.js: add connectTimeout
        setting to address situations with slow connections that may need
        more than 2 seconds.
      ff36b127
  22. 20 Sep, 2010 1 commit
    • Joel Martin's avatar
      No local cursor by default due to issues #27, #29. · 31a837d5
      Joel Martin authored
      In Safari, local cursor rendering is corrupt. In firefox 3.6.10, local
      cursor rendering causes a segfault. Probable that the .cur format is
      not 100% compliant (even though it works in Chrome and firefox 3.5 and
      firefox 4.0). So just disable it by default until I can figure out how
      to address the problems.
      31a837d5
  23. 08 Sep, 2010 2 commits
  24. 30 Aug, 2010 1 commit
    • Joel Martin's avatar
      Merge init() into the constructor. · 0d1e1b72
      Joel Martin authored
      This is logical now since the external update callback can be provided
      when the object is created so we don't need a separate init function.
      0d1e1b72
  25. 27 Aug, 2010 1 commit
    • Joel Martin's avatar
      Remove psuedo-UTF8 encoding. · 55dee432
      Joel Martin authored
      It's less efficient on average that base64 (150% vs 133%). It's
      non-standard (0 shifted to 256 before encoding). And I rarely use it.
      55dee432
  26. 03 Aug, 2010 1 commit
  27. 02 Aug, 2010 1 commit
    • Joel Martin's avatar
      New API. Refactor Canvas and RFB objects. · 8db09746
      Joel Martin authored
      New API:
      
      To use the RFB object, you now must instantiate it (this allows more
      than one instance of it on the same page).
      
          rfb = new RFB(settings);
      
      The 'settings' variable is a namespace that contains initial default
      settings. These can also be set and read using 'rfb.set_FOO()' and
      'rfb.get_FOO()' where FOO is the setting name. The current settings
      are (and defaults) are:
          - target: the DOM Canvas element to use ('VNC_canvas').
          - encrypt: whether to encrypt the connection (false)
          - true_color: true_color or palette (true)
          - b64encode: base64 encode the WebSockets data (true)
          - local_cursor: use local cursor rendering (true if supported)
          - connectTimeout: milliseconds to wait for connect (2000)
          - updateState: callback when RFB state changes (none)
          - clipboardReceive: callback when clipboard data received (none)
      
      The parameters to the updateState callback have also changed. The
      function spec is now updateState(rfb, state, oldstate, msg):
          - rfb: the RFB object that this state change is for.
          - state: the new state
          - oldstate: the previous state
          - msg: a message associate with the state (not always set).
      
      The clipboardReceive spec is clipboardReceive(rfb, text):
          - rfb: the RFB object that this text is from.
          - text: the clipboard text received.
      
      Changes:
      
      - The RFB and Canvas namespaces are now more proper objects. Private
        implementation is no longer exposed and the public API has been made
        explicit. Also, instantiation allows more than one VNC connection
        on the same page (to complete this, DefaultControls will also need
        this same refactoring).
      
      - Added 'none' logging level.
      
      - Removed automatic stylesheet selection workaround in util.js and
        move it to defaultcontrols so that it doesn't interfere with
        intergration.
      
      - Also, some major JSLinting.
      
      - Fix input, canvas, and cursor tests to work with new model.
      8db09746
  28. 22 Jul, 2010 4 commits