diff --git a/README.md b/README.md index 7961683..948f9f5 100644 --- a/README.md +++ b/README.md @@ -7,4 +7,5 @@ Tento repozitář obsahuje návody a průvodce pro různé aspekty Arch Linuxu, - [Automatizace aktualizací pomocí skriptů](guides/update-scripts.md) - [Automatické připojení LUKS disku po startu](guides/luks-mount.md) - [Automatické spouštění úloh pomocí Cron](guides/crontab.md) +- [Wezterm terminál](/guides/wezterm.md) diff --git a/guides/wezterm.md b/guides/wezterm.md new file mode 100644 index 0000000..baaa6bd --- /dev/null +++ b/guides/wezterm.md @@ -0,0 +1,163 @@ + +# WezTerm – moderní GPU-akcelerovaný terminál pro Arch Linux + +WezTerm je multiplatformní, velmi rychlý a flexibilní terminál s podporou Lua konfigurace, GPU akcelerací a moderními funkcemi jako taby, panely nebo Wayland. + +--- + +## ✨ Instalace + +```bash +sudo pacman -S wezterm +``` + +--- + +## 📂 Umístění konfiguračního souboru + +WezTerm hledá konfiguraci v následujícím pořadí: + +1. `~/.wezterm.lua` +2. `~/.config/wezterm/wezterm.lua` +3. Přes argument `--config-file` + +Doporučené umístění podle XDG standardu je: + +```bash +~/.config/wezterm/wezterm.lua +``` + +--- + +## 🔧 Příklad praktické konfigurace + +```lua +local wezterm = require("wezterm") + +return { + font = wezterm.font("FiraCode Nerd Font", { weight = "Regular" }), + font_size = 12.0, + color_scheme = "Gruvbox Dark", + + enable_tab_bar = false, + use_fancy_tab_bar = false, + hide_mouse_cursor_when_typing = true, + window_background_opacity = 1.0, + + keys = { + { key = "LeftArrow", mods = "ALT", action = wezterm.action({ ActivatePaneDirection = "Left" }) }, + { key = "RightArrow", mods = "ALT", action = wezterm.action({ ActivatePaneDirection = "Right" }) }, + { key = "UpArrow", mods = "ALT", action = wezterm.action({ ActivatePaneDirection = "Up" }) }, + { key = "DownArrow", mods = "ALT", action = wezterm.action({ ActivatePaneDirection = "Down" }) }, + { key = "d", mods = "CTRL|SHIFT", action = wezterm.action.SplitHorizontal({}) }, + { key = "e", mods = "CTRL|SHIFT", action = wezterm.action.SplitVertical({}) }, + { key = "w", mods = "CTRL|SHIFT", action = wezterm.action({ CloseCurrentPane = { confirm = true } }) }, + { key = "t", mods = "CTRL", action = wezterm.action({ SpawnTab = "DefaultDomain" }) }, + { key = "PageUp", mods = "CTRL", action = wezterm.action({ ActivateTabRelative = -1 }) }, + { key = "PageDown", mods = "CTRL", action = wezterm.action({ ActivateTabRelative = 1 }) }, + }, +} +``` + +--- + +## ⚙️ Multiplexing a panely + +WezTerm podporuje více panelů (splits) i tabů – podobně jako tmux. + +- **Rozdělení horizontálně:** `CTRL + SHIFT + D` +- **Rozdělení vertikálně:** `CTRL + SHIFT + E` +- **Přepínání mezi panely:** `ALT + šipky` +- **Zavření panelu:** `CTRL + SHIFT + W` + +--- + +## 🔐 SSH integrace + +WezTerm má integrovaný SSH klient: + +```bash +wezterm ssh user@host +``` + +Lze také vytvořit profily v Lua konfiguraci: + +```lua +ssh_domains = { + { + name = "server", + remote_address = "user@192.168.1.10", + }, +}, +``` + +--- + +## 🎨 Vlastní barvy + +```lua +colors = { + foreground = "#ebdbb2", + background = "#282828", + cursor_bg = "#ebdbb2", + ansi = { "#282828", "#cc241d", "#98971a", "#d79921", "#458588", "#b16286", "#689d6a", "#a89984" }, + brights = { "#928374", "#fb4934", "#b8bb26", "#fabd2f", "#83a598", "#d3869b", "#8ec07c", "#ebdbb2" }, +} +``` + +--- + +## ⚖️ Integrace s i3 a Wayland + +### i3 + +```text +bindsym $mod+Return exec wezterm +``` + +### Wayland + +```bash +WEZTERM_WAYLAND=1 wezterm +``` + +nebo: + +```bash +export WEZTERM_WAYLAND=1 +``` + +--- + +## 🔍 Tipy pro použití + +- Reload konfigurace: `CTRL + SHIFT + R` +- Barvy: `wezterm ls-colors` +- Kopírování/vkládání: `CTRL + SHIFT + C/V` + +--- + +## 📝 Nastavení Neovimu jako výchozího editoru + +```bash +export EDITOR=nvim +export VISUAL=nvim +``` + +```bash +source ~/.zshrc +echo $EDITOR +``` + +```bash +sudo visudo +# Defaults editor=/usr/bin/nvim +``` + +--- + +## 🔗 Odkazy + +- [Oficiální stránky](https://wezfurlong.org/wezterm) +- [Barevná schémata](https://github.com/wez/wezterm/tree/main/colors) +- [Lua konfigurace](https://wezfurlong.org/wezterm/config/files.html)