Pierre Ossman
3d7bb02036
Change some attributes to arguments
...
Some attributes are better suited as arguments, primarily because they
are associated with a specific method and cannot be changed later.
2017-11-09 12:52:05 +01:00
Pierre Ossman
5b4e5d016e
Switch to URL for connect()
...
This is more in line with how other JavaScript APIs work.
2017-11-09 12:52:05 +01:00
Pierre Ossman
832be2625b
Add resize as a capability
...
Makes the API more transparent than piggybacking on completion
of the first framebuffer update.
2017-11-09 12:51:15 +01:00
Pierre Ossman
cd523e8f28
Make power API generic
...
Decouple it from XVP and make it a generic API.
2017-11-09 12:47:21 +01:00
Pierre Ossman
430f00d6fe
Allow other credentials than just password
...
Makes the XVP authentication mechanism more general.
2017-11-09 12:45:05 +01:00
Samuel Mannehed
a1d547657f
Merge pull request #947 from samhed/lite_center
...
Properly center things in vnc_lite.html
2017-11-04 11:50:50 +01:00
Pierre Ossman
1d6ff4a3e9
Improved focus handling on touch input field
...
The previous method of retaining focus didn't work reliably when
the RFB object tried to move the focus to the canvas. Add a setting
to control "focus on click" behaviour instead of letting them try
to fight it out.
2017-11-02 15:30:36 +01:00
Samuel Mannehed
ba9e1ecc94
Center canvas vertically as well in vnc_lite
...
Fixes issue #881 .
2017-11-01 09:23:46 +01:00
Samuel Mannehed
3c07dc51af
Add small padding to buttons in vnc_lite
2017-11-01 09:23:46 +01:00
Samuel Mannehed
4023a6e1c7
Properly center status message in vnc_lite
...
This gets rid of the table and uses a flexbox instead.
2017-11-01 09:23:46 +01:00
Samuel Mannehed
dc905e859f
Move styling from vnc_lite.html to css
...
This clears up some conflicting style attributes as well. HTML
inline-styling is prioritized above css styling.
2017-10-31 18:58:14 +01:00
Samuel Mannehed
8167e459bc
Remove unnecessary css rules for lite
2017-10-31 18:57:14 +01:00
Samuel Mannehed
178bf8ec97
Get rid of unnecessary noVNC_container in lite
...
If we want to keep vnc_lite simple, we shouldn't have unnecessary
elements. All aspects of the container could be moved up a step in the
hierarchy.
2017-10-31 16:06:57 +01:00
Samuel Mannehed
082bc6b478
Use more subtle colors for warn and error in lite
...
The clear red and yellow colors used before does not match well with the
rest of noVNC's color scheme.
2017-10-30 15:31:56 +01:00
Samuel Mannehed
0bc4e4eb8a
Remove prefixed versions of linear-gradient
...
Other parts of noVNC have significantly higher requirements than this.
All supported browsers will be able to handle the real linear-gradient.
2017-10-30 15:29:19 +01:00
Pierre Ossman
f976b5500e
Hide mouse object from RFB callers
2017-10-27 13:58:12 +02:00
Pierre Ossman
b9854a5ca5
Hide display object from RFB callers
2017-10-27 13:58:11 +02:00
Pierre Ossman
4c11755ce7
Merge branch 'focus' of https://github.com/CendioOssman/noVNC
2017-10-18 15:12:46 +02:00
Pierre Ossman
867daa98af
Restore handling of key events for virtual keyboard
...
We broke handling of keydown/keyup when we moved the focus to the
canvas, as events from our input element would then no longer be
caught when they bubbled up to the document object (where we
previously caught events).
Restore the previous behaviour in a cleaner manner by creating a
second Keyboard object to handle this extra input variant.
2017-10-18 15:08:33 +02:00
Pierre Ossman
06fe4a3e1b
Make sure control bar stays visible on Tab
...
Avoid the deprecated keypress event in favour of the keydown event.
It has the benefit of triggering for all keys, not just those that
produce symbols.
2017-10-18 15:08:33 +02:00
Pierre Ossman
2545a6c12e
Stop giving host field default focus
...
It's a field that isn't shown by default and rarely changed.
2017-10-18 15:08:33 +02:00
Pierre Ossman
e36f95868a
Add focus state for control bar buttons
...
The focus can now move to the canvas so it is no longer a source of
confusion. It is also important to indicate that they have focus now
that we actually respect it.
2017-10-18 15:08:29 +02:00
Pierre Ossman
2afda54456
Only grab key events on canvas
...
Give the canvas proper focus handling. This avoids messy logic that
needs to disable and enable event handling when we want to interact
with other UI elements.
It also makes sure we can properly inhibit the browser from triggering
local actions on key presses.
2017-10-18 15:07:17 +02:00
Samuel Mannehed
a342ed703f
Check if <audio>.play() returns a promise
...
It doesn't always. IE and Edge crashed when trying to play the bell due
to this. Fixes #929 .
2017-10-17 12:16:38 +02:00
Samuel Mannehed
2e735160bf
Save pw for reconnections when using query params
2017-10-16 11:06:40 +02:00
Samuel Mannehed
93358b2eed
Remove 'fuzzy' marks that were mistakenly left
...
During the last round of translations a few fuzzy markings was not
removed even though the string was updated. This can happen when the
translators edit the .po-file manually. Fuzzy markings result in that
the strings do not get included into the generated .json files.
2017-10-11 16:20:25 +02:00
Samuel Mannehed
061488f8f1
Fix Dutch translation for "Reconnecting..."
2017-10-11 16:19:22 +02:00
Samuel Mannehed
76fa34a635
Update .json for Dutch and Swedish translations
2017-10-11 10:52:48 +02:00
Samuel Mannehed
61c37685f6
Merge pull request #920 from flumm/german
...
updated german translations
2017-10-11 10:01:34 +02:00
Dominik Csapak
b420b966a3
updated german translations
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-10-11 07:09:50 +00:00
Samuel Mannehed
e4791eac9d
Merge pull request #922 from kosmasgiannis/greek
...
Update Greek translation
2017-10-11 09:04:13 +02:00
Giannis Kosmas
4e2de902e7
Update Greek translation
2017-10-11 09:52:26 +03:00
Mariusz Jamro
a0513c87c7
Add polish translation
2017-10-10 15:37:31 +02:00
Samuel Mannehed
9e314b44e2
Merge pull request #913 from kosmasgiannis/missing_quote
...
Add missing quotes
2017-10-06 23:03:55 +02:00
Giannis Kosmas
067accb8d9
autoconnect variable was used before it was defined.
2017-10-06 22:53:52 +03:00
Giannis Kosmas
eb533b2b00
Add missing quotes
2017-10-06 14:15:22 +03:00
Pierre Ossman
d593483ecc
Make port optional in ui.js as well
...
It is optional in the RFB object since 1a50f68
, so we don't need it
at the UI layer either.
2017-10-06 10:07:47 +02:00
Samuel Mannehed
a49ade5fa0
Rename setting_clip to setting_view_clip
...
Clarifies the purpose of the setting in order to avoid mix ups with
clipboard related things.
2017-09-07 09:01:52 +02:00
Samuel Mannehed
409b7fb97e
Remove unused variable
...
The use of this variable was removed in b18ef8162e
2017-09-07 09:00:15 +02:00
Pierre Ossman
d1a1e0e529
Adjust scaling when session size changes
...
Session size changes can be initiated from the server, and not just
from the client. Make sure we update the scaling when this happens.
2017-08-16 11:00:04 +02:00
Samuel Mannehed
74a29f3ff5
Make sure the control bar hint is centered
...
Fixed positioned flex boxes are not positioned correctly in Safari. Add
the normal top 50% translate -50% method.
Fixes issue #848 .
2017-07-26 17:06:27 +02:00
Pierre Ossman
637a282be5
Scroll error stack trace
...
Make sure we get the stack trace without distortions by wrapping, or
cropping because it flows out of the screen.
2017-06-15 13:49:27 +02:00
Pierre Ossman
858ea4a774
Avoid use of 'let' and 'const'
...
They are not supported on older browsers, e.g. iOS 9.
2017-06-02 15:41:37 +02:00
Samuel Mannehed
bbc1648c7a
Add hint that the control bar can be moved
...
The control bar can be dragged to the other side, this isn't obvious
however. This adds a hint on the opposite side in the form of a subtle
glowing half-ellipse.
2017-05-29 15:57:13 +02:00
Samuel Mannehed
c23665dd82
Clear the password input field
...
If a user disconnects but leaves the browser tab open, the password
input field would still contain the password for future connections.
We now clear the input field after reading the password into memory.
2017-05-20 19:05:46 +02:00
Samuel Mannehed
b0061a3c49
Revert "Remove shadow from logo"
...
This reverts commit 7c44f86dcd
.
2017-05-15 14:57:33 +02:00
Pierre Ossman
55988e7aec
Fix bootstart of input field
...
It wasn't working properly anymore because it expected to be triggered
by the "load". But we now register that event listener long after the
"load" event has already fired.
2017-05-15 14:42:28 +02:00
Samuel Mannehed
c464f47e96
Remove trailing whitespace
2017-05-13 01:56:24 +02:00
Samuel Mannehed
7c44f86dcd
Remove shadow from logo
2017-05-13 01:43:02 +02:00
Samuel Mannehed
d4fc89d8b9
Catch errors for when we can't play bell
...
Many browsers, for example Chrome on Android will not allow audio to
play unless it's initiated from a user action. It is not reasonable to
display an error for this. Fixes issue #821 .
2017-05-12 12:52:05 +02:00
Samuel Mannehed
83391ffc38
Rename vnc_auto to vnc_lite
2017-05-12 08:57:23 +02:00
Samuel Mannehed
7ca650b73d
Add missing semi colon
2017-05-12 08:48:41 +02:00
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
David Gnedt
8a0cbd742b
Update German translation
...
From Pull Request #771 .
2017-05-09 11:49:57 +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
5a3e9d3da8
Error.error can be null in some cases
2017-05-04 12:13:48 +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
732233eda0
Handle partial error location information
...
We might not get line or column number, but the file is still
useful information.
2017-03-27 16:29:38 +02:00
Pierre Ossman
5da03103a3
ErrorEvent.error isn't always set
...
It's not just a matter of the browser lacking support.
2017-03-27 16:29:38 +02:00
Pierre Ossman
13c558e3a0
Limit fallback error width to window width
...
Change the layout a bit to make sure the entire message can be read.
2017-03-27 16:29:38 +02:00
Pierre Ossman
c361080be8
Use monospace font for unhandled errors
...
The browsers uses crude layout formatting that expects this.
2017-03-27 16:29:38 +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
Pierre Ossman
7e19216368
Define an initial shadow for spinner
...
IE and Edge refuse to animate attributes that weren't present in
the static definition.
2017-03-23 17:53:09 +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
6e744119f8
Remove WebUtil.load_scripts
...
The only remaining user of WebUtil.load_scripts was for loading
localisation. Instead, we now load the localization information
over XHR as a JSON blob.
2017-03-07 11:11:29 -05: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
bc35b1d27e
Remove WebUtil.dirObj
...
`WebUtil.dirObj` wasn't being used anywhere, so this removes it.
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
7a005a1b18
Merge branch 'disableLabels' of https://github.com/samhed/noVNC
...
Closes pull request #776
2017-02-24 15:13:09 +01:00
Pierre Ossman
6e8a8c8df1
Remove 512x512 icon
...
It is not a launcher icon, but rather used for display on Google
Play. As such it is not needed and removing it mitigates the issue
of some buggy browsers downloading each and every listed icon.
2017-02-23 16:29:16 +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
6c857dc50c
Set input type number for port & reconnect_delay
2017-02-21 11:57:24 +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
f3b7727535
Fix canvas size on IE
2017-02-16 14:48:34 +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
3f48c7017d
Tweak spinner appearence
...
Change the look of the "busy" spinner a bit. It's mostly used for
connection stuff, so give it a more data flow feel. Also bling it
up a bit with some fading. Perty sells. :)
2017-02-07 16:09:10 +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
Pierre Ossman
f6299e0aed
Move keyboard style in CSS
...
Put it so it matches where it is in the HTML.
2017-02-03 11:44:24 +01:00
Pierre Ossman
9865432a02
Center canvas (again)
...
The previous attempt could leave parts of the canvas outside the
document, making it impossible to reach. Use a safer method as
recommended by Mozilla.
2017-02-03 11:43:17 +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