alacritty.yml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443
  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: xterm-256color
  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: 110
  20. lines: 30
  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: true
  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: dark
  70. scrolling:
  71. # Maximum number of lines in the scrollback buffer.
  72. # Specifying '0' will disable scrolling.
  73. history: 10000
  74. # Scrolling distance multiplier.
  75. multiplier: 3
  76. # Font configuration
  77. font:
  78. normal:
  79. family: Source Code Pro
  80. style: Regular
  81. bold:
  82. family: Source Code Pro
  83. style: Bold
  84. italic:
  85. family: Source Code Pro
  86. style: Italic
  87. bold_italic:
  88. family: Source Code Pro
  89. style: Bold Italic
  90. size: 6
  91. draw_bold_text_with_bright_colors: true
  92. # Colors (Solarized Dark)
  93. colors:
  94. # Default colors
  95. primary:
  96. background: '0x002b36'
  97. foreground: '0xeee8d5'
  98. # Normal colors
  99. normal:
  100. black: '0x073642'
  101. red: '0xdc322f'
  102. green: '0x859900'
  103. yellow: '0xb58900'
  104. blue: '0x268bd2'
  105. magenta: '0xd33682'
  106. cyan: '0x2aa198'
  107. white: '0xeee8d5'
  108. # Bright colors
  109. bright:
  110. black: '0x002b36'
  111. red: '0xcb4b16'
  112. green: '0x586e75'
  113. yellow: '0x657b83'
  114. blue: '0x839496'
  115. magenta: '0x6c71c4'
  116. cyan: '0x93a1a1'
  117. white: '0xfdf6e3'
  118. #indexed_colors: []
  119. # Visual Bell
  120. #
  121. # Any time the BEL code is received, Alacritty "rings" the visual bell. Once
  122. # rung, the terminal background will be set to white and transition back to the
  123. # default background color. You can control the rate of this transition by
  124. # setting the `duration` property (represented in milliseconds). You can also
  125. # configure the transition function by setting the `animation` property.
  126. #
  127. # Values for `animation`:
  128. # - Ease
  129. # - EaseOut
  130. # - EaseOutSine
  131. # - EaseOutQuad
  132. # - EaseOutCubic
  133. # - EaseOutQuart
  134. # - EaseOutQuint
  135. # - EaseOutExpo
  136. # - EaseOutCirc
  137. # - Linear
  138. #
  139. # Specifying a `duration` of `0` will disable the visual bell.
  140. #visual_bell:
  141. # animation: EaseOutExpo
  142. # duration: 0
  143. # color: '#ffffff'
  144. # Background opacity
  145. #
  146. # Window opacity as a floating point number from `0.0` to `1.0`.
  147. # The value `0.0` is completely transparent and `1.0` is opaque.
  148. window_opacity: 0.65
  149. #selection:
  150. #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
  151. # When set to `true`, selected text will be copied to the primary clipboard.
  152. save_to_clipboard: true
  153. # Allow terminal applications to change Alacritty's window title.
  154. window.dynamic_title: true
  155. cursor:
  156. # Cursor style
  157. #
  158. # Values for `style`:
  159. # - ▇ Block
  160. # - _ Underline
  161. # - | Beam
  162. style: Block
  163. # Vi mode cursor style
  164. #
  165. # If the vi mode cursor style is `None` or not specified, it will fall back to
  166. # the style of the active value of the normal cursor.
  167. #
  168. # See `cursor.style` for available options.
  169. #vi_mode_style: None
  170. # If this is `true`, the cursor will be rendered as a hollow box when the
  171. # window is not focused.
  172. #unfocused_hollow: true
  173. # Thickness of the cursor relative to the cell width as floating point number
  174. # from `0.0` to `1.0`.
  175. #thickness: 0.15
  176. # Live config reload (changes require restart)
  177. live_config_reload: true
  178. # Shell
  179. #
  180. # You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
  181. # Entries in `shell.args` are passed unmodified as arguments to the shell.
  182. #
  183. # Default:
  184. # - (macOS) /bin/bash --login
  185. # - (Linux/BSD) user login shell
  186. # - (Windows) powershell
  187. #shell:
  188. # program: /usr/bin/fish
  189. # args:
  190. # - --login
  191. # Startup directory
  192. #
  193. # Directory the shell is started in. If this is unset, or `None`, the working
  194. # directory of the parent process will be used.
  195. #working_directory: None
  196. # WinPTY backend (Windows only)
  197. #
  198. # Alacritty defaults to using the newer ConPTY backend if it is available,
  199. # since it resolves a lot of bugs and is quite a bit faster. If it is not
  200. # available, the the WinPTY backend will be used instead.
  201. #
  202. # Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
  203. # even if the ConPTY backend is available.
  204. #winpty_backend: false
  205. # Send ESC (\x1b) before characters when alt is pressed.
  206. #alt_send_esc: true
  207. mouse:
  208. # Click settings
  209. #
  210. # The `double_click` and `triple_click` settings control the time
  211. # alacritty should wait for accepting multiple clicks as one double
  212. # or triple click.
  213. #double_click: { threshold: 300 }
  214. #triple_click: { threshold: 300 }
  215. # If this is `true`, the cursor is temporarily hidden when typing.
  216. hide_when_typing: true
  217. #url:
  218. # URL launcher
  219. #
  220. # This program is executed when clicking on a text which is recognized as a URL.
  221. # The URL is always added to the command as the last parameter.
  222. #
  223. # When set to `launcher: None`, URL launching will be disabled completely.
  224. #
  225. # Default:
  226. # - (macOS) open
  227. # - (Linux/BSD) xdg-open
  228. # - (Windows) explorer
  229. #launcher:
  230. # program: xdg-open
  231. # args: []
  232. # URL modifiers
  233. #
  234. # These are the modifiers that need to be held down for opening URLs when clicking
  235. # on them. The available modifiers are documented in the key binding section.
  236. #modifiers: None
  237. # Mouse bindings
  238. #
  239. # Mouse bindings are specified as a list of objects, much like the key
  240. # bindings further below.
  241. #
  242. # To trigger mouse bindings when an application running within Alacritty captures the mouse, the
  243. # `Shift` modifier is automatically added as a requirement.
  244. #
  245. # Each mouse binding will specify a:
  246. #
  247. # - `mouse`:
  248. #
  249. # - Middle
  250. # - Left
  251. # - Right
  252. # - Numeric identifier such as `5`
  253. #
  254. # - `action` (see key bindings)
  255. #
  256. # And optionally:
  257. #
  258. # - `mods` (see key bindings)
  259. #mouse_bindings:
  260. # - { mouse: Middle, action: PasteSelection }
  261. # Key bindings
  262. #
  263. # Key bindings are specified as a list of objects. For example, this is the
  264. # default paste binding:
  265. #
  266. # `- { key: V, mods: Control|Shift, action: Paste }`
  267. #
  268. # Each key binding will specify a:
  269. #
  270. # - `key`: Identifier of the key pressed
  271. #
  272. # - A-Z
  273. # - F1-F24
  274. # - Key0-Key9
  275. #
  276. # A full list with available key codes can be found here:
  277. # https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
  278. #
  279. # Instead of using the name of the keys, the `key` field also supports using
  280. # the scancode of the desired key. Scancodes have to be specified as a
  281. # decimal number. This command will allow you to display the hex scancodes
  282. # for certain keys:
  283. #
  284. # `showkey --scancodes`.
  285. #
  286. # Then exactly one of:
  287. #
  288. # - `chars`: Send a byte sequence to the running application
  289. #
  290. # The `chars` field writes the specified string to the terminal. This makes
  291. # it possible to pass escape sequences. To find escape codes for bindings
  292. # like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
  293. # of tmux. Note that applications use terminfo to map escape sequences back
  294. # to keys. It is therefore required to update the terminfo when changing an
  295. # escape sequence.
  296. #
  297. # - `action`: Execute a predefined action
  298. #
  299. # - ToggleViMode
  300. # - Copy
  301. # - Paste
  302. # - PasteSelection
  303. # - IncreaseFontSize
  304. # - DecreaseFontSize
  305. # - ResetFontSize
  306. # - ScrollPageUp
  307. # - ScrollPageDown
  308. # - ScrollLineUp
  309. # - ScrollLineDown
  310. # - ScrollToTop
  311. # - ScrollToBottom
  312. # - ClearHistory
  313. # - Hide
  314. # - Minimize
  315. # - Quit
  316. # - ToggleFullscreen
  317. # - SpawnNewInstance
  318. # - ClearLogNotice
  319. # - ClearSelection
  320. # - ReceiveChar
  321. # - None
  322. #
  323. # (`mode: Vi` only):
  324. # - Open
  325. # - Up
  326. # - Down
  327. # - Left
  328. # - Right
  329. # - First
  330. # - Last
  331. # - FirstOccupied
  332. # - High
  333. # - Middle
  334. # - Low
  335. # - SemanticLeft
  336. # - SemanticRight
  337. # - SemanticLeftEnd
  338. # - SemanticRightEnd
  339. # - WordRight
  340. # - WordLeft
  341. # - WordRightEnd
  342. # - WordLeftEnd
  343. # - Bracket
  344. # - ToggleNormalSelection
  345. # - ToggleLineSelection
  346. # - ToggleBlockSelection
  347. # - ToggleSemanticSelection
  348. #
  349. # (macOS only):
  350. # - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
  351. #
  352. # (Linux/BSD only):
  353. # - CopySelection: Copies into selection buffer
  354. #
  355. # - `command`: Fork and execute a specified command plus arguments
  356. #
  357. # The `command` field must be a map containing a `program` string and an
  358. # `args` array of command line parameter strings. For example:
  359. # `{ program: "alacritty", args: ["-e", "vttest"] }`
  360. #
  361. # And optionally:
  362. #
  363. # - `mods`: Key modifiers to filter binding actions
  364. #
  365. # - Command
  366. # - Control
  367. # - Option
  368. # - Super
  369. # - Shift
  370. # - Alt
  371. #
  372. # Multiple `mods` can be combined using `|` like this:
  373. # `mods: Control|Shift`.
  374. # Whitespace and capitalization are relevant and must match the example.
  375. #
  376. # - `mode`: Indicate a binding for only specific terminal reported modes
  377. #
  378. # This is mainly used to send applications the correct escape sequences
  379. # when in different modes.
  380. #
  381. # - AppCursor
  382. # - AppKeypad
  383. # - Alt
  384. #
  385. # A `~` operator can be used before a mode to apply the binding whenever
  386. # the mode is *not* active, e.g. `~Alt`.
  387. #
  388. # Bindings are always filled by default, but will be replaced when a new
  389. # binding with the same triggers is defined. To unset a default binding, it can
  390. # be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
  391. # a no-op if you do not wish to receive input characters for that binding.
  392. #
  393. # If the same trigger is assigned to multiple actions, all of them are executed
  394. # at once.
  395. key_bindings:
  396. # (Windows, Linux, and BSD only)
  397. - { key: V, mods: Control|Shift, action: Paste }
  398. - { key: C, mods: Control|Shift, action: Copy }
  399. - { key: Insert, mods: Shift, action: PasteSelection }
  400. - { key: Key0, mods: Control, action: ResetFontSize }
  401. - { key: Equals, mods: Control, action: IncreaseFontSize }
  402. - { key: Plus, mods: Control, action: IncreaseFontSize }
  403. - { key: Minus, mods: Control, action: DecreaseFontSize }
  404. - { key: Minus, mods: Control, action: DecreaseFontSize }
  405. #debug:
  406. # Display the time it takes to redraw each frame.
  407. #render_timer: false
  408. # Keep the log file after quitting Alacritty.
  409. #persistent_logging: false
  410. # Log level
  411. #
  412. # Values for `log_level`:
  413. # - None
  414. # - Error
  415. # - Warn
  416. # - Info
  417. # - Debug
  418. # - Trace
  419. #log_level: Warn
  420. # Print all received window events.
  421. #print_events: false