Comparing version 5.3.0-beta.31 to 5.3.0-beta.32
{ | ||
"name": "xterm", | ||
"description": "Full xterm terminal, in your browser", | ||
"version": "5.3.0-beta.31", | ||
"version": "5.3.0-beta.32", | ||
"main": "lib/xterm.js", | ||
@@ -6,0 +6,0 @@ "style": "css/xterm.css", |
@@ -200,9 +200,2 @@ /** | ||
styles += | ||
`${this._terminalSelector} .${ROW_CONTAINER_CLASS}:not(.${FOCUS_CLASS}) .${RowCss.CURSOR_CLASS}.${RowCss.CURSOR_STYLE_BLOCK_CLASS} ,` + | ||
`${this._terminalSelector} .${ROW_CONTAINER_CLASS}:not(.${FOCUS_CLASS}) .${RowCss.CURSOR_CLASS}.${RowCss.CURSOR_STYLE_BAR_CLASS} ,` + | ||
`${this._terminalSelector} .${ROW_CONTAINER_CLASS}:not(.${FOCUS_CLASS}) .${RowCss.CURSOR_CLASS}.${RowCss.CURSOR_STYLE_UNDERLINE_CLASS} ` + | ||
`{` + | ||
` outline: 1px solid ${colors.cursor.css};` + | ||
` outline-offset: -1px;` + | ||
`}` + | ||
`${this._terminalSelector} .${ROW_CONTAINER_CLASS}.${FOCUS_CLASS} .${RowCss.CURSOR_CLASS}.${RowCss.CURSOR_BLINK_CLASS}:not(.${RowCss.CURSOR_STYLE_BLOCK_CLASS}) {` + | ||
@@ -214,6 +207,10 @@ ` animation: blink_box_shadow` + `_` + this._terminalClass + ` 1s step-end infinite;` + | ||
`}` + | ||
`${this._terminalSelector} .${ROW_CONTAINER_CLASS}.${FOCUS_CLASS} .${RowCss.CURSOR_CLASS}.${RowCss.CURSOR_STYLE_BLOCK_CLASS} {` + | ||
`${this._terminalSelector} .${ROW_CONTAINER_CLASS} .${RowCss.CURSOR_CLASS}.${RowCss.CURSOR_STYLE_BLOCK_CLASS} {` + | ||
` background-color: ${colors.cursor.css};` + | ||
` color: ${colors.cursorAccent.css};` + | ||
`}` + | ||
`${this._terminalSelector} .${ROW_CONTAINER_CLASS} .${RowCss.CURSOR_CLASS}.${RowCss.CURSOR_STYLE_OUTLINE_CLASS} {` + | ||
` outline: 1px solid ${colors.cursor.css};` + | ||
` outline-offset: -1px;` + | ||
`}` + | ||
`${this._terminalSelector} .${ROW_CONTAINER_CLASS} .${RowCss.CURSOR_CLASS}.${RowCss.CURSOR_STYLE_BAR_CLASS} {` + | ||
@@ -413,2 +410,3 @@ ` box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${colors.cursor.css} inset;` + | ||
const cursorStyle = this._optionsService.rawOptions.cursorStyle; | ||
const cursorInactiveStyle = this._optionsService.rawOptions.cursorInactiveStyle; | ||
@@ -428,2 +426,3 @@ for (let y = start; y <= end; y++) { | ||
cursorStyle, | ||
cursorInactiveStyle, | ||
cursorX, | ||
@@ -481,2 +480,3 @@ cursorBlink, | ||
const cursorStyle = this._optionsService.rawOptions.cursorStyle; | ||
const cursorInactiveStyle = this._optionsService.rawOptions.cursorInactiveStyle; | ||
@@ -497,2 +497,3 @@ // refresh rows within link range | ||
cursorStyle, | ||
cursorInactiveStyle, | ||
cursorX, | ||
@@ -499,0 +500,0 @@ cursorBlink, |
@@ -29,2 +29,3 @@ /** | ||
CURSOR_STYLE_BLOCK_CLASS = 'xterm-cursor-block', | ||
CURSOR_STYLE_OUTLINE_CLASS = 'xterm-cursor-outline', | ||
CURSOR_STYLE_BAR_CLASS = 'xterm-cursor-bar', | ||
@@ -65,2 +66,3 @@ CURSOR_STYLE_UNDERLINE_CLASS = 'xterm-cursor-underline' | ||
cursorStyle: string | undefined, | ||
cursorInactiveStyle: string | undefined, | ||
cursorX: number, | ||
@@ -208,12 +210,33 @@ cursorBlink: boolean, | ||
classes.push(RowCss.CURSOR_CLASS); | ||
if (cursorBlink) { | ||
classes.push(RowCss.CURSOR_BLINK_CLASS); | ||
if (this._coreBrowserService.isFocused) { | ||
if (cursorBlink) { | ||
classes.push(RowCss.CURSOR_BLINK_CLASS); | ||
} | ||
classes.push( | ||
cursorStyle === 'bar' | ||
? RowCss.CURSOR_STYLE_BAR_CLASS | ||
: cursorStyle === 'underline' | ||
? RowCss.CURSOR_STYLE_UNDERLINE_CLASS | ||
: RowCss.CURSOR_STYLE_BLOCK_CLASS | ||
); | ||
} else { | ||
if (cursorInactiveStyle) { | ||
switch (cursorInactiveStyle) { | ||
case 'outline': | ||
classes.push(RowCss.CURSOR_STYLE_OUTLINE_CLASS); | ||
break; | ||
case 'block': | ||
classes.push(RowCss.CURSOR_STYLE_BLOCK_CLASS); | ||
break; | ||
case 'bar': | ||
classes.push(RowCss.CURSOR_STYLE_BAR_CLASS); | ||
break; | ||
case 'underline': | ||
classes.push(RowCss.CURSOR_STYLE_UNDERLINE_CLASS); | ||
break; | ||
default: | ||
break; | ||
} | ||
} | ||
} | ||
classes.push( | ||
cursorStyle === 'bar' | ||
? RowCss.CURSOR_STYLE_BAR_CLASS | ||
: cursorStyle === 'underline' | ||
? RowCss.CURSOR_STYLE_UNDERLINE_CLASS | ||
: RowCss.CURSOR_STYLE_BLOCK_CLASS | ||
); | ||
} | ||
@@ -220,0 +243,0 @@ |
@@ -18,2 +18,3 @@ /** | ||
cursorWidth: 1, | ||
cursorInactiveStyle: 'outline', | ||
customGlyphs: true, | ||
@@ -20,0 +21,0 @@ drawBoldTextInBrightColors: true, |
@@ -8,3 +8,3 @@ /** | ||
import { IBuffer, IBufferSet } from 'common/buffer/Types'; | ||
import { IDecPrivateModes, ICoreMouseEvent, CoreMouseEncoding, ICoreMouseProtocol, CoreMouseEventType, ICharset, IWindowOptions, IModes, IAttributeData, ScrollSource, IDisposable, IColor, CursorStyle, IOscLinkData } from 'common/Types'; | ||
import { IDecPrivateModes, ICoreMouseEvent, CoreMouseEncoding, ICoreMouseProtocol, CoreMouseEventType, ICharset, IWindowOptions, IModes, IAttributeData, ScrollSource, IDisposable, IColor, CursorStyle, CursorInactiveStyle, IOscLinkData } from 'common/Types'; | ||
import { createDecorator } from 'common/services/ServiceRegistry'; | ||
@@ -216,2 +216,3 @@ import { IDecorationOptions, IDecoration, ILinkHandler, IWindowsPty, ILogger } from 'xterm'; | ||
cursorWidth?: number; | ||
cursorInactiveStyle?: CursorInactiveStyle; | ||
customGlyphs?: boolean; | ||
@@ -218,0 +219,0 @@ disableStdin?: boolean; |
@@ -41,2 +41,4 @@ /** | ||
export type CursorInactiveStyle = 'outline' | 'block' | 'bar' | 'underline' | 'none'; | ||
export type XtermListener = (...args: any[]) => void; | ||
@@ -43,0 +45,0 @@ |
@@ -63,3 +63,3 @@ /** | ||
/** | ||
* The style of the cursor. | ||
* The style of the cursor when the terminal is focused. | ||
*/ | ||
@@ -74,2 +74,7 @@ cursorStyle?: 'block' | 'underline' | 'bar'; | ||
/** | ||
* The style of the cursor when the terminal is not focused. | ||
*/ | ||
cursorInactiveStyle?: 'outline' | 'block' | 'bar' | 'underline' | 'none'; | ||
/** | ||
* Whether to draw custom glyphs for block element and box drawing characters instead of using | ||
@@ -76,0 +81,0 @@ * the font. This should typically result in better rendering with continuous lines, even when |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2341316
24457