switch (key) {
case 'cursorBlink': this.setCursorBlinking(value); break;
case 'cursorStyle':
- // Style 'block' applies with no class
+ this.element.classList.toggle(`xterm-cursor-style-block`, value === 'block');
this.element.classList.toggle(`xterm-cursor-style-underline`, value === 'underline');
this.element.classList.toggle(`xterm-cursor-style-bar`, value === 'bar');
break;
this.element.classList.add('terminal');
this.element.classList.add('xterm');
this.element.classList.add('xterm-theme-' + this.theme);
+ this.element.classList.add(`xterm-cursor-style-${this.options.cursorStyle}`);
this.setCursorBlinking(this.options.cursorBlink);
this.element.setAttribute('tabindex', 0);
this.focus();
}
- on(this.element, 'click', function() {
- var selection = document.getSelection(),
- collapsed = selection.isCollapsed,
- isRange = typeof collapsed == 'boolean' ? !collapsed : selection.type == 'Range';
- if (!isRange) {
- self.focus();
- }
- });
-
// Listen for mouse events and translate
// them into terminal mouse protocols.
this.bindMouse();
}
on(el, 'mousedown', function(ev) {
- // prevent the focus on the textarea from getting lost
- // ensure focus
++
++ // Prevent the focus on the textarea from getting lost
++ // and make sure we get focused on mousedown
+ ev.preventDefault();
+ self.focus();
if (!self.mouseEvents) return;
// send the button
sendButton(ev);
- // ensure focus
- self.focus();
-
// fix for odd bug
//if (self.vt200Mouse && !self.normalMouse) {
if (self.vt200Mouse) {
/**
- * Evaluate if the current erminal is the given argument.
+ * Evaluate if the current terminal is the given argument.
* @param {object} term The terminal to evaluate
*/
Terminal.prototype.is = function(term) {