Samuel Mannehed
333ad45c70
Don't capture touch events
...
They are implicitly captured anyway, and we get problems if we try
to explicitly capture them.
2017-05-11 13:34:43 +02:00
Pierre Ossman
26586b9ddf
Remove colour map support
...
It was broken and unused. Remove it so we can simplify the code.
2017-05-04 15:13:33 +02:00
Pierre Ossman
545442afc3
Merge branch 'keyboard' of https://github.com/CendioOssman/noVNC
2017-05-04 12:18:55 +02:00
Pierre Ossman
94f5cf05f3
Send keyboard events from single place
...
This makes it easier to handle any needed variations, like different
types of messages.
2017-05-04 12:13:47 +02:00
Samuel Mannehed
41c958d450
Properly restore the default style
...
Setting a style to null does restore it in FF, Chrome, Safari and Edge.
But it does not work in Internet Explorer. The proper way to restore to
default values is to set it to the empty string. This works in all
browsers. Fixes issue #808 .
2017-04-11 10:57:21 +02:00
Pierre Ossman
524d67f283
Remove keysym names from keysymdef.js
...
They were incomplete and turned off in most cases so they served
little use besides adding complexity.
2017-03-24 11:16:53 +01:00
Solly Ross
adfc9d3f54
Move error handler into separate file
...
This commit moves the global error handler into a separate file,
so that it can catch module loading errors.
This also adds support for properly displaying error messages with
newlines in them (since the module loader may throw those)
2017-03-21 17:39:07 -04:00
Solly Ross
e6a8eb15ca
Only apply settings with an RFB object
...
We should only apply settings if we have an RFB object available.
Some of the settings handlers didn't respect this, but do now.
2017-03-21 17:39:07 -04:00
Solly Ross
e25f9c4010
Use transition animation while loading
...
This shows the transition animation while loading, so users can see
something is going on.
2017-03-21 17:39:07 -04:00
Solly Ross
6d6f0db0da
Refactor ES6 module structure/split up Util
...
This commit restructures many of the ES6 modules, splitting them
up to actual export multiple functions instead of a single object.
It also splits up Util into multiple sub-modules, to make it easier
to maintain.
Finally, localisation is renamed to localization.
2017-03-21 17:39:05 -04:00
Solly Ross
2a7c6d20ab
Load translations over XHR
...
This commit causes translations to be loaded over XHR instead of
the import system.
2017-03-07 11:11:29 -05:00
Solly Ross
3ae0bb0968
Uncomment ES6 module syntax
...
This removes the special comment part of the ES6 module syntax,
opting to enable ES6 module syntax by default.
It also appends `.js` to all import paths to better support in-browser
loading.
2017-02-26 16:30:37 -05:00
Solly Ross
d55e454582
Fix typos in imports and i18n
...
`app/ui.js` had an incorrect import path which caused issues
when using the ES6 and/or CommonJS builds of noVNC.
`core/util.js` had a non-strict-compatible declaration of a variable
without a `let` or `var` (it now uses `let`).
This fixes both issues.
2017-02-26 16:30:37 -05:00
Samuel Mannehed
b56d975248
Merge branch 'settingswhileconnected' of https://github.com/samhed/noVNC
...
Closes pull request #778
2017-02-24 15:42:27 +01:00
Samuel Mannehed
24584cca89
Disable labels for settings as well
...
Makes the settings UI easier to read.
2017-02-21 11:58:03 +01:00
Samuel Mannehed
fb49f91b00
Allow local cursor to be changed while connected
2017-02-19 01:53:41 +01:00
Samuel Mannehed
3a535adab0
Allow auto reconnect to be changed while connected
2017-02-19 01:53:41 +01:00
Samuel Mannehed
ef1e8bab22
Allow view_only to be changed while connected
2017-02-19 01:53:41 +01:00
Samuel Mannehed
0298305e80
Allow clipping to be changed while connected
2017-02-18 16:30:35 +01:00
Pierre Ossman
e677b66cc7
Proper workaround for Chrome's scrollbar bug
...
Avoid applying this workaround more than necessary. Also comment a
bit more why this hack is needed.
2017-02-16 16:28:55 +01:00
Samuel Mannehed
b56772ec43
Update drag button at right time
...
It needs to update whenever the viewport or clipping changes, so
let's make sure that actually happens and not trigger on mildly
related events.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
6bfd9dc96f
Update clipping before changing scaling
...
The scaling is relative the current viewport, so we need to make
sure it is correct before changing the scale setting.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
5f38376adb
Don't change stored setting when "forcing"
...
Don't overwrite the user's configured choice. Instead ignore
settings when they cannot be respected.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
631428d966
Fix status class for IE
...
IE apparently doesn't support removing several class specifiers at
once, so switch to several calls.
2017-02-16 16:07:55 +01:00
Samuel Mannehed
b18ef8162e
Allow scroll bars on Safari and IE
...
The previous problems were because we were scrolling the wrong element,
so we can enable this feature now.
2017-02-16 16:07:40 +01:00
Samuel Mannehed
280676c7e9
Properly encapsulate the scale in Display
...
Other parts of the code shouldn't have to care about this. Let Display
convert between canvas coordinates and framebuffer coordinates.
2017-02-16 14:00:39 +01:00
Samuel Mannehed
bd7d89e7cc
Fix resize on Chrome
...
Chrome sucks at calculating the size and gets confused due to the
scrollbars. Hide the scroll bars while resizing.
2017-02-10 16:39:18 +01:00
Pierre Ossman
86d15a4929
Use setCapture() polyfill everywhere
...
This makes sure we get consistent behaviour across all browsers.
2017-02-09 15:51:22 +01:00
Pierre Ossman
b345859ed6
More aggressive retaining of focus
...
Try to keep the virtual keyboard up even more. Only release focus
when it is absolutely necessary.
2017-02-09 14:20:37 +01:00
Pierre Ossman
84b05d24b0
Allow submitting the password from the input field
2017-02-03 13:19:15 +01:00
Pierre Ossman
648c83984c
Scroll correct element
...
The element we want scrolling around is noVNC_screen, not the entire
window. This also allows us to compute the screen size without
fiddling the scrollbars on and off.
2017-02-03 13:17:43 +01:00
Samuel Mannehed
623b1b7d96
Allow resize setting to be changed while connected
...
There is no reason to why this shouldn't be possible.
2017-01-27 16:22:15 +01:00
Samuel Mannehed
59387b34ea
Separate init functions from event handling setup
...
Adds a new section for all functions that add event handlers.
2017-01-27 16:20:53 +01:00
Samuel Mannehed
3fdc69ceda
Rename function for adding resize handlers
...
Moves the one handler for the status out of the function as well. It
didn't fit in with the function's old name either.
2017-01-27 16:20:53 +01:00
Samuel Mannehed
b3d91b78e1
Rename and move init function for fullscreen
2017-01-27 16:20:53 +01:00
Samuel Mannehed
dceda58642
Save settings immediately
...
Retire the old settingsApply. This also allows UI logic to check the
state of things using the settings instead of having to look at the
values of HTML elements (we couldn't be sure if the changes were
applied yet or not).
2017-01-27 16:20:33 +01:00
Samuel Mannehed
0b09e9cb6f
Remove unused toggleConnectPanel function
2017-01-24 14:37:14 +01:00
Samuel Mannehed
aa90547519
Add UI wrapper for Webutil.init_logging
2017-01-24 14:36:19 +01:00
Pierre Ossman
394ad22be9
Merge branch 'add-reconnect' of https://github.com/fd0/noVNC
2017-01-23 13:47:57 +01:00
Alexander Neumann
044d54ed62
Add reconnect option
...
Add an option to automatically reconnect after a delay when the
connection is closed.
Closes #746
2017-01-23 11:42:41 +01:00
Pierre Ossman
413ea87741
Fix global error handler
...
It stopped working when we switched to textContent as it relies
on being able to add new HTML elements. Do things properly by
adding new elements via createElement().
2017-01-18 15:59:31 +01:00
Solly Ross
6048299a13
Use textContent instead of innerHTML
...
Previously, setting `innerHTML` was used to display the statuses. These
could include content communicated from the remote VNC server, allowing
the remove VNC server to inject HTML into the noVNC page.
This commit switches all uses of `innerHTML` to use `textContent`, which
is not vulnerable to the HTML injection.
2017-01-12 14:47:36 -05:00
Pierre Ossman
b3c932c386
Make connect button more prominent
...
It's generally the only thing the user needs to click on, so make
sure it clearly stands out.
2017-01-04 15:05:58 +01:00
Pierre Ossman
512d3605ad
Remove connect dialog
...
It only contained a password field, which might not be needed, and
is handled by a separate dialog if it is.
2017-01-04 15:05:01 +01:00
Pierre Ossman
575f69832d
Group WebSocket settings together
...
It was easy to confuse them as being VNC settings, so keep them all
under one group.
2017-01-04 15:05:01 +01:00
Pierre Ossman
340d9d66cc
Remove alternative style sheets
...
Anyone with basic knowledge of CSS will easily figure out how to
customise the appearance of the UI, so remove the burden of having
to maintain these extra style sheets.
2017-01-04 15:05:01 +01:00
Pierre Ossman
58fc267b2b
Remove unused token setting
2017-01-04 15:05:01 +01:00
Samuel Mannehed
c01b2f0259
Merge pull request #699 from CendioOssman/double
...
Display double buffering
2016-12-13 12:42:22 +01:00
Pierre Ossman
adf345fdc4
Clean up viewport handling
...
Make sure the viewport is properly updated when necessary, on respects
given restrictions.
2016-12-09 09:20:50 +01:00
Pierre Ossman
3f781f2aa3
Remove max dimension handling
...
The viewport handling is now a lot clearer, so simply limit the size
of the viewport in the caller rather than having this extra layer
of checks.
2016-12-09 09:20:50 +01:00