summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Formatting. Image renames/cleanup.mobileJoel Martin2011-09-2925-824/+125
| | | | | | | | | | | - 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.
* Mobile icons.Chris Gordon2011-09-2915-61/+147
| | | | | | | - CSS highlighting of buttons when selected. - Keyboard button tweaked to allow show/hide toggle of keyboard. Signed-off-by: Chris Gordon <snorkeyg@gmail.com>
* LICENSE.txt, docs/TODO: bring up to date.Joel Martin2011-09-282-47/+17
| | | | | | - Add Orbitron info to LICENSE.txt - Update TODO.
* Add local copy of Orbitron font.Joel Martin2011-09-275-3/+101
| | | | | | | | | | | | | | Instead of using Google Font API, use local copy of Orbitron for speed and also in case Internet connection is flaky or unavailable. More info about Orbitron font here: http://www.google.com/webfonts/specimen/Orbitron Orbitron font is: Copyright (c) 2009, Matt McInerney <matt@pixelspread.com> Licensed under SIL Open Font License 1.1 see docs/LICENSE.OFL-1.1 or http://scripts.sil.org/OFL
* vnc_auto.html: sync with mobile changes.Joel Martin2011-09-271-16/+18
| | | | Also, add path option settable with query string.
* Add WebSocket URL path to UI settings.Joel Martin2011-09-274-6/+15
|
* Move viewport functions.Joel Martin2011-09-261-26/+31
| | | | | Move viewportChange(), getCleanDirtyReset(), absX() and absY() to the public API section. Also add some function comments.
* Remove support for non-HTML5 browsers.Joel Martin2011-09-262-145/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Display API change: - getTile -> startTile (no longer returns a tile) - setSubTile -> subTile (drop img/tile first parameter) - putTile -> finishTile (no longer takes img/tile paramter) The Display tile logic uses canvas image data directly and caches/reuses a 16x16 imageData tile (for other sizes, the tile is create for each call). This gives a 30% speedup on Chrome 13 (and no significant change for Firefox 3.6/4.0). Other: - Remove rgbxImageFill and cmapImageFill routines. - Simplify constructor tests and just error if createImageData is not supported by canvas instead of . - Remove webkit canvas bug workaround that effects Chrome 7. Chrome 7 usage share is now less than 0.5 percent and the workaround is ugly. Drop the function wrapping in the constructor and the canvas flush() routine. - Remove support for getImageData (Opera 11+ now required) Update browser support list: - Chrome 8+ (really any except 7) - Firefox 3.6+ - Safari 4+ - Opera 11+ - IE9+ - iOS 4.2+
* include/ui.js: remove console.log debug.Joel Martin2011-09-261-1/+0
|
* Make tests/vnc_perf.html work again.Joel Martin2011-09-251-3/+5
|
* Fixing iOS clipping, keyboard issues.Joel Martin2011-09-232-4/+13
| | | | | | | | - 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.
* Only show move/drag button when clipping. Cleanup.Joel Martin2011-09-234-104/+90
| | | | | | | | | | | 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).
* Viewport clip/drag for mobile/touchscreen devices.Joel Martin2011-09-2218-159/+399
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix fbUpdateRequest undefined parameter logic.Joel Martin2011-09-141-4/+4
|
* Some CSS style and DOM id/class cleanup.Joel Martin2011-09-145-22/+18
|
* Merge branch 'master' into mobileJoel Martin2011-09-131-13/+33
|\
| * Framebuffer requests based on clean/dirty areas.Joel Martin2011-09-131-13/+33
| | | | | | | | | | | | | | New routine fbUpdateRequests that builds the update request messages based on the result of display.getCleanDirtyReset(). - Also, fix fbUpdateRequest to properly accept x,y,xw,yw parameters.
* | Fix window/document sizing in firefox.Joel Martin2011-09-133-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Firefox offset bug: use margin instead of padding.Joel Martin2011-09-131-1/+1
| | | | | | | | | | | | For some reason, the position calculation is broken in firefox when a DOM object in the ancestry change uses padding. So use margin to shift the view area down.
* | Merge branch 'master' into mobileJoel Martin2011-09-135-201/+296
|\ \ | |/ | | | | | | Conflicts: include/rfb.js
| * Viewport handling in include/display.jsJoel Martin2011-09-134-198/+293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of mobile device support: https://github.com/kanaka/noVNC/issues/48 The Display object is redefined as a larger display region with an equal or smaller visible viewport. The size of the full display region is set/changed using resize(). The viewport is set/changed using viewportChange(). All exposed routines that draw on the display now take coordinates that are absolute (relative to the full display region). For example, the result of fillRect(100, 100, 10, 10, [255,0,0]) will appear in the canvas at (0,0) if the viewport is set to (100,100). Details: - Move the generic part of the viewport code from tests/viewport.html into include/display. - Add two new routines to the Display interface: - viewportChange(deltaX, deltaY, width, height) - This adjusts the position of the visible viewport and/or the size of the viewport. - deltaX and deltaY specify how the position of the viewport should be shifted. The position of the viewport is clamped to the full region size (i.e. cannot outside the display region). - The clean and dirty regions of the display are updated based on calls to this routine. For example, if the viewport width is increased, then there is now a dirty box on the right side of the viewport. Another example, if the viewport is shifted down and to the left over the display region, there are now two dirty boxes: one on the left side and one on the bottom of the viewport. - getCleanDirtyReset() - This returns an object with the clean box and a list of dirty boxes (that need to be redrawn). {'cleanBox': {'x': x, 'y': y, 'w': w, 'h': h}, 'dirtyBoxes': [{'x': x, 'y': y, 'w': w, 'h': h}, ...] } - The coordinates in the clean and dirty boxes are absolute coordinates (relative to the full display region) but they are clipped to the visible viewport. - Calling this function also resets the clean rectangle to be the whole viewport (i.e. nothing visible needs to be redrawn dirty) so the caller of this routine is responsible for redrawing any
| * Pull websockify: python3 numpy buffer/string fix.Joel Martin2011-09-101-2/+2
| | | | | | | | Pull from websockify 1c39c7f1f001.
| * Only output debug colourMap table once.Joel Martin2011-09-061-1/+1
| |
* | Fix setBarPosotion runtime errors.Joel Martin2011-09-083-5/+5
| |
* | HTML, CSS and Javascript indent/formatting.Joel Martin2011-09-085-419/+426
| | | | | | | | | | | | - 4 space indenting for HTML and Javascript. - 2 space indenting for CSS - Use hanging start curly for conditional blocks
* | Disable static canvas logo.Joel Martin2011-09-082-6/+1
| |
* | Merge remote branch 'kanaka/master' into mobileJoel Martin2011-09-083-36/+110
|\ \ | |/
| * utils/websocket.py: add HyBi 13 support.Joel Martin2011-08-311-3/+4
| | | | | | | | Pull from websockify 6e26306.
| * utils/websocket.py: silence partial unmask debug.Joel Martin2011-08-311-1/+1
| | | | | | | | Pull from websockify ada02f2.
| * websocket.py: fix payload length calculation.Joel Martin2011-08-311-1/+1
| | | | | | | | Pull from websockify 0da91c7.
| * websockify: pull HyBi fixes.Joel Martin2011-08-241-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull 86af0b614d and 7b496ce5b from websockify. Fix HyBi support on 64-bit systems. https://github.com/kanaka/noVNC/issues/76 - cleanup/update TODO. - remove explicit check for ctypes module for HyBi. Clarify that we support HyBi 07-10. HyBi 07 reports version 7 in the handshake. HyBi 08-10 report version 8 in the handshake. Remove version 9 since that is not yet actually defined.
| * Working viewport test.Joel Martin2011-08-222-27/+99
| | | | | | | | | | | | | | | | | | Tested on iOS (iPhone and iPad). The viewport is correctly clipped to the screen/browser size and resizing works correctly. This uses the CSS3 Flexible Box Layout model.
* | Remove unused include/plain.css.Joel Martin2011-09-081-97/+0
| |
* | New theme. File: include/blue.cssChris Gordon2011-09-081-0/+22
| |
* | Updated to use CSS3 gradients instead of images.Chris Gordon2011-09-082-14/+42
| | | | | | | | Fixed display bug with keyboard textbox.
* | Fixed bugs with connection panel, and moved functions into UI class.Chris Gordon2011-09-082-95/+122
| |
* | iOS keyboard bug fix.Chris Gordon2011-09-081-2/+2
| |
* | Bug fix with mobile buttons.Chris Gordon2011-09-081-2/+2
| |
* | Add base.css. Bar position formatting.Chris Gordon2011-09-083-12/+258
| |
* | Modifed UI. Move HTML from ui.js to vnc.html.Chris Gordon2011-09-085-320/+298
| |
* | Helper function for viewport meta changes.Chris Gordon2011-09-082-4/+21
| | | | | | | | changeViewportMeta() now does viewport changes.
* | Added support for native iOS and Android keyboards.Chris Gordon2011-09-083-3/+43
|/ | | | Tested with Safari on iPad for iOS and Asus Transformer for Android.
* Fix websockify with python2.4Joel Martin2011-08-101-2/+2
| | | | | | https://github.com/kanaka/noVNC/issues/72 Pull from websockify 2e00f9643.
* README: Zentyal (Ebox) and SlapOS to projects list.Joel Martin2011-08-041-1/+1
|
* Add a viewport example/test.Joel Martin2011-08-031-0/+244
| | | | | | | | | | Tested with an iPad 2. This example shows a 400x200 viewport of an 800x400 display. It tries to be intelligent about how much it redraws. It copies what it can, and then when the user releases the mouse, it redraws the "dirty" areas that were newly revealed.
* Catch Mozilla prefixing of WebSocket.Joel Martin2011-08-021-0/+3
| | | | | | | Pull 475cfae from websockify. In Firefox 7 Mozilla has added Websockets support but prefixed the constructor with "Moz".
* Touch events and mouse button selectors.Joel Martin2011-07-234-24/+136
| | | | | | | | | | | | | | | | | 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.
* Version 0.1, debian packaging, license text.v0.1Joel Martin2011-07-1412-6/+143
| | | | | | | | | | | | | | | noVNC version 0.1 Add debian packaging directory loosely based on http://trac.zentyal.org/browser/trunk/extra/novnc/debian Show web root directory on startup (pulled from websockify f1c8223). Lintian fixups: - Some license text clarifications. - remove executable permission on utils/launch.sh and include/web-socket-js/web_socket.js - Add executable permission to utils/launch.sh
* README: Fix CloudSigma link.Joel Martin2011-07-131-1/+1
|
* README: link to CloudSigma as product using noVNC.Joel Martin2011-07-131-1/+1
|