Pierre Ossman
cd5a035d90
Make sure all buttons have a tooltip
2016-09-23 14:39:21 +02:00
Samuel Mannehed
3f93a385a2
Auto-close the toolbar on connect after a delay
2016-09-23 14:39:21 +02:00
Samuel Mannehed
04b399e27d
Allow moving the controlbar handle
...
This also adds emulation of Element.setCapture() as only Firefox
and Internet Explorer/Edge currently supports it.
2016-09-23 14:39:21 +02:00
Pierre Ossman
65e3d7d6a6
Make control bar handle easier to hit on mobile
2016-09-23 14:39:21 +02:00
Pierre Ossman
38323d4d92
Add handle to open and close the control bar
2016-09-23 14:39:21 +02:00
Pierre Ossman
728b5d9e1a
Make control bar transparent when idle
2016-09-23 14:39:21 +02:00
Pierre Ossman
4d3aa0ef9d
Add logo to control bar
2016-09-23 14:39:21 +02:00
Pierre Ossman
fb7c3b3be2
Change control bar to a smaller left-side toolbar
2016-09-23 14:39:21 +02:00
Pierre Ossman
6244e383e4
Let CSS update UI for touch and connected state
...
Avoid a lot of JavaScript code that can easily be handed using
style sheets instead, specifically items that should only be shown
when on a touch device, or items that depend on the connected state.
2016-09-23 14:39:21 +02:00
Pierre Ossman
8434cc81b3
Make status dialog independent of control bar
2016-09-23 14:39:21 +02:00
Pierre Ossman
f7c725cecf
Improve active button visual response
2016-09-23 14:39:21 +02:00
Pierre Ossman
ebbec43a6b
Enable extra keys for all devices
...
Manual special keys can be useful on all devices, so stop restricting
it to just touch devices.
2016-09-23 14:39:21 +02:00
Pierre Ossman
d616c9226c
Merge control bar sections
...
There is no status information in the centre anymore, so merge
the left and right sections of the control bar.
2016-09-23 14:39:21 +02:00
Samuel Mannehed
8a7ec6ea19
Add a separate dialog for the password prompt
...
The user might be queried for the password during the connect stage
if no password was previously provided. Add a separate dialog for
this rather than abusing the connect dialog.
2016-09-23 14:39:21 +02:00
Samuel Mannehed
8d7708c82e
Abstract status dialog CSS class handling
2016-09-23 14:39:21 +02:00
Pierre Ossman
c8d4402f58
Move touch text input out of control bar
...
It has nothing to do with the control bar, so hide it somewhere
more sensible.
2016-09-23 14:39:21 +02:00
Pierre Ossman
79fd3b1fcf
Apply CSS style to input elements
...
Different browsers have wildly different defaults for input elements.
Try to get a consistent interface by applying our own style.
2016-09-23 14:39:21 +02:00
Pierre Ossman
24d8b311ca
Bling up popups
...
Make the popups a bit more prominent by adding shadows and animations.
2016-09-23 14:39:21 +02:00
samhed
b0c6d3c6aa
Remove redundant modifier state variables
2016-09-23 14:39:17 +02:00
Pierre Ossman
8bf688265d
Replace icons with SVG versions
...
Resolution independent for high DPI devices, and easier to modify
if we want to change something.
2016-09-23 14:22:19 +02:00
samhed
ca5c74ad5a
Show all status messages in a popup top bar
2016-09-23 14:22:16 +02:00
Pierre Ossman
63bf2ba578
Support RFB bell
...
The protocol handling was already there. What was missing was
hooking it up to a sound file in the user interface.
2016-09-22 11:15:42 +02:00
Pierre Ossman
ed8cbe4e7b
Clean up panel open/close API
2016-09-20 15:37:19 +02:00
Pierre Ossman
d9e8621436
Make "selected" an extra CSS class
...
Avoid duplicating stuff in the style sheet by making the "selected"
property an extra class, rather than a replacement for the base one.
2016-09-20 15:36:42 +02:00
samhed
a49d929846
Harmonise CSS names
...
Follow the same naming convention for all CSS ids and classes.
2016-09-20 15:36:38 +02:00
Pierre Ossman
e40978c7fc
Let CSS control what it means to be hidden/closed
...
This avoids hard-coding layout information in the JavaScript code.
It also opens up possibilities for more control in the CSS, e.g. for
animation.
2016-09-20 14:32:57 +02:00
Pierre Ossman
6cba147d4e
Simplify modifier button display
2016-09-19 16:27:55 +02:00
samhed
999f1d45db
Show/hide logo in updateVisualState()
...
We control the visibility of almost everything else in this function,
so move the logo handling there as well.
2016-09-19 16:26:23 +02:00
samhed
eeb395dc91
Remove unnecessary span:s
...
They were probably also incorrect to have around block elements
anyway.
2016-09-19 16:24:39 +02:00
samhed
286947cbe2
Fix name for panel CSS class
2016-09-19 16:24:39 +02:00
samhed
f9fff03719
Remove unused description
2016-09-19 16:24:39 +02:00
samhed
f0d9ab9698
Avoid ambigious optional arguments
...
Some functions weren't obvious what they would do if an argument was
omitted. Split them up in to separate functions in those cases to
make the API clearer.
2016-09-19 16:19:45 +02:00
Pierre Ossman
3e3eec28f3
Remove beforeunload handler
...
Support for this is spotty and it is getting more and more restricted
by the day. Give up on this approach.
2016-09-19 16:16:32 +02:00
samhed
0f6af1e3ec
Separate UI.start() in to sub-functions
2016-09-19 16:16:05 +02:00
samhed
d7f790719a
Add events to objects the modern way
...
The old way only allows a single event handler per event, so switch
over everything to the new model.
2016-09-19 15:58:21 +02:00
samhed
bfa414e5e8
Remove unused event handlers
...
These do not work and the mechanism for releasing keyboard grab on
the settings panel needs more work.
2016-09-19 15:40:10 +02:00
samhed
17eb0fcf50
Trigger autoconnect at proper time
...
It needs to happen after everything is fully initialised.
2016-09-19 15:30:40 +02:00
samhed
2869308c80
Sort style sheet
...
Sort and group the entries in the style sheet the same way as in
the HTML document. Makes it easier to find things.
2016-09-19 15:30:40 +02:00
samhed
3911256cff
Place related elements together
...
In order to clarify the HTML we group related panels together with
the corresponding buttons.
2016-09-19 15:27:21 +02:00
samhed
9fc0e4f6e3
Strict positioning of panels
...
The panels were never meant to be positioned relative their container,
so make sure they pop up exactly where we want in the viewport, no
matter where they are in the structure.
2016-09-19 15:21:24 +02:00
samhed
222f3fba08
Remove unused CSS
2016-09-19 15:21:24 +02:00
Pierre Ossman
ecd49c159f
Create separate style sheet for vnc_auto.html
...
The style sheet is intimately connected to the Javascript code and
HTML so trying to share it between both sets is not sensible.
2016-09-19 15:21:24 +02:00
Dmitry Sankevich
33e1462999
Fix TIGHT negotiation with zero sub-auth types
...
According to the RFB protocol, when in TIGHT auth negotation,
if the client receives a sub-auth count of zero, it should proceed
as if the `None` sub-auth type had already been selected (and not
send a message selecting that type).
Closes #564
2016-09-16 23:22:35 -04:00
Solly Ross
f9a0404f51
Merge pull request #661 from kanaka/feature/realvnc5-version-number
...
Detect RealVNC's VNC 5.0 Protocol Version
2016-09-16 17:50:04 -04:00
Lars Ole Hurlen
49aa5b81c7
Detect RealVNC's RFB 5.0 Protocol Version
...
The RFB protocol specifies a max version of 3.8, but RealVNC likes to
increment their version when they add new features. RealVNC 5.3 sends
"005.000" as the version string, since they've extended their
implementation upon RFB v3.8. We can detect that, and just tell them we
only speak 3.8, instead of barfing on "005.000" as an invalid version.
2016-09-16 17:33:46 -04:00
Solly Ross
9dfbf44028
Merge pull request #603 from WardF/master
...
Added option for --ssl-only noVNC session to launch.sh
2016-09-16 17:16:43 -04:00
Solly Ross
386db8f54f
Merge pull request #496 from kanaka/refactor/modularized
...
Enable noVNC to become Browserifiable
2016-09-16 16:16:09 -04:00
Solly Ross
bd5340c7ee
Move input-related files into core/input
...
This commit moves all the input-related files from `core/`
to `core/input/`, and renames a couple as relevant
(input.js --> input/devices.js, keyboard.js --> input/util.js).
2016-09-16 15:49:52 -04:00
Solly Ross
b4ef49ea36
Remove unecessary event-related code from Util
...
The event-related wrapper functions in Util existed mainly for
backwards-compat. However, all currently supported browsers
support the standard functions, so these wrappers are no longer needed.
2016-09-16 15:49:52 -04:00
Solly Ross
e4fef7be2d
Util shouldn't modify window object
...
This commits prevents Util from modifying the window object.
- `window.requestAnimFrame` was removed (no polyfill is needed anymore)
- the potential redefinition of `console.log` and friends was removed
(all supported browsers have `console.xyz` defined anyway)
2016-09-16 15:49:52 -04:00