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
Samuel Mannehed
59cd99bc38
Move the handle properly when page is scrolled
...
The coordinates used to calculate the position for the toolbar handle
wrongly took page-offset into account. Util.getPosition was being used
for this. Thus, when page was scrolled, this caused the handle to be
offset when it was being moved. Use getBoundingClientRect instead.
2016-10-18 13:26:17 +02:00
Pierre Ossman
0b96eddf56
Don't send Unicode to RFB.sendKey()
...
The argument must be a Keysym, not a Unicode codepoint.
2016-10-15 14:58:59 +02:00
Pierre Ossman
171086bc1d
Improve info and error icons
...
Give them a solid background to make them more easily identifiable
as icons, rather than text or some other more inline element.
2016-10-14 16:10:32 +02:00
Pierre Ossman
1351544e9f
Remove iOS startup image
...
Apple seems to have removed this feature from iOS 9.
2016-10-14 15:46:08 +02:00
Pierre Ossman
2b4e6ed523
Clean up page icon ("favicon") handling
...
Makes sure we use standardised formats and references, and makes sure
we have all the sizes we might need.
2016-10-14 13:24:35 +02:00
samhed
bea2b3fdfc
New way of detecting touch
...
Moves detection to Util and fixes so that touch is properly detected on
MS Surface and touch emulation in Chrome.
2016-10-14 02:41:06 +02:00
Samuel Mannehed
eef91bf9e3
Hide input related buttons in view only
2016-10-14 01:46:55 +02:00
Samuel Mannehed
ceb847b0e3
Don't modify mouse or keyboard in view_only mode
...
The UI previously didn't respect view_only in a number of cases.
2016-10-14 01:46:55 +02:00
Samuel Mannehed
301dc0e20b
Add logging when creation of RFB fails
2016-10-14 01:46:55 +02:00
Samuel Mannehed
7ae53db9cd
Don't request a new desktop size in view_only
2016-10-14 01:46:55 +02:00
Pierre Ossman
267d1edfb6
Remove unused startup screen image
2016-10-13 16:58:27 +02:00
Samuel Mannehed
da346c3b21
Remove redeclaration of a variable
2016-10-13 14:57:37 +02:00
Samuel Mannehed
00df30999b
Merge pull request #651 from kanaka/separatestates
...
Separate visual state from protocol state
2016-10-01 10:20:01 +02:00
Solly Ross
ca99791caa
Merge pull request #665 from CendioOssman/bell
...
Support RFB bell
2016-09-30 19:37:09 -04:00
Samuel Mannehed
4102b71c33
Keep the connect panel when missing host or port
2016-10-01 01:34:31 +02:00
Samuel Mannehed
74a4a2b468
Do not timeout error messages
2016-10-01 01:34:31 +02:00
Samuel Mannehed
7520ba52d8
Don't close the control bar when disconnected
...
If you were very quick to disconnect, you could end up in a state
where the toolbar was hidden.
2016-10-01 01:34:31 +02:00
Samuel Mannehed
3bb12056b1
Remove unnecessary substates of disconnected
...
The states 'loaded', 'failed' and 'fatal' were all variations of the
'disconnected' state. Removing these states allows us to get rid of
many ugly workarounds and special cases. Error messages to the UI can
now instead be delivered via a new onDisconnected callback.
2016-10-01 01:34:25 +02:00