はじめに 道具を自作したい、それは人類の根源的な欲求の一つです。もちろんターミナルエミュレータも例外ではありません。この記事ではiTerm2的なターミナルエミュレーターのアプリ(以降はターミナルと省略)の作り方を説明します。 完成したターミナル この記事は前提知識なしで読み進められるように考慮しています。安心して読み進めてください。そして、この記事を読み終える頃には上のgif画像のようなターミナルが自作できるようになります。すでに擬似端末についての知識があり、実装手順のみ知りたい場合は「SwiftUIによるアプリの実装」まで読み飛ばしてください。 ※私は視覚に障害があるためVoiceOverを利用しています。上記のgif画像には画面の左下に音声読み上げのキャプションパネルが映り込んでいるかと思います。その点は気にしないでください。 擬似端末(pseudo terminal)について まずは
![はじめての自作ターミナル(macOS編)](https://cdn-ak-scissors.b.st-hatena.com/image/square/88cda70114a37f3f27612bbe85efe86939f80c15/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--HklOQztQ--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E3%252581%2525AF%2525E3%252581%252598%2525E3%252582%252581%2525E3%252581%2525A6%2525E3%252581%2525AE%2525E8%252587%2525AA%2525E4%2525BD%25259C%2525E3%252582%2525BF%2525E3%252583%2525BC%2525E3%252583%25259F%2525E3%252583%25258A%2525E3%252583%2525AB%2525EF%2525BC%252588macOS%2525E7%2525B7%2525A8%2525EF%2525BC%252589%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3AYoshiyuki%252520Koyanagi%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2luT1BUc1lmTWF3NkFTeUViN24wS2cza184NktOcDh0WUtIbGh0PXM5Ni1j%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)