You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

209 lines
5.3 KiB

10 months ago
  1. /**
  2. * Copyright (c) 2014 The xterm.js authors. All rights reserved.
  3. * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
  4. * https://github.com/chjj/term.js
  5. * @license MIT
  6. *
  7. * Permission is hereby granted, free of charge, to any person obtaining a copy
  8. * of this software and associated documentation files (the "Software"), to deal
  9. * in the Software without restriction, including without limitation the rights
  10. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  11. * copies of the Software, and to permit persons to whom the Software is
  12. * furnished to do so, subject to the following conditions:
  13. *
  14. * The above copyright notice and this permission notice shall be included in
  15. * all copies or substantial portions of the Software.
  16. *
  17. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  18. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  20. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  21. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  22. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  23. * THE SOFTWARE.
  24. *
  25. * Originally forked from (with the author's permission):
  26. * Fabrice Bellard's javascript vt100 for jslinux:
  27. * http://bellard.org/jslinux/
  28. * Copyright (c) 2011 Fabrice Bellard
  29. * The original design remains. The terminal itself
  30. * has been extended to include xterm CSI codes, among
  31. * other features.
  32. */
  33. /**
  34. * Default styles for xterm.js
  35. */
  36. .xterm {
  37. cursor: text;
  38. position: relative;
  39. user-select: none;
  40. -ms-user-select: none;
  41. -webkit-user-select: none;
  42. }
  43. .xterm.focus,
  44. .xterm:focus {
  45. outline: none;
  46. }
  47. .xterm .xterm-helpers {
  48. position: absolute;
  49. top: 0;
  50. /**
  51. * The z-index of the helpers must be higher than the canvases in order for
  52. * IMEs to appear on top.
  53. */
  54. z-index: 5;
  55. }
  56. .xterm .xterm-helper-textarea {
  57. padding: 0;
  58. border: 0;
  59. margin: 0;
  60. /* Move textarea out of the screen to the far left, so that the cursor is not visible */
  61. position: absolute;
  62. opacity: 0;
  63. left: -9999em;
  64. top: 0;
  65. width: 0;
  66. height: 0;
  67. z-index: -5;
  68. /** Prevent wrapping so the IME appears against the textarea at the correct position */
  69. white-space: nowrap;
  70. overflow: hidden;
  71. resize: none;
  72. }
  73. .xterm .composition-view {
  74. /* TODO: Composition position got messed up somewhere */
  75. background: #000;
  76. color: #FFF;
  77. display: none;
  78. position: absolute;
  79. white-space: nowrap;
  80. z-index: 1;
  81. }
  82. .xterm .composition-view.active {
  83. display: block;
  84. }
  85. .xterm .xterm-viewport {
  86. /* On OS X this is required in order for the scroll bar to appear fully opaque */
  87. background-color: #000;
  88. overflow-y: scroll;
  89. cursor: default;
  90. position: absolute;
  91. right: 0;
  92. left: 0;
  93. top: 0;
  94. bottom: 0;
  95. }
  96. .xterm .xterm-screen {
  97. position: relative;
  98. }
  99. .xterm .xterm-screen canvas {
  100. position: absolute;
  101. left: 0;
  102. top: 0;
  103. }
  104. .xterm .xterm-scroll-area {
  105. visibility: hidden;
  106. }
  107. .xterm-char-measure-element {
  108. display: inline-block;
  109. visibility: hidden;
  110. position: absolute;
  111. top: 0;
  112. left: -9999em;
  113. line-height: normal;
  114. }
  115. .xterm.enable-mouse-events {
  116. /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */
  117. cursor: default;
  118. }
  119. .xterm.xterm-cursor-pointer,
  120. .xterm .xterm-cursor-pointer {
  121. cursor: pointer;
  122. }
  123. .xterm.column-select.focus {
  124. /* Column selection mode */
  125. cursor: crosshair;
  126. }
  127. .xterm .xterm-accessibility,
  128. .xterm .xterm-message {
  129. position: absolute;
  130. left: 0;
  131. top: 0;
  132. bottom: 0;
  133. right: 0;
  134. z-index: 10;
  135. color: transparent;
  136. pointer-events: none;
  137. }
  138. .xterm .live-region {
  139. position: absolute;
  140. left: -9999px;
  141. width: 1px;
  142. height: 1px;
  143. overflow: hidden;
  144. }
  145. .xterm-dim {
  146. /* Dim should not apply to background, so the opacity of the foreground color is applied
  147. * explicitly in the generated class and reset to 1 here */
  148. opacity: 1 !important;
  149. }
  150. .xterm-underline-1 { text-decoration: underline; }
  151. .xterm-underline-2 { text-decoration: double underline; }
  152. .xterm-underline-3 { text-decoration: wavy underline; }
  153. .xterm-underline-4 { text-decoration: dotted underline; }
  154. .xterm-underline-5 { text-decoration: dashed underline; }
  155. .xterm-overline {
  156. text-decoration: overline;
  157. }
  158. .xterm-overline.xterm-underline-1 { text-decoration: overline underline; }
  159. .xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }
  160. .xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }
  161. .xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }
  162. .xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }
  163. .xterm-strikethrough {
  164. text-decoration: line-through;
  165. }
  166. .xterm-screen .xterm-decoration-container .xterm-decoration {
  167. z-index: 6;
  168. position: absolute;
  169. }
  170. .xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {
  171. z-index: 7;
  172. }
  173. .xterm-decoration-overview-ruler {
  174. z-index: 8;
  175. position: absolute;
  176. top: 0;
  177. right: 0;
  178. pointer-events: none;
  179. }
  180. .xterm-decoration-top {
  181. z-index: 2;
  182. position: relative;
  183. }