diff --git a/app/styles/base.css b/app/styles/base.css index 3ca9894d..4aa3f1b2 100644 --- a/app/styles/base.css +++ b/app/styles/base.css @@ -631,6 +631,16 @@ select:active { width: 100px; } +/* Version */ + +.noVNC_version_wrapper { + font-size: small; +} + +.noVNC_version { + margin-left: 1rem; +} + /* Connection Controls */ :root:not(.noVNC_connected) #noVNC_disconnect_button { display: none; diff --git a/app/ui.js b/app/ui.js index 55d5cbe0..47589618 100644 --- a/app/ui.js +++ b/app/ui.js @@ -59,6 +59,17 @@ const UI = { // Translate the DOM l10n.translateDOM(); + WebUtil.fetchJSON('../package.json') + .then((packageInfo) => { + Array.from(document.getElementsByClassName('noVNC_version')).forEach(el => el.innerText = packageInfo.version); + }) + .catch(err => { + Log.Error("Couldn't fetch package.json: " + err); + Array.from(document.getElementsByClassName('noVNC_version_wrapper')) + .concat(Array.from(document.getElementsByClassName('noVNC_version_separator'))) + .forEach(el => el.style.display = 'none'); + }); + // Adapt the interface for touch screen devices if (isTouchDevice) { document.documentElement.classList.add("noVNC_touch"); diff --git a/vnc.html b/vnc.html index 212321bd..b98bb6f3 100644 --- a/vnc.html +++ b/vnc.html @@ -259,6 +259,11 @@ +

  • +
  • + Version: + +