feat(dotfiles): Add alacritty configuration
This commit is contained in:
		
							parent
							
								
									8cf6fb0360
								
							
						
					
					
						commit
						b67fca345a
					
				
					 3 changed files with 266 additions and 1 deletions
				
			
		|  | @ -24,5 +24,6 @@ in { | ||||||
|     "tmux.conf".source = "${dotfiles}/tmux.conf"; |     "tmux.conf".source = "${dotfiles}/tmux.conf"; | ||||||
|     "fish/foreign-env/tazjin".source = "${dotfiles}/config.fish"; |     "fish/foreign-env/tazjin".source = "${dotfiles}/config.fish"; | ||||||
|     "rofi.conf".source = "${dotfiles}/rofi.conf"; |     "rofi.conf".source = "${dotfiles}/rofi.conf"; | ||||||
|  |     "alacritty.yml".source = "${dotfiles}/alacritty.yml"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										264
									
								
								dotfiles/alacritty.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										264
									
								
								dotfiles/alacritty.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,264 @@ | ||||||
|  | # Configuration for Alacritty, the GPU enhanced terminal emulator | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Any items in the `env` entry below will be added as | ||||||
|  | # environment variables. Some entries may override variables | ||||||
|  | # set by alacritty it self. | ||||||
|  | env: | ||||||
|  |   # TERM env customization. | ||||||
|  |   # | ||||||
|  |   # If this property is not set, alacritty will set it to xterm-256color. | ||||||
|  |   # | ||||||
|  |   # Note that some xterm terminfo databases don't declare support for italics. | ||||||
|  |   # You can verify this by checking for the presence of `smso` and `sitm` in | ||||||
|  |   # `infocmp xterm-256color`. | ||||||
|  |   TERM: xterm-256color | ||||||
|  | 
 | ||||||
|  | # Window dimensions in character columns and lines | ||||||
|  | # (changes require restart) | ||||||
|  | dimensions: | ||||||
|  |   columns: 80 | ||||||
|  |   lines: 24 | ||||||
|  | 
 | ||||||
|  | # Adds this many blank pixels of padding around the window | ||||||
|  | # Units are physical pixels; this is not DPI aware. | ||||||
|  | # (change requires restart) | ||||||
|  | padding: | ||||||
|  |   x: 2 | ||||||
|  |   y: 2 | ||||||
|  | 
 | ||||||
|  | # The FreeType rasterizer needs to know the device DPI for best results | ||||||
|  | # (changes require restart) | ||||||
|  | dpi: | ||||||
|  |   x: 96.0 | ||||||
|  |   y: 96.0 | ||||||
|  | 
 | ||||||
|  | # Display tabs using this many cells (changes require restart) | ||||||
|  | tabspaces: 4 | ||||||
|  | 
 | ||||||
|  | # When true, bold text is drawn using the bright variant of colors. | ||||||
|  | draw_bold_text_with_bright_colors: true | ||||||
|  | 
 | ||||||
|  | # Font configuration (changes require restart) | ||||||
|  | font: | ||||||
|  |   # The normal (roman) font face to use. | ||||||
|  |   normal: | ||||||
|  |     family: Input Mono | ||||||
|  |   bold: | ||||||
|  |     family: Input Mono | ||||||
|  |   italic: | ||||||
|  |     family: Input Mono | ||||||
|  | 
 | ||||||
|  |   # Point size of the font | ||||||
|  |   size: 11.0 | ||||||
|  | 
 | ||||||
|  |   # Offset is the extra space around each character. offset.y can be thought of | ||||||
|  |   # as modifying the linespacing, and offset.x as modifying the letter spacing. | ||||||
|  |   offset: | ||||||
|  |     x: 0.0 | ||||||
|  |     y: 0.0 | ||||||
|  | 
 | ||||||
|  |   # Glyph offset determines the locations of the glyphs within their cells with | ||||||
|  |   # the default being at the bottom. Increase the x offset to move the glyph to | ||||||
|  |   # the right, increase the y offset to move the glyph upward. | ||||||
|  |   glyph_offset: | ||||||
|  |     x: 0.0 | ||||||
|  |     y: 0.0 | ||||||
|  | 
 | ||||||
|  |   # OS X only: use thin stroke font rendering. Thin strokes are suitable | ||||||
|  |   # for retina displays, but for non-retina you probably want this set to | ||||||
|  |   # false. | ||||||
|  |   use_thin_strokes: true | ||||||
|  | 
 | ||||||
|  | # Should display the render timer | ||||||
|  | render_timer: false | ||||||
|  | 
 | ||||||
|  | # Use custom cursor colors. If true, display the cursor in the cursor.foreground | ||||||
|  | # and cursor.background colors, otherwise invert the colors of the cursor. | ||||||
|  | custom_cursor_colors: false | ||||||
|  | 
 | ||||||
|  | # Colors (Tomorrow Night Bright) | ||||||
|  | colors: | ||||||
|  |   # Default colors | ||||||
|  |   primary: | ||||||
|  |     background: '0x181818' | ||||||
|  |     foreground: '0xe4e4ef' | ||||||
|  | 
 | ||||||
|  |   # Colors the cursor will use if `custom_cursor_colors` is true | ||||||
|  |   cursor: | ||||||
|  |     text: '0x000000' | ||||||
|  |     cursor: '0xf5f5f5' | ||||||
|  | 
 | ||||||
|  |   # Normal colors | ||||||
|  |   normal: | ||||||
|  |     black:   '0x282828' | ||||||
|  |     red:     '0xf43841' | ||||||
|  |     green:   '0x73c936' | ||||||
|  |     yellow:  '0xffdd33' | ||||||
|  |     blue:    '0x96a6c8' | ||||||
|  |     magenta: '0x9e95c7' | ||||||
|  |     cyan:    '0x1fad83' | ||||||
|  |     white:   '0xf5f5f5' | ||||||
|  | 
 | ||||||
|  |   # Bright colors | ||||||
|  |   bright: | ||||||
|  |     black:   '0x484848' | ||||||
|  |     red:     '0xff4f58' | ||||||
|  |     green:   '0x73c936' | ||||||
|  |     yellow:  '0xffdd33' | ||||||
|  |     blue:    '0x5f627f' | ||||||
|  |     magenta: '0x9e95c7' | ||||||
|  |     cyan:    '0x1fad83' | ||||||
|  |     white:   '0xffffff' | ||||||
|  | 
 | ||||||
|  | # Visual Bell | ||||||
|  | # | ||||||
|  | # Any time the BEL code is received, Alacritty "rings" the visual bell. Once | ||||||
|  | # rung, the terminal background will be set to white and transition back to the | ||||||
|  | # default background color. You can control the rate of this transition by | ||||||
|  | # setting the `duration` property (represented in milliseconds). You can also | ||||||
|  | # configure the transition function by setting the `animation` property. | ||||||
|  | # | ||||||
|  | # Possible values for `animation` | ||||||
|  | # `Ease` | ||||||
|  | # `EaseOut` | ||||||
|  | # `EaseOutSine` | ||||||
|  | # `EaseOutQuad` | ||||||
|  | # `EaseOutCubic` | ||||||
|  | # `EaseOutQuart` | ||||||
|  | # `EaseOutQuint` | ||||||
|  | # `EaseOutExpo` | ||||||
|  | # `EaseOutCirc` | ||||||
|  | # `Linear` | ||||||
|  | # | ||||||
|  | # To completely disable the visual bell, set its duration to 0. | ||||||
|  | # | ||||||
|  | visual_bell: | ||||||
|  |   animation: EaseOutExpo | ||||||
|  |   duration: 0 | ||||||
|  | 
 | ||||||
|  | # Background opacity | ||||||
|  | background_opacity: 0.95 | ||||||
|  | 
 | ||||||
|  | # Key bindings | ||||||
|  | # | ||||||
|  | # Each binding is defined as an object with some properties. Most of the | ||||||
|  | # properties are optional. All of the alphabetical keys should have a letter for | ||||||
|  | # the `key` value such as `V`. Function keys are probably what you would expect | ||||||
|  | # as well (F1, F2, ..). The number keys above the main keyboard are encoded as | ||||||
|  | # `Key1`, `Key2`, etc. Keys on the number pad are encoded `Number1`, `Number2`, | ||||||
|  | # etc.  These all match the glutin::VirtualKeyCode variants. | ||||||
|  | # | ||||||
|  | # Possible values for `mods` | ||||||
|  | # `Command`, `Super` refer to the super/command/windows key | ||||||
|  | # `Control` for the control key | ||||||
|  | # `Shift` for the Shift key | ||||||
|  | # `Alt` and `Option` refer to alt/option | ||||||
|  | # | ||||||
|  | # mods may be combined with a `|`. For example, requiring control and shift | ||||||
|  | # looks like: | ||||||
|  | # | ||||||
|  | # mods: Control|Shift | ||||||
|  | # | ||||||
|  | # The parser is currently quite sensitive to whitespace and capitalization - | ||||||
|  | # capitalization must match exactly, and piped items must not have whitespace | ||||||
|  | # around them. | ||||||
|  | # | ||||||
|  | # Either an `action`, `chars`, or `command` field must be present. | ||||||
|  | #   `action` must be one of `Paste`, `PasteSelection`, `Copy`, or `Quit`. | ||||||
|  | #   `chars` writes the specified string every time that binding is activated. | ||||||
|  | #     These should generally be escape sequences, but they can be configured to | ||||||
|  | #     send arbitrary strings of bytes. | ||||||
|  | #   `command` must be a map containing a `program` string, and `args` array of | ||||||
|  | #     strings. For example: | ||||||
|  | #     - { ... , command: { program: "alacritty", args: ["-e", "vttest"] } } | ||||||
|  | # | ||||||
|  | # Want to add a binding (e.g. "PageUp") but are unsure what the X sequence | ||||||
|  | # (e.g. "\x1b[5~") is? Open another terminal (like xterm) without tmux, | ||||||
|  | # then run `showkey -a` to get the sequence associated to a key combination. | ||||||
|  | key_bindings: | ||||||
|  |   - { key: V,        mods: Control|Shift,    action: Paste               } | ||||||
|  |   - { key: C,        mods: Control|Shift,    action: Copy                } | ||||||
|  |   - { key: Q,        mods: Command, action: Quit                         } | ||||||
|  |   - { key: W,        mods: Command, action: Quit                         } | ||||||
|  |   - { key: Insert,   mods: Shift,   action: PasteSelection               } | ||||||
|  |   - { key: Home,                    chars: "\x1bOH",   mode: AppCursor   } | ||||||
|  |   - { key: Home,                    chars: "\x1b[H",   mode: ~AppCursor  } | ||||||
|  |   - { key: End,                     chars: "\x1bOF",   mode: AppCursor   } | ||||||
|  |   - { key: End,                     chars: "\x1b[F",   mode: ~AppCursor  } | ||||||
|  |   - { key: PageUp,   mods: Shift,   chars: "\x1b[5;2~"                   } | ||||||
|  |   - { key: PageUp,   mods: Control, chars: "\x1b[5;5~"                   } | ||||||
|  |   - { key: PageUp,                  chars: "\x1b[5~"                     } | ||||||
|  |   - { key: PageDown, mods: Shift,   chars: "\x1b[6;2~"                   } | ||||||
|  |   - { key: PageDown, mods: Control, chars: "\x1b[6;5~"                   } | ||||||
|  |   - { key: PageDown,                chars: "\x1b[6~"                     } | ||||||
|  |   - { key: Left,     mods: Shift,   chars: "\x1b[1;2D"                   } | ||||||
|  |   - { key: Left,     mods: Control, chars: "\x1b[1;5D"                   } | ||||||
|  |   - { key: Left,     mods: Alt,     chars: "\x1b[1;3D"                   } | ||||||
|  |   - { key: Left,                    chars: "\x1b[D",   mode: ~AppCursor  } | ||||||
|  |   - { key: Left,                    chars: "\x1bOD",   mode: AppCursor   } | ||||||
|  |   - { key: Right,    mods: Shift,   chars: "\x1b[1;2C"                   } | ||||||
|  |   - { key: Right,    mods: Control, chars: "\x1b[1;5C"                   } | ||||||
|  |   - { key: Right,    mods: Alt,     chars: "\x1b[1;3C"                   } | ||||||
|  |   - { key: Right,                   chars: "\x1b[C",   mode: ~AppCursor  } | ||||||
|  |   - { key: Right,                   chars: "\x1bOC",   mode: AppCursor   } | ||||||
|  |   - { key: Up,       mods: Shift,   chars: "\x1b[1;2A"                   } | ||||||
|  |   - { key: Up,       mods: Control, chars: "\x1b[1;5A"                   } | ||||||
|  |   - { key: Up,       mods: Alt,     chars: "\x1b[1;3A"                   } | ||||||
|  |   - { key: Up,                      chars: "\x1b[A",   mode: ~AppCursor  } | ||||||
|  |   - { key: Up,                      chars: "\x1bOA",   mode: AppCursor   } | ||||||
|  |   - { key: Down,     mods: Shift,   chars: "\x1b[1;2B"                   } | ||||||
|  |   - { key: Down,     mods: Control, chars: "\x1b[1;5B"                   } | ||||||
|  |   - { key: Down,     mods: Alt,     chars: "\x1b[1;3B"                   } | ||||||
|  |   - { key: Down,                    chars: "\x1b[B",   mode: ~AppCursor  } | ||||||
|  |   - { key: Down,                    chars: "\x1bOB",   mode: AppCursor   } | ||||||
|  |   - { key: Tab,      mods: Shift,   chars: "\x1b[Z"                      } | ||||||
|  |   - { key: F1,                      chars: "\x1bOP"                      } | ||||||
|  |   - { key: F2,                      chars: "\x1bOQ"                      } | ||||||
|  |   - { key: F3,                      chars: "\x1bOR"                      } | ||||||
|  |   - { key: F4,                      chars: "\x1bOS"                      } | ||||||
|  |   - { key: F5,                      chars: "\x1b[15~"                    } | ||||||
|  |   - { key: F6,                      chars: "\x1b[17~"                    } | ||||||
|  |   - { key: F7,                      chars: "\x1b[18~"                    } | ||||||
|  |   - { key: F8,                      chars: "\x1b[19~"                    } | ||||||
|  |   - { key: F9,                      chars: "\x1b[20~"                    } | ||||||
|  |   - { key: F10,                     chars: "\x1b[21~"                    } | ||||||
|  |   - { key: F11,                     chars: "\x1b[23~"                    } | ||||||
|  |   - { key: F12,                     chars: "\x1b[24~"                    } | ||||||
|  |   - { key: Back,                    chars: "\x7f"                        } | ||||||
|  |   - { key: Back,     mods: Alt,     chars: "\x1b\x7f"                    } | ||||||
|  |   - { key: Insert,                  chars: "\x1b[2~"                     } | ||||||
|  |   - { key: Delete,                  chars: "\x1b[3~"                     } | ||||||
|  | 
 | ||||||
|  | # Mouse bindings | ||||||
|  | # | ||||||
|  | # Currently doesn't support modifiers. Both the `mouse` and `action` fields must | ||||||
|  | # be specified. | ||||||
|  | # | ||||||
|  | # Values for `mouse`: | ||||||
|  | # - Middle | ||||||
|  | # - Left | ||||||
|  | # - Right | ||||||
|  | # - Numeric identifier such as `5` | ||||||
|  | # | ||||||
|  | # Values for `action`: | ||||||
|  | # - Paste | ||||||
|  | # - PasteSelection | ||||||
|  | # - Copy (TODO) | ||||||
|  | mouse_bindings: | ||||||
|  |   - { mouse: Middle, action: PasteSelection } | ||||||
|  | 
 | ||||||
|  | mouse: | ||||||
|  |   double_click: { threshold: 300 } | ||||||
|  |   triple_click: { threshold: 300 } | ||||||
|  | 
 | ||||||
|  | selection: | ||||||
|  |   semantic_escape_chars: ",│`|:\"' ()[]{}<>" | ||||||
|  | 
 | ||||||
|  | hide_cursor_when_typing: false | ||||||
|  | 
 | ||||||
|  | # Live config reload (changes require restart) | ||||||
|  | live_config_reload: true | ||||||
|  | 
 | ||||||
|  | shell: | ||||||
|  |   program: tmux | ||||||
|  | @ -10,7 +10,7 @@ font pango:Input Mono 11 | ||||||
| floating_modifier $mod | floating_modifier $mod | ||||||
| 
 | 
 | ||||||
| # start a terminal | # start a terminal | ||||||
| bindsym $mod+Return exec alacritty | bindsym $mod+Return exec alacritty --config-file /etc/alacritty.yml | ||||||
| 
 | 
 | ||||||
| # start an emacs frame | # start an emacs frame | ||||||
| bindsym $mod+e exec emacsclient -c -n | bindsym $mod+e exec emacsclient -c -n | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue