1
0
mirror of https://github.com/novnc/noVNC.git synced 2025-04-18 23:44:01 +03:00

Consistently use "sentence case" style

Try to be more consistent in how we capitalize things. Both the "Title
Case" and "Sentence case" styles are popular, so either would work.
Google and Mozilla both prefer "Sentence case", so let's follow them.
This commit is contained in:
Pierre Ossman 2024-11-27 13:58:26 +01:00
parent 2463ccd08f
commit 7f5b51acf3
67 changed files with 175 additions and 175 deletions

View File

@ -7,7 +7,7 @@ about: Create a report to help us improve
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
**To reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'

View File

@ -1,4 +1,4 @@
noVNC is Copyright (C) 2022 The noVNC Authors
noVNC is Copyright (C) 2022 The noVNC authors
(./AUTHORS)
The noVNC core library files are licensed under the MPL 2.0 (Mozilla

View File

@ -1,4 +1,4 @@
## noVNC: HTML VNC Client Library and Application
## noVNC: HTML VNC client library and application
[![Test Status](https://github.com/novnc/noVNC/workflows/Test/badge.svg)](https://github.com/novnc/noVNC/actions?query=workflow%3ATest)
[![Lint Status](https://github.com/novnc/noVNC/workflows/Lint/badge.svg)](https://github.com/novnc/noVNC/actions?query=workflow%3ALint)
@ -14,19 +14,19 @@ Many companies, projects and products have integrated noVNC including
[OpenNebula](http://opennebula.org/),
[LibVNCServer](http://libvncserver.sourceforge.net), and
[ThinLinc](https://cendio.com/thinlinc). See
[the Projects and Companies wiki page](https://github.com/novnc/noVNC/wiki/Projects-and-companies-using-noVNC)
[the Projects and companies wiki page](https://github.com/novnc/noVNC/wiki/Projects-and-companies-using-noVNC)
for a more complete list with additional info and links.
### Table of Contents
### Table of contents
- [News/help/contact](#newshelpcontact)
- [Features](#features)
- [Screenshots](#screenshots)
- [Browser Requirements](#browser-requirements)
- [Server Requirements](#server-requirements)
- [Quick Start](#quick-start)
- [Installation from Snap Package](#installation-from-snap-package)
- [Integration and Deployment](#integration-and-deployment)
- [Browser requirements](#browser-requirements)
- [Server requirements](#server-requirements)
- [Quick start](#quick-start)
- [Installation from snap package](#installation-from-snap-package)
- [Integration and deployment](#integration-and-deployment)
- [Authors/Contributors](#authorscontributors)
### News/help/contact
@ -86,7 +86,7 @@ See more screenshots
[here](http://novnc.com/screenshots.html).
### Browser Requirements
### Browser requirements
noVNC uses many modern web technologies so a formal requirement list is
not available. However these are the minimum versions we are currently
@ -95,7 +95,7 @@ aware of:
* Chrome 89, Firefox 89, Safari 15, Opera 75, Edge 89
### Server Requirements
### Server requirements
noVNC follows the standard VNC protocol, but unlike other VNC clients it does
require WebSockets support. Many servers include support (e.g.
@ -107,7 +107,7 @@ use a WebSockets to TCP socket proxy. noVNC has a sister project
proxy.
### Quick Start
### Quick start
* Use the `novnc_proxy` script to automatically download and start websockify, which
includes a mini-webserver and the WebSockets proxy. The `--vnc` option is
@ -124,23 +124,23 @@ proxy.
script. Hit the Connect button, enter a password if the VNC server has one
configured, and enjoy!
### Installation from Snap Package
Running the command below will install the latest release of noVNC from Snap:
### Installation from snap package
Running the command below will install the latest release of noVNC from snap:
`sudo snap install novnc`
#### Running noVNC from Snap Directly
#### Running noVNC from snap directly
You can run the Snap-package installed novnc directly with, for example:
You can run the snap package installed novnc directly with, for example:
`novnc --listen 6081 --vnc localhost:5901 # /snap/bin/novnc if /snap/bin is not in your PATH`
If you want to use certificate files, due to standard Snap confinement restrictions you need to have them in the /home/\<user\>/snap/novnc/current/ directory. If your username is jsmith an example command would be:
If you want to use certificate files, due to standard snap confinement restrictions you need to have them in the /home/\<user\>/snap/novnc/current/ directory. If your username is jsmith an example command would be:
`novnc --listen 8443 --cert ~jsmith/snap/novnc/current/self.crt --key ~jsmith/snap/novnc/current/self.key --vnc ubuntu.example.com:5901`
#### Running noVNC from Snap as a Service (Daemon)
The Snap package also has the capability to run a 'novnc' service which can be
#### Running noVNC from snap as a service (daemon)
The snap package also has the capability to run a 'novnc' service which can be
configured to listen on multiple ports connecting to multiple VNC servers
(effectively a service runing multiple instances of novnc).
Instructions (with example values):
@ -172,7 +172,7 @@ services.n6082.listen 6082
services.n6082.vnc localhost:5902
```
Disable a service (note that because of a limitation in Snap it's currently not
Disable a service (note that because of a limitation in snap it's currently not
possible to unset config variables, setting them to blank values is the way
to disable a service):
@ -189,7 +189,7 @@ services.n6082.listen
services.n6082.vnc
```
### Integration and Deployment
### Integration and deployment
Please see our other documents for how to integrate noVNC in your own software,
or deploying the noVNC application in production environments:
@ -212,8 +212,8 @@ that list and you think you should be, feel free to send a PR to fix that.
* [Solly Ross](https://github.com/DirectXMan12) (Red Hat / OpenStack)
* Notable contributions:
* UI and Icons : Pierre Ossman, Chris Gordon
* Original Logo : Michael Sersen
* UI and icons : Pierre Ossman, Chris Gordon
* Original logo : Michael Sersen
* tight encoding : Michael Tinglof (Mercuri.ca)
* RealVNC RSA AES authentication : USTC Vlab Team

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,13 +1,13 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2018 The noVNC Authors
* Copyright (C) 2018 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.
*/
/*
* Localization Utilities
* Localization utilities
*/
export class Localizer {

View File

@ -1,6 +1,6 @@
/*
* noVNC base CSS
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
* This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
*/
@ -213,7 +213,7 @@ html {
}
/* ----------------------------------------
* Control Bar
* Control bar
* ----------------------------------------
*/
@ -629,13 +629,13 @@ html {
margin-left: 1rem;
}
/* Connection Controls */
/* Connection controls */
:root:not(.noVNC_connected) #noVNC_disconnect_button {
display: none;
}
/* ----------------------------------------
* Status Dialog
* Status dialog
* ----------------------------------------
*/
@ -701,7 +701,7 @@ html {
}
/* ----------------------------------------
* Connect Dialog
* Connect dialog
* ----------------------------------------
*/
@ -770,7 +770,7 @@ html {
}
/* ----------------------------------------
* Server verification Dialog
* Server verification dialog
* ----------------------------------------
*/
@ -787,7 +787,7 @@ html {
}
/* ----------------------------------------
* Password Dialog
* Password dialog
* ----------------------------------------
*/
@ -806,7 +806,7 @@ html {
/* ----------------------------------------
* Main Area
* Main area
* ----------------------------------------
*/

View File

@ -1,6 +1,6 @@
/*
* noVNC general input element CSS
* Copyright (C) 2022 The noVNC Authors
* Copyright (C) 2022 The noVNC authors
* noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
* This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
*/

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.
@ -27,7 +27,7 @@ export function initLogging(level) {
// the url can be requested in the following way:
// https://www.example.com#myqueryparam=myvalue&password=secretvalue
//
// Even Mixing public and non public parameters will work:
// Even mixing public and non public parameters will work:
// https://www.example.com?nonsecretparam=example.com#password=secretvalue
export function getQueryVar(name, defVal) {
"use strict";

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2021 The noVNC Authors
* Copyright (C) 2021 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2024 The noVNC Authors
* Copyright (C) 2024 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* (c) 2012 Michael Tinglof, Joe Balaz, Les Piech (Mercuri.ca)
* Licensed under MPL 2.0 (see LICENSE.txt)
*

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2024 The noVNC Authors
* Copyright (C) 2024 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2021 The noVNC Authors
* Copyright (C) 2021 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2020 The noVNC Authors
* Copyright (C) 2020 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2020 The noVNC Authors
* Copyright (C) 2020 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2018 The noVNC Authors
* Copyright (C) 2018 The noVNC authors
* Licensed under MPL 2.0 or any later version (see LICENSE.txt)
*/

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2018 The noVNC Authors
* Copyright (C) 2018 The noVNC authors
* Licensed under MPL 2.0 or any later version (see LICENSE.txt)
*/

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2020 The noVNC Authors
* Copyright (C) 2020 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 or any later version (see LICENSE.txt)
*/

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2018 The noVNC Authors
* Copyright (C) 2018 The noVNC authors
* Licensed under MPL 2.0 or any later version (see LICENSE.txt)
*/

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2020 The noVNC Authors
* Copyright (C) 2020 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.
@ -1378,7 +1378,7 @@ export default class RFB extends EventTargetMixin {
}
}
// Message Handlers
// Message handlers
_negotiateProtocolVersion() {
if (this._sock.rQwait("version", 12)) {
@ -2427,7 +2427,7 @@ export default class RFB extends EventTargetMixin {
switch (xvpMsg) {
case 0: // XVP_FAIL
Log.Error("XVP Operation Failed");
Log.Error("XVP operation failed");
break;
case 1: // XVP_INIT
this._rfbXvpVer = xvpVer;
@ -2756,7 +2756,7 @@ export default class RFB extends EventTargetMixin {
}
_handleLedEvent() {
if (this._sock.rQwait("LED Status", 1)) {
if (this._sock.rQwait("LED status", 1)) {
return false;
}

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 or any later version (see LICENSE.txt)
*/

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2020 The noVNC Authors
* Copyright (C) 2020 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2018 The noVNC Authors
* Copyright (C) 2018 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2020 The noVNC Authors
* Copyright (C) 2020 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.

View File

@ -1,6 +1,6 @@
/*
* Websock: high-performance buffering wrapper
* Copyright (C) 2019 The noVNC Authors
* Copyright (C) 2019 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* Websock is similar to the standard WebSocket / RTCDataChannel object
@ -70,7 +70,7 @@ export default class Websock {
};
}
// Getters and Setters
// Getters and setters
get readyState() {
let subState;
@ -94,7 +94,7 @@ export default class Websock {
return "unknown";
}
// Receive Queue
// Receive queue
rQpeek8() {
return this._rQ[this._rQi];
}
@ -173,7 +173,7 @@ export default class Websock {
return false;
}
// Send Queue
// Send queue
sQpush8(num) {
this._sQensureSpace(1);
@ -227,7 +227,7 @@ export default class Websock {
}
}
// Event Handlers
// Event handlers
off(evt) {
this._eventHandlers[evt] = () => {};
}
@ -325,7 +325,7 @@ export default class Websock {
if (this._rQbufferSize > MAX_RQ_GROW_SIZE) {
this._rQbufferSize = MAX_RQ_GROW_SIZE;
if (this._rQbufferSize - (this._rQlen - this._rQi) < minFit) {
throw new Error("Receive Queue buffer exceeded " + MAX_RQ_GROW_SIZE + " bytes, and the new message could not fit");
throw new Error("Receive queue buffer exceeded " + MAX_RQ_GROW_SIZE + " bytes, and the new message could not fit");
}
}

View File

@ -1,4 +1,4 @@
# 1. Internal Modules
# 1. Internal modules
The noVNC client is composed of several internal modules that handle
rendering, input, networking, etc. Each of the modules is designed to
@ -9,7 +9,7 @@ stable, and this documentation is not maintained as well as the
official external API.
## 1.1 Module List
## 1.1 Module list
* __Keyboard__ (core/input/keyboard.js): Keyboard input event handler with
non-US keyboard support. Translates keyDown and keyUp events to X11
@ -32,9 +32,9 @@ callback event name, and the callback function.
## 2. Modules
## 2.1 Keyboard Module
## 2.1 Keyboard module
### 2.1.1 Configuration Attributes
### 2.1.1 Configuration attributes
None
@ -52,9 +52,9 @@ None
| onkeypress | (keysym, code, down) | Handler for key press/release
## 2.2 Display Module
## 2.2 Display module
### 2.2.1 Configuration Attributes
### 2.2.1 Configuration attributes
| name | type | mode | default | description
| ------------ | ----- | ---- | ------- | ------------

View File

@ -1,4 +1,4 @@
# Embedding and Deploying noVNC Application
# Embedding and deploying noVNC application
This document describes how to embed and deploy the noVNC application, which
includes settings and a full user interface. If you are looking for
@ -71,8 +71,8 @@ query string. Currently the following options are available:
* `logging` - The console log level. Can be one of `error`, `warn`, `info` or
`debug`.
## HTTP Serving Considerations
### Browser Cache Issue
## HTTP serving considerations
### Browser cache issue
If you serve noVNC files using a web server that provides an ETag header, and
include any options in the query string, a nasty browser cache issue can bite
@ -84,7 +84,7 @@ to always revalidate cached files using conditional requests. The correct
semantics are achieved via the (confusingly named) `Cache-Control: no-cache`
header that needs to be provided in the web server responses.
### Example Server Configurations
### Example server configurations
Apache:

View File

@ -16,7 +16,7 @@ noVNC includes a small example application called `vnc_lite.html`. This does
not make use of all the features of noVNC, but is a good start to see how to
do things.
## Conversion of Modules
## Conversion of modules
noVNC is written using ECMAScript 6 modules. This is not supported by older
versions of Node.js. To use noVNC with those older versions of Node.js the

View File

@ -30,7 +30,7 @@ provides a cut-and-paste URL to go to.
active connections
.SH AUTHOR
The noVNC Authors
The noVNC authors
https://github.com/novnc/noVNC
.SH SEE ALSO

View File

@ -19,7 +19,7 @@ update-js: $(JSONFILES)
update-pot:
xgettext --output=noVNC.js.pot \
--copyright-holder="The noVNC Authors" \
--copyright-holder="The noVNC authors" \
--package-name="noVNC" \
--package-version="$(VERSION)" \
--msgid-bugs-address="novnc@googlegroups.com" \

View File

@ -1,7 +1,7 @@
#!/usr/bin/env node
/*
* ps2js: gettext .po to noVNC .js converter
* Copyright (C) 2018 The noVNC Authors
* Copyright (C) 2018 The noVNC authors
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -1,7 +1,7 @@
#!/usr/bin/env node
/*
* xgettext-html: HTML gettext parser
* Copyright (C) 2018 The noVNC Authors
* Copyright (C) 2018 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*/

View File

@ -1,6 +1,6 @@
/*
* noVNC: HTML5 VNC client
* Copyright (C) 2018 The noVNC Authors
* Copyright (C) 2018 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*/

View File

@ -1,6 +1,6 @@
import Base64 from '../core/base64.js';
describe('Base64 Tools', function () {
describe('Base64 tools', function () {
"use strict";
const BIN_ARR = new Array(256);

View File

@ -29,7 +29,7 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
return done;
}
describe('CopyRect Decoder', function () {
describe('CopyRect decoder', function () {
let decoder;
let display;

View File

@ -1,7 +1,7 @@
import Base64 from '../core/base64.js';
import Display from '../core/display.js';
describe('Display/Canvas Helper', function () {
describe('Display/Canvas helper', function () {
const checkedData = new Uint8ClampedArray([
0x00, 0x00, 0xff, 255, 0x00, 0x00, 0xff, 255, 0x00, 0xff, 0x00, 255, 0x00, 0xff, 0x00, 255,
0x00, 0x00, 0xff, 255, 0x00, 0x00, 0xff, 255, 0x00, 0xff, 0x00, 255, 0x00, 0xff, 0x00, 255,

View File

@ -108,7 +108,7 @@ function almost(a, b) {
return diff < 5;
}
describe('H.264 Parser', function () {
describe('H.264 parser', function () {
it('should parse constrained baseline video', function () {
let parser = new H264Parser(redGreenBlue16x16Video);
@ -130,7 +130,7 @@ describe('H.264 Parser', function () {
});
});
describe('H.264 Decoder Unit Test', function () {
describe('H.264 decoder unit test', function () {
let decoder;
beforeEach(function () {
@ -181,7 +181,7 @@ describe('H.264 Decoder Unit Test', function () {
});
});
describe('H.264 Decoder Functional Test', function () {
describe('H.264 decoder functional test', function () {
let decoder;
let display;

View File

@ -36,7 +36,7 @@ function push32(arr, num) {
num & 0xFF);
}
describe('Hextile Decoder', function () {
describe('Hextile decoder', function () {
let decoder;
let display;

View File

@ -29,7 +29,7 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
return done;
}
describe('JPEG Decoder', function () {
describe('JPEG decoder', function () {
let decoder;
let display;

View File

@ -1,6 +1,6 @@
import Keyboard from '../core/input/keyboard.js';
describe('Key Event Handling', function () {
describe('Key event handling', function () {
"use strict";
// The real KeyboardEvent constructor might not work everywhere we
@ -19,7 +19,7 @@ describe('Key Event Handling', function () {
return e;
}
describe('Decode Keyboard Events', function () {
describe('Decode keyboard events', function () {
it('should decode keydown events', function (done) {
const kbd = new Keyboard(document);
kbd.onkeyevent = (keysym, code, down) => {
@ -68,7 +68,7 @@ describe('Key Event Handling', function () {
});
});
describe('Track Key State', function () {
describe('Track key state', function () {
it('should send release using the same keysym as the press', function (done) {
const kbd = new Keyboard(document);
kbd.onkeyevent = (keysym, code, down) => {
@ -101,7 +101,7 @@ describe('Key Event Handling', function () {
expect(kbd.onkeyevent).to.not.have.been.called;
});
describe('Legacy Events', function () {
describe('Legacy events', function () {
it('should track keys using keyCode if no code', function (done) {
const kbd = new Keyboard(document);
kbd.onkeyevent = (keysym, code, down) => {

View File

@ -29,7 +29,7 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
return done;
}
describe('Raw Decoder', function () {
describe('Raw decoder', function () {
let decoder;
let display;

View File

@ -67,7 +67,7 @@ function deflateWithSize(data) {
return new Uint8Array(strm.output.buffer, 0, strm.next_out);
}
describe('Remote Frame Buffer Protocol Client', function () {
describe('Remote Frame Buffer protocol client', function () {
let clock;
let raf;
let fakeResizeObserver = null;
@ -287,7 +287,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('Public API Basic Behavior', function () {
describe('Public API basic behavior', function () {
let client;
beforeEach(function () {
client = makeRFB();
@ -1027,7 +1027,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('Misc Internals', function () {
describe('Misc internals', function () {
describe('#_fail', function () {
let client;
beforeEach(function () {
@ -1068,7 +1068,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('Protocol Initialization States', function () {
describe('Protocol initialization states', function () {
let client;
beforeEach(function () {
client = makeRFB();
@ -1226,7 +1226,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('Legacy Authentication', function () {
describe('Legacy authentication', function () {
it('should fail on auth scheme 0 (pre 3.7) with the given message', function () {
const errMsg = "Whoopsies";
const data = [0, 0, 0, 0];
@ -1286,7 +1286,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
expect(callback.args[0][0].detail.clean).to.be.false;
});
describe('VNC Authentication (type 2) Handler', function () {
describe('VNC authentication (type 2) handler', function () {
it('should fire the credentialsrequired event if missing a password', function () {
const spy = sinon.spy();
client.addEventListener("credentialsrequired", spy);
@ -1331,7 +1331,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('RSA-AES Authentication (type 6) Handler', function () {
describe('RSA-AES authentication (type 6) handler', function () {
function fakeGetRandomValues(arr) {
if (arr.length === 16) {
arr.set(new Uint8Array([
@ -1776,7 +1776,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('ARD Authentication (type 30) Handler', function () {
describe('ARD authentication (type 30) handler', function () {
let byteArray = new Uint8Array(Array.from(new Uint8Array(128).keys()));
function fakeGetRandomValues(arr) {
if (arr.length == 128) {
@ -1869,7 +1869,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('MSLogonII Authentication (type 113) Handler', function () {
describe('MSLogonII authentication (type 113) handler', function () {
function fakeGetRandomValues(arr) {
if (arr.length == 8) {
arr.set(new Uint8Array([0, 0, 0, 0, 5, 6, 7, 8]));
@ -1952,7 +1952,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('XVP Authentication (type 22) Handler', function () {
describe('XVP authentication (type 22) handler', function () {
it('should fall through to standard VNC authentication upon completion', function () {
client.addEventListener("credentialsrequired", () => {
client.sendCredentials({ username: 'user',
@ -2001,7 +2001,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('TightVNC Authentication (type 16) Handler', function () {
describe('TightVNC authentication (type 16) handler', function () {
beforeEach(function () {
sendSecurity(16, client);
client._sock._websocket._getSentData(); // skip the security reply
@ -2088,7 +2088,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('VeNCrypt Authentication (type 19) Handler', function () {
describe('VeNCrypt authentication (type 19) handler', function () {
beforeEach(function () {
sendSecurity(19, client);
expect(client._sock).to.have.sent(new Uint8Array([19]));
@ -2171,7 +2171,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('Plain Authentication (type 256) Handler', function () {
describe('Plain authentication (type 256) handler', function () {
beforeEach(function () {
sendSecurity(19, client);
expect(client._sock).to.have.sent(new Uint8Array([19]));
@ -2430,7 +2430,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
expect(client._keyboard.grab).to.have.been.calledOnce;
});
describe('Initial Update Request', function () {
describe('Initial update request', function () {
beforeEach(function () {
sinon.spy(RFB.messages, "pixelFormat");
sinon.spy(RFB.messages, "clientEncodings");
@ -2485,7 +2485,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('Protocol Message Processing After Completing Initialization', function () {
describe('Protocol message processing after completing initialization', function () {
let client;
beforeEach(function () {
@ -2495,7 +2495,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
client._fbHeight = 20;
});
describe('Framebuffer Update Handling', function () {
describe('Framebuffer update handling', function () {
function sendFbuMsg(rectInfo, rectData, client, rectCnt) {
let data = [];
@ -2576,7 +2576,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
expect(callback.args[0][0].detail.clean).to.be.false;
});
describe('Message Encoding Handlers', function () {
describe('Message encoding handlers', function () {
beforeEach(function () {
// a really small frame
client._fbWidth = 4;
@ -2817,7 +2817,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('the VMware Cursor pseudo-encoding handler', function () {
describe('the VMware cursor pseudo-encoding handler', function () {
beforeEach(function () {
sinon.spy(client._cursor, 'change');
});
@ -3150,7 +3150,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('XVP Message Handling', function () {
describe('XVP message handling', function () {
it('should set the XVP version and fire the callback with the version on XVP_INIT', function () {
const spy = sinon.spy();
client.addEventListener("capabilities", spy);
@ -3172,7 +3172,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('Normal Clipboard Handling Receive', function () {
describe('Normal clipboard handling receive', function () {
it('should fire the clipboard callback with the retrieved text on ServerCutText', function () {
const expectedStr = 'cheese!';
const data = [3, 0, 0, 0];
@ -3187,7 +3187,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('Extended clipboard Handling', function () {
describe('Extended clipboard handling', function () {
describe('Extended clipboard initialization', function () {
beforeEach(function () {
@ -3222,7 +3222,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
describe('Extended Clipboard Handling Receive', function () {
describe('Extended clipboard handling receive', function () {
beforeEach(function () {
// Send our capabilities
@ -3493,7 +3493,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('Asynchronous Events', function () {
describe('Asynchronous events', function () {
let client;
let pointerEvent;
let keyEvent;
@ -3537,7 +3537,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
return res;
}
describe('Mouse Events', function () {
describe('Mouse events', function () {
function sendMouseMoveEvent(x, y) {
let pos = elementToClient(x, y);
let ev;
@ -3663,7 +3663,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
50, 70, 0x0);
});
describe('Event Aggregation', function () {
describe('Event aggregation', function () {
it('should send a single pointer event on mouse movement', function () {
sendMouseMoveEvent(50, 70);
clock.tick(100);
@ -3790,7 +3790,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('Wheel Events', function () {
describe('Wheel events', function () {
function sendWheelEvent(x, y, dx, dy, mode=0) {
let pos = elementToClient(x, y);
let ev;
@ -3900,7 +3900,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('Keyboard Events', function () {
describe('Keyboard events', function () {
it('should send a key message on a key press', function () {
let esock = new Websock();
let ews = new FakeWebSocket();
@ -4613,7 +4613,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
});
});
describe('WebSocket Events', function () {
describe('WebSocket events', function () {
// message events
it('should do nothing if we receive an empty message and have nothing in the queue', function () {
sinon.spy(client, "_normalMsg");
@ -4901,7 +4901,7 @@ describe('RFB messages', function () {
sock.attach(websock);
});
describe('Input Events', function () {
describe('Input events', function () {
it('should send correct data for keyboard events', function () {
// FIXME: down should be boolean
RFB.messages.keyEvent(sock, 0x12345678, 0);
@ -4936,7 +4936,7 @@ describe('RFB messages', function () {
});
});
describe('Clipboard Events', function () {
describe('Clipboard events', function () {
it('should send correct data for clipboard events', function () {
RFB.messages.clientCutText(sock, new Uint8Array([ 0x01, 0x23, 0x45, 0x67 ]));
let expected =
@ -4946,7 +4946,7 @@ describe('RFB messages', function () {
});
});
describe('Extended Clipboard Handling Send', function () {
describe('Extended clipboard handling send', function () {
it('should call clientCutText with correct Caps data', function () {
let formats = {
0: 2,
@ -5133,7 +5133,7 @@ describe('RFB messages', function () {
});
});
describe('Screen Layout', function () {
describe('Screen layout', function () {
it('should send correct data for screen layout changes', function () {
RFB.messages.setDesktopSize(sock, 12345, 54321, 0x12345678, 0x90abcdef);
let expected =
@ -5155,7 +5155,7 @@ describe('RFB messages', function () {
});
});
describe('Continuous Updates', function () {
describe('Continuous updates', function () {
it('should send correct data for continuous updates configuration', function () {
// FIXME: enable should be boolean
RFB.messages.enableContinuousUpdates(sock, 0, 12345, 54321, 34343, 18181);
@ -5165,7 +5165,7 @@ describe('RFB messages', function () {
});
});
describe('Pixel Format', function () {
describe('Pixel format', function () {
it('should send correct data for normal depth', function () {
RFB.messages.pixelFormat(sock, 24, true);
let expected =

View File

@ -41,7 +41,7 @@ function push32(arr, num) {
num & 0xFF);
}
describe('RRE Decoder', function () {
describe('RRE decoder', function () {
let decoder;
let display;

View File

@ -29,7 +29,7 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
return done;
}
describe('Tight Decoder', function () {
describe('Tight decoder', function () {
let decoder;
let display;

View File

@ -29,7 +29,7 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
return done;
}
describe('TightPng Decoder', function () {
describe('TightPng decoder', function () {
let decoder;
let display;

View File

@ -535,7 +535,7 @@ describe('Websock', function () {
});
});
describe('WebSocket Receiving', function () {
describe('WebSocket receiving', function () {
let sock;
beforeEach(function () {
sock = new Websock();

View File

@ -29,7 +29,7 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
return done;
}
describe('Zlib Decoder', function () {
describe('Zlib decoder', function () {
let decoder;
let display;

View File

@ -29,7 +29,7 @@ function testDecodeRect(decoder, x, y, width, height, data, display, depth) {
return done;
}
describe('ZRLE Decoder', function () {
describe('ZRLE decoder', function () {
let decoder;
let display;

View File

@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>VNC Playback</title>
<title>VNC playback</title>
<script type="module" src="./playback-ui.js"></script>
</head>
<body>

View File

@ -1,7 +1,7 @@
#!/usr/bin/env node
/*
* genkeysymdef: X11 keysymdef.h to JavaScript converter
* Copyright (C) 2018 The noVNC Authors
* Copyright (C) 2018 The noVNC authors
* Licensed under MPL 2.0 (see LICENSE.txt)
*/

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Copyright (C) 2018 The noVNC Authors
# Copyright (C) 2018 The noVNC authors
# Licensed under MPL 2.0 or any later version (see LICENSE.txt)
usage() {
@ -82,7 +82,7 @@ cleanup() {
fi
}
# Process Arguments
# Process arguments
# Arguments that only apply to chrooter itself
while [ "$*" ]; do

View File

@ -4,7 +4,7 @@
<!--
noVNC example: simple example using default UI
Copyright (C) 2019 The noVNC Authors
Copyright (C) 2019 The noVNC authors
noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
@ -108,7 +108,7 @@
</div>
</div>
<!-- noVNC Control Bar -->
<!-- noVNC control bar -->
<div id="noVNC_control_bar_anchor" class="noVNC_vcenter">
<div id="noVNC_control_bar">
@ -123,18 +123,18 @@
<!-- Drag/Pan the viewport -->
<input type="image" alt="Drag" src="app/images/drag.svg"
id="noVNC_view_drag_button" class="noVNC_button noVNC_hidden"
title="Move/Drag Viewport">
title="Move/Drag viewport">
<!--noVNC Touch Device only buttons-->
<!--noVNC touch device only buttons-->
<div id="noVNC_mobile_buttons">
<input type="image" alt="Keyboard" src="app/images/keyboard.svg"
id="noVNC_keyboard_button" class="noVNC_button" title="Show Keyboard">
id="noVNC_keyboard_button" class="noVNC_button" title="Show keyboard">
</div>
<!-- Extra manual keys -->
<input type="image" alt="Extra keys" src="app/images/toggleextrakeys.svg"
id="noVNC_toggle_extra_keys_button" class="noVNC_button"
title="Show Extra Keys">
title="Show extra keys">
<div class="noVNC_vcenter">
<div id="noVNC_modifiers" class="noVNC_panel">
<input type="image" alt="Ctrl" src="app/images/ctrl.svg"
@ -190,9 +190,9 @@
</div>
<!-- Toggle fullscreen -->
<input type="image" alt="Full Screen" src="app/images/fullscreen.svg"
<input type="image" alt="Full screen" src="app/images/fullscreen.svg"
id="noVNC_fullscreen_button" class="noVNC_button noVNC_hidden"
title="Full Screen">
title="Full screen">
<!-- Settings -->
<input type="image" alt="Settings" src="app/images/settings.svg"
@ -205,21 +205,21 @@
</div>
<ul>
<li>
<label><input id="noVNC_setting_shared" type="checkbox"> Shared Mode</label>
<label><input id="noVNC_setting_shared" type="checkbox"> Shared mode</label>
</li>
<li>
<label><input id="noVNC_setting_view_only" type="checkbox"> View Only</label>
<label><input id="noVNC_setting_view_only" type="checkbox"> View only</label>
</li>
<li><hr></li>
<li>
<label><input id="noVNC_setting_view_clip" type="checkbox"> Clip to Window</label>
<label><input id="noVNC_setting_view_clip" type="checkbox"> Clip to window</label>
</li>
<li>
<label for="noVNC_setting_resize">Scaling Mode:</label>
<label for="noVNC_setting_resize">Scaling mode:</label>
<select id="noVNC_setting_resize" name="vncResize">
<option value="off">None</option>
<option value="scale">Local Scaling</option>
<option value="remote">Remote Resizing</option>
<option value="scale">Local scaling</option>
<option value="remote">Remote resizing</option>
</select>
</li>
<li><hr></li>
@ -261,15 +261,15 @@
</li>
<li><hr></li>
<li>
<label><input id="noVNC_setting_reconnect" type="checkbox"> Automatic Reconnect</label>
<label><input id="noVNC_setting_reconnect" type="checkbox"> Automatic reconnect</label>
</li>
<li>
<label for="noVNC_setting_reconnect_delay">Reconnect Delay (ms):</label>
<label for="noVNC_setting_reconnect_delay">Reconnect delay (ms):</label>
<input id="noVNC_setting_reconnect_delay" type="number">
</li>
<li><hr></li>
<li>
<label><input id="noVNC_setting_show_dot" type="checkbox"> Show Dot when No Cursor</label>
<label><input id="noVNC_setting_show_dot" type="checkbox"> Show dot when no cursor</label>
</li>
<li><hr></li>
<!-- Logging selection dropdown -->
@ -290,7 +290,7 @@
</div>
</div>
<!-- Connection Controls -->
<!-- Connection controls -->
<input type="image" alt="Disconnect" src="app/images/disconnect.svg"
id="noVNC_disconnect_button" class="noVNC_button"
title="Disconnect">
@ -305,7 +305,7 @@
</div>
</div>
<!-- Status Dialog -->
<!-- Status dialog -->
<div id="noVNC_status"></div>
<!-- Connect button -->
@ -320,7 +320,7 @@
</div>
</div>
<!-- Server Key Verification Dialog -->
<!-- Server key verification dialog -->
<div class="noVNC_center noVNC_connect_layer">
<div id="noVNC_verify_server_dlg" class="noVNC_panel"><form>
<div class="noVNC_heading">
@ -344,7 +344,7 @@
</form></div>
</div>
<!-- Password Dialog -->
<!-- Password dialog -->
<div class="noVNC_center noVNC_connect_layer">
<div id="noVNC_credentials_dlg" class="noVNC_panel"><form>
<div class="noVNC_heading">
@ -359,12 +359,12 @@
<input id="noVNC_password_input" type="password">
</div>
<div>
<input id="noVNC_credentials_button" type="submit" value="Send Credentials" class="noVNC_submit">
<input id="noVNC_credentials_button" type="submit" value="Send credentials" class="noVNC_submit">
</div>
</form></div>
</div>
<!-- Transition Screens -->
<!-- Transition screens -->
<div id="noVNC_transition">
<div id="noVNC_transition_text"></div>
<div>

View File

@ -7,7 +7,7 @@
This is a self-contained file which doesn't import WebUtil or external CSS.
Copyright (C) 2019 The noVNC Authors
Copyright (C) 2019 The noVNC authors
noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
@ -80,7 +80,7 @@
// When this function is called, the server requires
// credentials to authenticate
function credentialsAreRequired(e) {
const password = prompt("Password Required:");
const password = prompt("Password required:");
rfb.sendCredentials({ password: password });
}