diff --git a/README.md b/README.md index 512f4dce6..583faf7fa 100644 --- a/README.md +++ b/README.md @@ -169,6 +169,7 @@ computational environment for Jupyter, supporting interactive data science and s - [**cPanel & WHM**](https://cpanel.com): The hosting platform of choice. - [**Nutanix**](https://github.com/nutanix): Nutanix Enterprise Cloud uses xterm in the webssh functionality within Nutanix Calm, and is also looking to move our old noserial (termjs) functionality to xterm.js - [**SSH Web Client**](https://github.com/roke22/PHP-SSH2-Web-Client): SSH Web Client with PHP. +- [**Shellvault**](https://www.shellvault.io): The cloud-based SSH terminal you can access from anywhere. [And much more...](https://github.com/xtermjs/xterm.js/network/dependents) diff --git a/src/Terminal.ts b/src/Terminal.ts index 9f800b37c..fadff43de 100644 --- a/src/Terminal.ts +++ b/src/Terminal.ts @@ -504,10 +504,11 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II /** * Binds the desired focus behavior on a given terminal object. */ - private _onTextAreaFocus(): void { + private _onTextAreaFocus(ev: KeyboardEvent): void { if (this.sendFocus) { this.handler(C0.ESC + '[I'); } + this.updateCursorStyle(ev); this.element.classList.add('focus'); this.showCursor(); this.emit('focus'); @@ -680,7 +681,7 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II this.textarea.setAttribute('autocapitalize', 'off'); this.textarea.setAttribute('spellcheck', 'false'); this.textarea.tabIndex = 0; - this.register(addDisposableDomListener(this.textarea, 'focus', () => this._onTextAreaFocus())); + this.register(addDisposableDomListener(this.textarea, 'focus', (ev: KeyboardEvent) => this._onTextAreaFocus(ev))); this.register(addDisposableDomListener(this.textarea, 'blur', () => this._onTextAreaBlur())); this._helperContainer.appendChild(this.textarea);