Setup and use Alacritty on Fedora
I am trying to use Sway window manager on Fedora, stopping the i3 window manager.
Here is a Sway installation guide on Fedora. And after installing the Sway, I see the terminal emulator Alacritty is used as the window manager's default terminal. Seeing the Youtube videos about Alacritty, it looks the terminal is one of the best and fastest terminals. So, I decided to practice before moving to Sway first.
On Fedora 35, the installation is simple.
Install
$ sudo dnf install alacritty $ rpm -q alacritty alacritty-0.9.0-1.fc35.x86_64
Edit config file
Checking the Alacritty's GitHub repository. The config file is alacritty.yml
.
I see the config file is on the following path.
$ rpm -ql alacritty | grep yml /usr/share/alacritty/alacritty.yml
Edit the config file.
$ mkdir .config/alacritty $ cp -p /usr/share/alacritty/alacritty.yml .config/alacritty/ $ vi .config/alacritty/alacritty.yml
I referred mainly ArchWiki Alacritty. The terminal has interesting features: VI mode: to copy & past from keyboards without mouse.
On the copy and paste on the terminal, I did set like this.
- { key: V, mods: Alt, action: Paste } - { key: C, mods: Alt, action: Copy }
I saw the "Shift+Key6"(="^") and "Shift+Key4"(="$") don't work on the VI mode. However the issue ticket Keybinding doesn't work (Shift + Key4) helped me.
Here is the key log by pressing "Left Shift+Key6". The left shift's key code is "42", and the "6"' key's key code is "7".
$ alacritty --print-events | grep "WindowEvent.*KeyboardInput" code: 42, state: Pressed, virtual_keycode: Some(LShift), modifiers: SHIFT }, is_synthetic: false } } [2021-12-25 22:05:09.011835103] [INFO ] [alacritty] glutin event: WindowEvent { window_id: WindowId(X(WindowId(27262980))), event: KeyboardInput { device_id: DeviceId(X(DeviceId(3))), input: KeyboardInput { scancode: 7, state: Pressed, virtual_keycode: None, modifiers: SHIFT }, is_synthetic: false } } [2021-12-25 22:05:09.138091554] [INFO ] [alacritty] glutin event: WindowEvent { window_id: WindowId(X(WindowId(27262980))), event: KeyboardInput { device_id: DeviceId(X(DeviceId(3))), input: KeyboardInput { scancode: 7, state: Released, virtual_keycode: None, modifiers: SHIFT }, is_synthetic: false } } [2021-12-25 22:05:09.333081717] [INFO ] [alacritty] glutin event: WindowEvent { window_id: WindowId(X(WindowId(27262980))), event: KeyboardInput { device_id: DeviceId(X(DeviceId(3))), input: KeyboardInput { scancode: 42, state: Released, virtual_keycode: Some(LShift), modifiers: (empty) }, is_synthetic: false } }
Here is the key log by pressing "Right Shift+Key4". The right shift's key code is 54, and the "4"'s key's key code is "5".
$ alacritty --print-events | grep "WindowEvent.*KeyboardInput" [2021-12-25 22:01:40.716750961] [INFO ] [alacritty] glutin event: WindowEvent { window_id: WindowId(X(WindowId(37748740))), event: KeyboardInput { device_id: DeviceId(X(DeviceId(3))), input: KeyboardInput { scancode: 54, state: Pressed, virtual_keycode: Some(RShift), modifiers: SHIFT }, is_synthetic: false } } [2021-12-25 22:01:41.435884335] [INFO ] [alacritty] glutin event: WindowEvent { window_id: WindowId(X(WindowId(37748740))), event: KeyboardInput { device_id: DeviceId(X(DeviceId(3))), input: KeyboardInput { scancode: 5, state: Pressed, virtual_keycode: None, modifiers: SHIFT }, is_synthetic: false } } [2021-12-25 22:01:41.569941439] [INFO ] [alacritty] glutin event: WindowEvent { window_id: WindowId(X(WindowId(37748740))), event: KeyboardInput { device_id: DeviceId(X(DeviceId(3))), input: KeyboardInput { scancode: 5, state: Released, virtual_keycode: None, modifiers: SHIFT }, is_synthetic: false } } [2021-12-25 22:01:41.693722274] [INFO ] [alacritty] glutin event: WindowEvent { window_id: WindowId(X(WindowId(37748740))), event: KeyboardInput { device_id: DeviceId(X(DeviceId(3))), input: KeyboardInput { scancode: 54, state: Released, virtual_keycode: Some(RShift), modifiers: (empty) }, is_synthetic: false } }
So, the setting is like this my environment. (ThinkPad X1 Carbon).
- { key: 7, mods: Shift, mode: Vi|~Search, action: First } - { key: 5, mods: Shift, mode: Vi|~Search, action: Last }
Measure the performance
Opening both alacritty
and terminator
on the left and right side on i3 window manager, then run time tree ~
one by one. I referred this youtube video Switching To The Alacritty Terminal Emulator - DistroTube.
On the terminal alacritty
, here is the result.
$ time tree ~ ... real 0m7.001s user 0m3.662s sys 0m3.263s
On the terminal terminator
, here is the result.
$ time tree ~ ... real 0m8.981s user 0m3.528s sys 0m3.219s
The alacritty
is a little bit faster than terminator
.