alacritty.yml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561
  1. # Configuration for Alacritty, the GPU enhanced terminal emulator.
  2. # Any items in the `env` entry below will be added as
  3. # environment variables. Some entries may override variables
  4. # set by alacritty itself.
  5. #env:
  6. # TERM variable
  7. #
  8. # This value is used to set the `$TERM` environment variable for
  9. # each instance of Alacritty. If it is not present, alacritty will
  10. # check the local terminfo database and use `alacritty` if it is
  11. # available, otherwise `xterm-256color` is used.
  12. #TERM: alacritty
  13. #window:
  14. # Window dimensions (changes require restart)
  15. #
  16. # Specified in number of columns/lines, not pixels.
  17. # If both are `0`, this setting is ignored.
  18. #dimensions:
  19. # columns: 0
  20. # lines: 0
  21. # Window position (changes require restart)
  22. #
  23. # Specified in number of pixels.
  24. # If the position is not set, the window manager will handle the placement.
  25. #position:
  26. # x: 0
  27. # y: 0
  28. # Window padding (changes require restart)
  29. #
  30. # Blank space added around the window in pixels. This padding is scaled
  31. # by DPI and the specified value is always added at both opposing sides.
  32. #padding:
  33. # x: 0
  34. # y: 0
  35. # Spread additional padding evenly around the terminal content.
  36. #dynamic_padding: false
  37. # Window decorations
  38. #
  39. # Values for `decorations`:
  40. # - full: Borders and title bar
  41. # - none: Neither borders nor title bar
  42. #
  43. # Values for `decorations` (macOS only):
  44. # - transparent: Title bar, transparent background and title bar buttons
  45. # - buttonless: Title bar, transparent background, but no title bar buttons
  46. #decorations: full
  47. # Startup Mode (changes require restart)
  48. #
  49. # Values for `startup_mode`:
  50. # - Windowed
  51. # - Maximized
  52. # - Fullscreen
  53. #
  54. # Values for `startup_mode` (macOS only):
  55. # - SimpleFullscreen
  56. #startup_mode: Windowed
  57. # Window title
  58. #title: Alacritty
  59. # Window class (Linux/BSD only):
  60. #class:
  61. # Application instance name
  62. #instance: Alacritty
  63. # General application class
  64. #general: Alacritty
  65. # GTK theme variant (Linux/BSD only)
  66. #
  67. # Override the variant of the GTK theme. Commonly supported values are `dark` and `light`.
  68. # Set this to `None` to use the default theme variant.
  69. #gtk_theme_variant: None
  70. #scrolling:
  71. # Maximum number of lines in the scrollback buffer.
  72. # Specifying '0' will disable scrolling.
  73. #history: 10000
  74. # Number of lines the viewport will move for every line scrolled when
  75. # scrollback is enabled (history > 0).
  76. #multiplier: 3
  77. # Font configuration
  78. #font:
  79. # Normal (roman) font face
  80. #normal:
  81. # Font family
  82. #
  83. # Default:
  84. # - (macOS) Menlo
  85. # - (Linux/BSD) monospace
  86. # - (Windows) Consolas
  87. #family: monospace
  88. # The `style` can be specified to pick a specific face.
  89. #style: Regular
  90. # Bold font face
  91. #bold:
  92. # Font family
  93. #
  94. # If the bold family is not specified, it will fall back to the
  95. # value specified for the normal font.
  96. #family: monospace
  97. # The `style` can be specified to pick a specific face.
  98. #style: Bold
  99. # Italic font face
  100. #italic:
  101. # Font family
  102. #
  103. # If the italic family is not specified, it will fall back to the
  104. # value specified for the normal font.
  105. #family: monospace
  106. # The `style` can be specified to pick a specific face.
  107. #style: Italic
  108. # Bold italic font face
  109. #bold_italic:
  110. # Font family
  111. #
  112. # If the bold italic family is not specified, it will fall back to the
  113. # value specified for the normal font.
  114. #family: monospace
  115. # The `style` can be specified to pick a specific face.
  116. #style: Bold Italic
  117. # Point size
  118. #size: 11.0
  119. # Offset is the extra space around each character. `offset.y` can be thought of
  120. # as modifying the line spacing, and `offset.x` as modifying the letter spacing.
  121. #offset:
  122. # x: 0
  123. # y: 0
  124. # Glyph offset determines the locations of the glyphs within their cells with
  125. # the default being at the bottom. Increasing `x` moves the glyph to the right,
  126. # increasing `y` moves the glyph upwards.
  127. #glyph_offset:
  128. # x: 0
  129. # y: 0
  130. # Thin stroke font rendering (macOS only)
  131. #
  132. # Thin strokes are suitable for retina displays, but for non-retina screens
  133. # it is recommended to set `use_thin_strokes` to `false`
  134. #
  135. # macOS >= 10.14.x:
  136. #
  137. # If the font quality on non-retina display looks bad then set
  138. # `use_thin_strokes` to `true` and enable font smoothing by running the
  139. # following command:
  140. # `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
  141. #
  142. # This is a global setting and will require a log out or restart to take
  143. # effect.
  144. #use_thin_strokes: true
  145. # If `true`, bold text is drawn using the bright color variants.
  146. #draw_bold_text_with_bright_colors: false
  147. # Colors (Tomorrow Night Bright)
  148. #colors:
  149. # Default colors
  150. #primary:
  151. # background: '#000000'
  152. # foreground: '#eaeaea'
  153. # Bright and dim foreground colors
  154. #
  155. # The dimmed foreground color is calculated automatically if it is not present.
  156. # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
  157. # is `false`, the normal foreground color will be used.
  158. #dim_foreground: '#9a9a9a'
  159. #bright_foreground: '#ffffff'
  160. # Cursor colors
  161. #
  162. # Colors which should be used to draw the terminal cursor. If these are unset,
  163. # the cursor color will be the inverse of the cell color.
  164. #cursor:
  165. # text: '#000000'
  166. # cursor: '#ffffff'
  167. # Selection colors
  168. #
  169. # Colors which should be used to draw the selection area. If selection
  170. # background is unset, selection color will be the inverse of the cell colors.
  171. # If only text is unset the cell text color will remain the same.
  172. #selection:
  173. # text: '#eaeaea'
  174. # background: '#404040'
  175. # Normal colors
  176. #normal:
  177. # black: '#000000'
  178. # red: '#d54e53'
  179. # green: '#b9ca4a'
  180. # yellow: '#e6c547'
  181. # blue: '#7aa6da'
  182. # magenta: '#c397d8'
  183. # cyan: '#70c0ba'
  184. # white: '#eaeaea'
  185. # Bright colors
  186. #bright:
  187. # black: '#666666'
  188. # red: '#ff3334'
  189. # green: '#9ec400'
  190. # yellow: '#e7c547'
  191. # blue: '#7aa6da'
  192. # magenta: '#b77ee0'
  193. # cyan: '#54ced6'
  194. # white: '#ffffff'
  195. # Dim colors
  196. #
  197. # If the dim colors are not set, they will be calculated automatically based
  198. # on the `normal` colors.
  199. #dim:
  200. # black: '#000000'
  201. # red: '#8c3336'
  202. # green: '#7a8530'
  203. # yellow: '#97822e'
  204. # blue: '#506d8f'
  205. # magenta: '#80638e'
  206. # cyan: '#497e7a'
  207. # white: '#9a9a9a'
  208. # Indexed Colors
  209. #
  210. # The indexed colors include all colors from 16 to 256.
  211. # When these are not set, they're filled with sensible defaults.
  212. #
  213. # Example:
  214. # `- { index: 16, color: '#ff00ff' }`
  215. #
  216. #indexed_colors: []
  217. # Visual Bell
  218. #
  219. # Any time the BEL code is received, Alacritty "rings" the visual bell. Once
  220. # rung, the terminal background will be set to white and transition back to the
  221. # default background color. You can control the rate of this transition by
  222. # setting the `duration` property (represented in milliseconds). You can also
  223. # configure the transition function by setting the `animation` property.
  224. #
  225. # Values for `animation`:
  226. # - Ease
  227. # - EaseOut
  228. # - EaseOutSine
  229. # - EaseOutQuad
  230. # - EaseOutCubic
  231. # - EaseOutQuart
  232. # - EaseOutQuint
  233. # - EaseOutExpo
  234. # - EaseOutCirc
  235. # - Linear
  236. #
  237. # Specifying a `duration` of `0` will disable the visual bell.
  238. #visual_bell:
  239. # animation: EaseOutExpo
  240. # duration: 0
  241. # color: '#ffffff'
  242. # Background opacity
  243. #
  244. # Window opacity as a floating point number from `0.0` to `1.0`.
  245. # The value `0.0` is completely transparent and `1.0` is opaque.
  246. #background_opacity: 1.0
  247. #selection:
  248. #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
  249. # When set to `true`, selected text will be copied to the primary clipboard.
  250. #save_to_clipboard: false
  251. # Allow terminal applications to change Alacritty's window title.
  252. #dynamic_title: true
  253. #cursor:
  254. # Cursor style
  255. #
  256. # Values for `style`:
  257. # - ▇ Block
  258. # - _ Underline
  259. # - | Beam
  260. #style: Block
  261. # If this is `true`, the cursor will be rendered as a hollow box when the
  262. # window is not focused.
  263. #unfocused_hollow: true
  264. # Live config reload (changes require restart)
  265. #live_config_reload: true
  266. # Shell
  267. #
  268. # You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
  269. # Entries in `shell.args` are passed unmodified as arguments to the shell.
  270. #
  271. # Default:
  272. # - (macOS) /bin/bash --login
  273. # - (Linux/BSD) user login shell
  274. # - (Windows) powershell
  275. #shell:
  276. # program: /bin/bash
  277. # args:
  278. # - --login
  279. # Startup directory
  280. #
  281. # Directory the shell is started in. If this is unset, or `None`, the working
  282. # directory of the parent process will be used.
  283. #working_directory: None
  284. # WinPTY backend (Windows only)
  285. #
  286. # Alacritty defaults to using the newer ConPTY backend if it is available,
  287. # since it resolves a lot of bugs and is quite a bit faster. If it is not
  288. # available, the the WinPTY backend will be used instead.
  289. #
  290. # Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
  291. # even if the ConPTY backend is available.
  292. #winpty_backend: false
  293. # Send ESC (\x1b) before characters when alt is pressed.
  294. #alt_send_esc: true
  295. #mouse:
  296. # Click settings
  297. #
  298. # The `double_click` and `triple_click` settings control the time
  299. # alacritty should wait for accepting multiple clicks as one double
  300. # or triple click.
  301. #double_click: { threshold: 300 }
  302. #triple_click: { threshold: 300 }
  303. # If this is `true`, the cursor is temporarily hidden when typing.
  304. #hide_when_typing: false
  305. #url:
  306. # URL launcher
  307. #
  308. # This program is executed when clicking on a text which is recognized as a URL.
  309. # The URL is always added to the command as the last parameter.
  310. #
  311. # When set to `None`, URL launching will be disabled completely.
  312. #
  313. # Default:
  314. # - (macOS) open
  315. # - (Linux/BSD) xdg-open
  316. # - (Windows) explorer
  317. #launcher:
  318. # program: xdg-open
  319. # args: []
  320. # URL modifiers
  321. #
  322. # These are the modifiers that need to be held down for opening URLs when clicking
  323. # on them. The available modifiers are documented in the key binding section.
  324. #modifiers: None
  325. # Mouse bindings
  326. #
  327. # Mouse bindings are specified as a list of objects, much like the key
  328. # bindings further below.
  329. #
  330. # To trigger mouse bindings when an application running within Alacritty captures the mouse, the
  331. # `Shift` modifier is automatically added as a requirement.
  332. #
  333. # Each mouse binding will specify a:
  334. #
  335. # - `mouse`:
  336. #
  337. # - Middle
  338. # - Left
  339. # - Right
  340. # - Numeric identifier such as `5`
  341. #
  342. # - `action` (see key bindings)
  343. #
  344. # And optionally:
  345. #
  346. # - `mods` (see key bindings)
  347. #mouse_bindings:
  348. # - { mouse: Middle, action: PasteSelection }
  349. # Key bindings
  350. #
  351. # Key bindings are specified as a list of objects. For example, this is the
  352. # default paste binding:
  353. #
  354. # `- { key: V, mods: Control|Shift, action: Paste }`
  355. #
  356. # Each key binding will specify a:
  357. #
  358. # - `key`: Identifier of the key pressed
  359. #
  360. # - A-Z
  361. # - F1-F24
  362. # - Key0-Key9
  363. #
  364. # A full list with available key codes can be found here:
  365. # https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
  366. #
  367. # Instead of using the name of the keys, the `key` field also supports using
  368. # the scancode of the desired key. Scancodes have to be specified as a
  369. # decimal number. This command will allow you to display the hex scancodes
  370. # for certain keys:
  371. #
  372. # `showkey --scancodes`.
  373. #
  374. # Then exactly one of:
  375. #
  376. # - `chars`: Send a byte sequence to the running application
  377. #
  378. # The `chars` field writes the specified string to the terminal. This makes
  379. # it possible to pass escape sequences. To find escape codes for bindings
  380. # like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
  381. # of tmux. Note that applications use terminfo to map escape sequences back
  382. # to keys. It is therefore required to update the terminfo when changing an
  383. # escape sequence.
  384. #
  385. # - `action`: Execute a predefined action
  386. #
  387. # - Copy
  388. # - Paste
  389. # - PasteSelection
  390. # - IncreaseFontSize
  391. # - DecreaseFontSize
  392. # - ResetFontSize
  393. # - ScrollPageUp
  394. # - ScrollPageDown
  395. # - ScrollLineUp
  396. # - ScrollLineDown
  397. # - ScrollToTop
  398. # - ScrollToBottom
  399. # - ClearHistory
  400. # - Hide
  401. # - Minimize
  402. # - Quit
  403. # - ToggleFullscreen
  404. # - SpawnNewInstance
  405. # - ClearLogNotice
  406. # - ReceiveChar
  407. # - None
  408. #
  409. # (macOS only):
  410. # - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
  411. #
  412. # - `command`: Fork and execute a specified command plus arguments
  413. #
  414. # The `command` field must be a map containing a `program` string and an
  415. # `args` array of command line parameter strings. For example:
  416. # `{ program: "alacritty", args: ["-e", "vttest"] }`
  417. #
  418. # And optionally:
  419. #
  420. # - `mods`: Key modifiers to filter binding actions
  421. #
  422. # - Command
  423. # - Control
  424. # - Option
  425. # - Super
  426. # - Shift
  427. # - Alt
  428. #
  429. # Multiple `mods` can be combined using `|` like this:
  430. # `mods: Control|Shift`.
  431. # Whitespace and capitalization are relevant and must match the example.
  432. #
  433. # - `mode`: Indicate a binding for only specific terminal reported modes
  434. #
  435. # This is mainly used to send applications the correct escape sequences
  436. # when in different modes.
  437. #
  438. # - AppCursor
  439. # - AppKeypad
  440. # - Alt
  441. #
  442. # A `~` operator can be used before a mode to apply the binding whenever
  443. # the mode is *not* active, e.g. `~Alt`.
  444. #
  445. # Bindings are always filled by default, but will be replaced when a new
  446. # binding with the same triggers is defined. To unset a default binding, it can
  447. # be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
  448. # a no-op if you do not wish to receive input characters for that binding.
  449. #
  450. # If the same trigger is assigned to multiple actions, all of them are executed
  451. # at once.
  452. #key_bindings:
  453. # (Windows, Linux, and BSD only)
  454. #- { key: V, mods: Control|Shift, action: Paste }
  455. #- { key: C, mods: Control|Shift, action: Copy }
  456. #- { key: Insert, mods: Shift, action: PasteSelection }
  457. #- { key: Key0, mods: Control, action: ResetFontSize }
  458. #- { key: Equals, mods: Control, action: IncreaseFontSize }
  459. #- { key: Add, mods: Control, action: IncreaseFontSize }
  460. #- { key: Subtract, mods: Control, action: DecreaseFontSize }
  461. #- { key: Minus, mods: Control, action: DecreaseFontSize }
  462. # (Windows only)
  463. #- { key: Return, mods: Alt, action: ToggleFullscreen }
  464. # (macOS only)
  465. #- { key: Key0, mods: Command, action: ResetFontSize }
  466. #- { key: Equals, mods: Command, action: IncreaseFontSize }
  467. #- { key: Add, mods: Command, action: IncreaseFontSize }
  468. #- { key: Minus, mods: Command, action: DecreaseFontSize }
  469. #- { key: K, mods: Command, action: ClearHistory }
  470. #- { key: K, mods: Command, chars: "\x0c" }
  471. #- { key: V, mods: Command, action: Paste }
  472. #- { key: C, mods: Command, action: Copy }
  473. #- { key: H, mods: Command, action: Hide }
  474. #- { key: M, mods: Command, action: Minimize }
  475. #- { key: Q, mods: Command, action: Quit }
  476. #- { key: W, mods: Command, action: Quit }
  477. #- { key: F, mods: Command|Control, action: ToggleFullscreen }
  478. #- { key: Paste, action: Paste }
  479. #- { key: Copy, action: Copy }
  480. #- { key: L, mods: Control, action: ClearLogNotice }
  481. #- { key: L, mods: Control, chars: "\x0c" }
  482. #- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
  483. #- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
  484. #- { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
  485. #- { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }
  486. #debug:
  487. # Display the time it takes to redraw each frame.
  488. #render_timer: false
  489. # Keep the log file after quitting Alacritty.
  490. #persistent_logging: false
  491. # Log level
  492. #
  493. # Values for `log_level`:
  494. # - None
  495. # - Error
  496. # - Warn
  497. # - Info
  498. # - Debug
  499. # - Trace
  500. #log_level: Warn
  501. # Print all received window events.
  502. #print_events: false