FIX - polskie znaki terminal Obsidian
# Fix: Polskie znaki w terminalu Obsidian (wtyczka Terminal)
**Data:** 20.02.2026
---
## Problem
Polskie znaki (ą, ę, ś, ć, ź, ż, ó, ł, ń) nie działają w terminalu wbudowanym w Obsidian (wtyczka `polyipseity/obsidian-terminal`). Znaki wyświetlają się poprawnie, ale nie da się ich wpisać z klawiatury.
**Przyczyna:** Na macOS polskie znaki wpisuje się przez `Option + litera` (np. Option+A = ą). Wtyczka terminala używa biblioteki xterm.js, która traktuje klawisz `Option` jako `Alt/Meta` do sekwencji terminalowych (np. Alt+B = cofnij o słowo) zamiast przepuszczać go do systemu inputu macOS.
---
## Co NIE zadziałało
1. **Zmiana locale** — ustawienie `LANG=pl_PL.UTF-8` i `LC_ALL=pl_PL.UTF-8` w `~/.zshrc`. Locale było na `C.UTF-8`, zmiana na `pl_PL.UTF-8` nie pomogła (problem nie dotyczy kodowania, tylko przechwytywania klawisza Option)
2. **Zmiana renderera** — przełączenie z `WebGL` na `Canvas` w ustawieniach wtyczki. Bez efektu.
3. **Usunięcie hotkeys Obsidian** — wyczyszczenie skrótów klawiszowych Obsidian. Bez efektu — problem jest w xterm.js, nie w Obsidian.
4. **Ustawienie `macOptionIsMeta: false`** w konfiguracji profilu terminala (`Terminal options > Data`). Bug w wtyczce — ustawienie jest ignorowane mimo poprawnego zapisu w `data.json`.
---
## Co ZADZIAŁAŁO
Zainstalowanie wersji wtyczki z niezmerge'owanego PR #92 od użytkownika `jsade`.
### Kroki:
1. Sklonowanie forka z branchem fixa:
```bash
git clone --branch scandinavic-keyboards-macoptionmeta-fix https://github.com/jsade/obsidian-terminal.git /tmp/obsidian-terminal-fix
```
2. Build z source:
```bash
cd /tmp/obsidian-terminal-fix
npm install
npm run build:force
```
3. Backup oryginalnych plików:
```bash
cp .obsidian/plugins/terminal/main.js .obsidian/plugins/terminal/main.js.backup
cp .obsidian/plugins/terminal/styles.css .obsidian/plugins/terminal/styles.css.backup
```
4. Podmiana plików wtyczki:
```bash
cp /tmp/obsidian-terminal-fix/main.js .obsidian/plugins/terminal/main.js
cp /tmp/obsidian-terminal-fix/styles.css .obsidian/plugins/terminal/styles.css
```
5. Restart Obsidian (Cmd+R lub zamknij/otwórz)
### Co robi fix (PR #92):
- Dodaje `MacOptionKeyAddon` — przechwytuje `Option+key` i wysyła znaki skomponowane przez przeglądarkę bezpośrednio do terminala, omijając zepsuty keyboard handling xterm.js
- Dodaje ustawienie `macOptionKeyPassthrough` (domyślnie włączone) w sekcji Advanced
- Automatycznie ustawia `macOptionIsMeta: false` gdy passthrough jest aktywny
---
## Przywracanie oryginalnej wersji
Gdyby fix powodował problemy:
```bash
cp .obsidian/plugins/terminal/main.js.backup .obsidian/plugins/terminal/main.js
cp .obsidian/plugins/terminal/styles.css.backup .obsidian/plugins/terminal/styles.css
```
I restart Obsidian.
---
## Linki
- PR z fixem: https://github.com/polyipseity/obsidian-terminal/pull/92
- Issue: https://github.com/polyipseity/obsidian-terminal/issues/78
- xterm.js issue: https://github.com/xtermjs/xterm.js/issues/4385
- Wtyczka: https://github.com/polyipseity/obsidian-terminal
---
## Status
PR #92 jest nadal otwarty (20.02.2026). Gdy autor wtyczki zmerguje go do oficjalnej wersji — wystarczy zaktualizować wtyczkę normalnie przez Obsidian i usunąć pliki `.backup`.