software:gui:alacritty
Table of Contents
Very nice terminal
Download
config file example
window: # Window dimensions (changes require restart) # # Number of lines/columns (not pixels) in the terminal. The number of columns # must be at least `2`, while using a value of `0` for columns and lines will # fall back to the window manager's recommended size. dimensions: columns: 200 lines: 50 # Window position (changes require restart) # # Specified in number of pixels. # If the position is not set, the window manager will handle the placement. position: x: 70 y: 70 # Window padding (changes require restart) # # Blank space added around the window in pixels. This padding is scaled # by DPI and the specified value is always added at both opposing sides. #padding: # x: 0 # y: 0 padding: x: 3 y: 3 # Spread additional padding evenly around the terminal content. dynamic_padding: false # Window decorations # # Values for `decorations`: # - full: Borders and title bar # - none: Neither borders nor title bar # # Values for `decorations` (macOS only): # - transparent: Title bar, transparent background and title bar buttons # - buttonless: Title bar, transparent background and no title bar buttons #decorations: none decorations: full scrolling: # Maximum number of lines in the scrollback buffer. # Specifying '0' will disable scrolling. history: 5000 # Font configuration font: # Normal (roman) font face normal: # Font family # # Default: # - (macOS) Menlo # - (Linux/BSD) monospace # - (Windows) Consolas # family: SauceCodePro Nerd Font # family: CodeNewRoman Nerd Font # family: RobotoMono Nerd Font # family: Hack # family: JetBrains Mono # family: UbuntuMono Nerd Font # family: Monofur Nerd Font # family: TerminessTTF Nerd Font family: MesloLGS NF # The `style` can be specified to pick a specific face. style: Regular # Bold font face bold: # Font family # # If the bold family is not specified, it will fall back to the # # If the bold family is not specified, it will fall back to the # value specified for the normal font. # family: SauceCodePro Nerd Font # family: CodeNewRoman Nerd Font # family: RobotoMono Nerd Font # family: Hack # family: JetBrains Mono # family: UbuntuMono Nerd Font # family: Monofur Nerd Font # family: TerminessTTF Nerd Font family: MesloLGS NF # The `style` can be specified to pick a specific face. style: Bold # Italic font face italic: # Font family # # If the italic family is not specified, it will fall back to the # value specified for the normal font. # family: SauceCodePro Nerd Font Mono # family: CodeNewRoman Nerd Font # family: RobotoMono Nerd Font # family: Hack # family: JetBrains Mono # family: UbuntuMono Nerd Font # family: Monofuritalic Nerd Font Mono # family: TerminessTTF Nerd Font family: MesloLGS NF # The `style` can be specified to pick a specific face. style: Italic # Bold italic font face bold_italic: # Font family # # If the bold italic family is not specified, it will fall back to the # value specified for the normal font. # family: SauceCodePro Nerd Font Mono # family: CodeNewRoman Nerd Font # family: RobotoMono Nerd Font # family: Hack # family: JetBrains Mono # family: UbuntuMono Nerd Font # family: Monofuritalic Nerd Font Mono # family: TerminessTTF Nerd Font family: MesloLGS NF # The `style` can be specified to pick a specific face. style: Bold Italic # Point size size: 14.0 # Background opacity # # Window opacity as a floating point number from `0.0` to `1.0`. # The value `0.0` is completely transparent and `1.0` is opaque. # background_opacity: 1.0 # background_opacity: 0.95 #cursor: # Cursor style # # Values for `style`: # - ▇ Block # - _ Underline # - | Beam style: Beam key_bindings: - { key: Return, mods: Command, action: ToggleSimpleFullscreen }
Toggle fullscreen
vi ~/.hammerspoon/init.lua
local spaces = require("hs.spaces") -- https://github.com/asmagill/hs._asm.spaces -- Switch alacritty hs.hotkey.bind({'command'}, 'escape', function () local BUNDLE_ID = 'org.alacritty' -- more accurate to avoid mismatching on browser titles function moveWindow(alacritty, space, mainScreen) -- move to main space local win = nil while win == nil do win = alacritty:mainWindow() end print("win="..tostring(win)) print("space="..tostring(space)) print("screen="..tostring(win:screen())) print("mainScr="..tostring(mainScreen)) if win:isFullScreen() then hs.eventtap.keyStroke('cmd', 'return', 0, alacritty) end winFrame = win:frame() scrFrame = mainScreen:fullFrame() winFrame.w = scrFrame.w winFrame.y = scrFrame.y winFrame.x = scrFrame.x print("winFrame="..tostring(winFrame)) win:setFrame(winFrame, 0) print("win:frame=" .. tostring(win:frame())) spaces.moveWindowToSpace(win, space) if win:isFullScreen() then hs.eventtap.keyStroke('cmd', 'return', 0, alacritty) end win:focus() end local alacritty = hs.application.get(BUNDLE_ID) if alacritty ~= nil and alacritty:isFrontmost() then alacritty:hide() else local space = spaces.activeSpaceOnScreen() local mainScreen = hs.screen.mainScreen() if alacritty == nil and hs.application.launchOrFocusByBundleID(BUNDLE_ID) then local appWatcher = nil print('create app watcher') appWatcher = hs.application.watcher.new(function(name, event, app) print('name='..name) print('event='..event) if event == hs.application.watcher.launched and app:bundleID() == BUNDLE_ID then app:hide() moveWindow(app, space, mainScreen) print("stop watcher") appWatcher:stop() end end) print('start watcher') appWatcher:start() end if alacritty ~= nil then moveWindow(alacritty, space, mainScreen) end end end)
Reference/tips
- increase/deceae size TL;DR; Cmd+“=” /Cmd +“-” Reset: Cmd +0
software/gui/alacritty.txt · Last modified: by warnaud
