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
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
a7619faf18
Set pointer cursor for status bar
...
It can be dismissed by clicking on it, so hint this by setting the
pointer cursor type.
2017-01-20 10:11:16 +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
813458923e
Avoid wrapping labels
2017-01-04 15:05:59 +01:00
Pierre Ossman
cac935ffc2
Clean up z index ordering
...
We have enough layers now that we need to have some system for this.
E.g. make sure that dialogs during connect show up in front of the
blocking transition layer.
2017-01-04 15:05:59 +01: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
ef3e12b595
Remove vendor prefix from border-radius
...
It's been standardised for quite some time, so remove the extra
noise in the CSS.
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
Pierre Ossman
47fbdced45
Center canvas vertically as well
2017-01-04 15:05:01 +01:00
Pierre Ossman
8f2ca5feaa
Black out background when connected
2017-01-04 15:04:51 +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
Pierre Ossman
18d21e3621
Update all state on session size change
2016-12-09 09:20:50 +01:00
Samuel Mannehed
a8cc32d8b9
Merge pull request #725 from CendioOssman/rightbar
...
Allow control bar to be moved to the right side
2016-11-29 13:23:02 +01:00
Samuel Mannehed
d062074b5a
Clear UI.connected state variable right away
...
Keeping it set for the disconnecting state was causing an issue where
the controlbar could be hidden without any way to open it, when a
session disconnects too quickly.
2016-11-28 12:36:29 +01:00
Samuel Mannehed
d8ff7c9ed6
Further fixes for fallback error handler
...
Layout improvements as well as an check for ErrorEvent.error as it is
not standardized.
2016-11-28 12:33:42 +01:00
Samuel Mannehed
38d8cfdf83
Fix fallback error handling
...
Start using the correct API for window.addEventListener('error',..).
Unlike when using onerror, the handler function gets an event.
2016-11-28 10:02:13 +01:00
Pierre Ossman
cf348b7892
Remember control bar position
2016-11-26 15:26:28 +01:00
Pierre Ossman
8ee432f1db
Allow control bar to be moved to the right side
2016-11-26 15:13:33 +01:00
Pierre Ossman
de315d6216
Touching the handle should keep the control bar visible
...
Calling stopPropagation() was causing the normal event listeners
to never get the proper events.
2016-11-24 17:03:47 +01:00
Giannis Kosmas
dd085b40a9
Update Greek translation
2016-11-24 12:18:59 +02:00
Samuel Mannehed
f5bf2d84ef
Merge pull request #718 from ossman/po
...
Use gettext .po files, and translate everything
2016-11-22 21:02:13 +01:00
Samuel Mannehed
1983baf5bf
Fix link tagname
2016-11-21 13:43:02 +01:00
Pierre Ossman
79b05f9f19
Update Swedish translation
2016-11-19 13:23:00 +01:00
Pierre Ossman
edffd9e2f8
Also translate HTML elements
2016-11-19 13:23:00 +01:00
Pierre Ossman
3cdc603aa4
Use gettext .po files for translations
...
This allows the same workflow as most other projects for translations.
2016-11-17 20:42:08 +01:00
Pierre Ossman
45729def6d
Restore translations for some strings
...
We lost the translation calls for a couple of strings in one of
the clenaups.
2016-11-17 19:58:10 +01:00
Pierre Ossman
f28e248d3f
Use _() as shorthand for translations
...
Used commonly when gettext is used for translations. Avoids cluttering
the code.
2016-11-17 19:58:10 +01:00
Samuel Mannehed
d24de750b1
Add fallback handling for uncought errors
2016-11-10 14:33:23 +01:00
Samuel Mannehed
b85a13de69
Merge pull request #689 from ossman/keysym
...
Don't send Unicode as keysym
2016-11-10 09:36:43 +01:00
Samuel Mannehed
f3d25df048
Merge pull request #711 from CendioOssman/spinners
...
Blocking transition screen when connecting/disconnecting
2016-11-10 08:47:23 +01:00
Pierre Ossman
8d710e8b18
Blocking transition screen when connecting/disconnecting
2016-11-08 14:54:48 +01:00
Samuel Mannehed
37ebc5c14e
Merge pull request #697 from CendioOssman/keyboard
...
Better method to keep focus on virtual keyboard
2016-11-08 12:28:23 +01:00
Giannis Kosmas
b98b2f813d
Added Greek translation
2016-10-28 21:22:25 +03:00
Samuel Mannehed
a4fc1fa586
Add Swedish translation
2016-10-28 15:41:08 +02:00
Samuel Mannehed
fdb02f8570
Always translate literals instead of variables
...
Makes it much easier to find what needs to be translated.
2016-10-28 15:41:08 +02:00
Samuel Mannehed
91e41150f0
Don't translate unexpected errors
2016-10-28 15:41:00 +02:00
Samuel Mannehed
e848790194
Replace tab with spaces
2016-10-28 15:23:51 +02:00
Samuel Mannehed
f55e041908
Add newlines at the end of the translation files
2016-10-28 14:37:40 +02:00
Samuel Mannehed
a93cda3a36
Move app-specific location of language files
...
The core directory should only contain core API code that isn't
specific to an application.
2016-10-28 14:30:14 +02:00
Loek Janssen
5af39a878a
Added localization to statusbar
2016-10-28 12:40:28 +02:00
Samuel Mannehed
b1358a1f2e
Always disable forced touch gestures
...
Don't only disable these for the canvas, disable for the entire page.
There were issues where the control bar handle couldn't be moved on
IE and Edge on Microsoft Surface devices due to these "touch-actions".
2016-10-26 15:43:43 +02:00
Samuel Mannehed
2e5cae1b23
Update comment for screenSize()
...
The explanation was outdated.
2016-10-24 14:26:53 +02:00
Samuel Mannehed
1a15f22905
Remove unnecessary anonymous function
...
addEventListener can handle multiple assigned events, no need for a
wrapping function.
2016-10-24 14:08:53 +02:00
Samuel Mannehed
4770b0c311
Typo fix for last commit
...
Commit 7d20158b4b
contained a typo
2016-10-24 13:59:35 +02:00
Samuel Mannehed
7d20158b4b
Add missing log output for UI-specific errors
...
Some UI errors and one warning didn't write to the log. We want all
errors to be logged.
2016-10-24 13:36:05 +02:00
Samuel Mannehed
daca5b1727
Reformat lines to avoid line-breaks
2016-10-24 13:35:06 +02:00
Samuel Mannehed
9b3d363d07
Merge pull request #686 from CendioOssman/favicon
...
Clean up page icons ("favicon")
2016-10-24 12:09:58 +02:00
Pierre Ossman
ffcadf9507
Better method to keep focus on virtual keyboard
...
This prevents the focus being lost rather than trying to restore it
at various places.
2016-10-21 16:27:43 +02:00
Samuel Mannehed
ac33960368
Merge pull request #649 from kanaka/dontgrabinviewonly
...
Fix view only
2016-10-20 01:04:14 +02:00
Samuel Mannehed
b0f7466ad4
Merge pull request #687 from CendioOssman/info
...
Improve info and error icons
2016-10-20 01:02:55 +02:00
Samuel Mannehed
5826ab6f6a
Merge pull request #650 from kanaka/touchdetect
...
New way of detecting touch
2016-10-20 00:18:32 +02:00
Samuel Mannehed
d6cb04aa6b
Disable forced touch gestures on IE and Edge
...
Fixes issue discussed in #613
2016-10-20 00:13:29 +02:00
Samuel Mannehed
8473635a09
Fix typo that caused clipping by default on IE
...
Typo from commit a6357e8276
2016-10-19 15:33:06 +02:00
Samuel Mannehed
f75e4d3caa
Add safety check in code for moving the handle
...
An element that has 'display: none' has a height of zero, and the logic
for the handle assumed that this was never the case. This could cause
the handle to end up at the wrong coordinates.
2016-10-18 13:32:00 +02:00