[[Ghostty]]のv1.2.0がリリースされたのでバージョンアップしてみる。
## 環境
| 対象 | バージョン |
| ----------- | ----- |
| [[macOS]] | 15.7 |
| [[Ghostty]] | 1.2.0 |
## バージョンアップ
```console
brew update ghostty
```
```console
$ ghostty --version
Ghostty 1.2.0
Version
- version: 1.2.0
- channel: stable
Build Config
- Zig version : 0.14.1
- build mode : builtin.OptimizeMode.ReleaseFast
- app runtime : apprt.Runtime.none
- font engine : font.main.Backend.coretext
- renderer : renderer.generic.Renderer(renderer.Metal)
- libxev : kqueue
```
## 新機能の確認
公式のリリースノートを確認していく。気になるものだけピックアップ。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://ghostty.org/favicon-32.png" />
<span class="link-card-v2-site-name">Ghostty</span>
</div>
<div class="link-card-v2-title">
1.2.0 - Release Notes
</div>
<div class="link-card-v2-content">
Release notes for Ghostty 1.2.0, released on September 15, 2025.
</div>
<img class="link-card-v2-image" src="https://ghostty.org/social-share-card.jpg" />
<a href="https://ghostty.org/docs/install/release-notes/1-2-0"></a>
</div>
### Command Palette
https://ghostty.org/docs/install/release-notes/1-2-0#command-palette
`cmd+shift+p` でコマンドパレットが使えるようになった。
ただ、今のところコマンドパレットから実行したいコマンドは特になさそう。利用例としてはタブ移動が紹介されていたが、その場合は[[ポインティングデバイス]]経由でいいかなと。
> For example, I personally find myself using the `move_tab` action via the command palette frequently, but not frequently enough to justify binding it.
### SSH Improvements (Work-in-Progress)
https://ghostty.org/docs/install/release-notes/1-2-0#ssh-improvements-(work-in-progress)
[[Ghostty]]で[[SSH]]したときに[[terminfo]]とかをいい感じにしてくれるっぽい。機会が少ないので今はスルー。頭の片隅には入れておく。
### Custom Cursor Shaders
https://ghostty.org/docs/install/release-notes/1-2-0#custom-cursor-shaders
カーソルのグラフィックス表現を変更できるものという理解。紹介されていたリンクの [`cursor_blaze.glsl`](https://raw.githubusercontent.com/hackr-sh/ghostty-shaders/refs/heads/main/cursor_blaze.glsl) を試しに入れてみた。
`config` と同じ階層に `shaders` ディレクトリを作成し、`cursor_blaze.glsl` を放り込む。そして `config` に以下の1行を追加。
```
custom-shader = ./shaders/cursor_blaze.glsl
```
`custom-shader` コマンドのドキュメント。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://ghostty.org/favicon-32.png" />
<span class="link-card-v2-site-name">Ghostty</span>
</div>
<div class="link-card-v2-title">
Option Reference - Configuration
</div>
<div class="link-card-v2-content">
Reference of all Ghostty configuration options.
</div>
<img class="link-card-v2-image" src="https://ghostty.org/social-share-card.jpg" />
<a href="https://ghostty.org/docs/config/reference#custom-shader"></a>
</div>
以下のサイトが参考になった。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://ktkr3d.github.io/images/favicon.png" />
<span class="link-card-v2-site-name">Memorandum!</span>
</div>
<div class="link-card-v2-title">
Ghostty Shaders
</div>
<div class="link-card-v2-content">
ターミナルエミュレータGhosttyのシェーダ機能を試してみました。 以下のサイトのコードがほぼそのまま利用できました。残念ながらテクスチャを利用するコードは使えませんでした。https://www.shadertoy.co ...
</div>
<img class="link-card-v2-image" src="https://ktkr3d.github.io/images/ghostty_shaders.png" />
<a href="https://ktkr3d.github.io/2025/03/14/Ghostty-Shaders/index.html"></a>
</div>
> [!thinking]
> もっと目に優しい表現にしようと色々試行錯誤したが、目立たなくするとそれはそれで余計に気になってストレスを感じたので、カーソルシェードを使うのであればデフォルトの色合いや設定が一番だなと思った。
>
> 目が疲れたり集中力が低下するので消す未来が見えているが、ためしに1週間くらい使ってみる。せっかくオシャレなことができるようになったことだし。
> [!add] #2025/09/22 追記
> 使い始めて2日で目に深刻なダメージが見られたので利用を停止した。
### Terminal Background Images
背景画像が設定できるようになった。実はnightly版で既に本機能を導入していたが、結局設定しなくなってしまった... (なんだかんだ邪魔だなと)
以前調べた方にv1.2.0で解決したことを追記しておく。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" />
<span class="link-card-v2-site-name">Minerva</span>
</div>
<div class="link-card-v2-title">
📝Ghosttyで背景画像を設定したい
</div>
<div class="link-card-v2-content">Ghosttyでターミナルの背景画像設定は、macOS 15.4.1・Ghostty 1.1.3環境では未対応であったが、OpenGL・Metal向けに開発が進み、v1.2.0で正式対応された。背景画像 設定方法 Ghostty macOS Metal OpenGL。</div>
<img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/troubleshooting.webp" />
<a data-href="📝Ghosttyで背景画像を設定したい" class="internal-link"></a>
</div>
%%[[📝Ghosttyで背景画像を設定したい]]%%
### macOS: Undo/Redo Close
https://ghostty.org/docs/install/release-notes/1-2-0#macos:-undoredo-close
`Cmd+z` と `Cmd+Shift+Z` で Undo/Redo ができるようになった。対象動作としては、タブのクローズなどが挙げられる。
自分の場合は今まで `exit` でターミナル閉じるようにしていたけど、Undoしたい場面をちょいちょい見かけることになったら、閉じる方法をコマンドの方に切り替えてもいいかもしれない。
なお、Undoの有用は `undo-timeout` で設定した秒数(default: 5)なので、間違えて消しちゃった場合のみ有効となる。
### Full Changelog
その他、すべての修正からピックアップ
https://ghostty.org/docs/install/release-notes/1-2-0#full-changelog
#### タブ名の変更
`prompt_surface_title` のキーバインドでタブ名を変更できるようになった。
```
keybind = f2=prompt_surface_title
```
コマンドパレットの `Change Title...` でもOK.
## その他
### ロードマップ
https://ghostty.org/docs/install/release-notes/1-2-0#roadmap
なかなか熱いことが書いてある。次バージョンの1.3では[[Ghostty]]を最高の[[ターミナル|ターミナルエミュレーター]]にする...と。
> Ghostty 1.3 will continue the focus of making Ghostty the "best existing terminal emulator" by shipping the last remaining major missing features to achieve parity with other popular terminal emulators. Namely, we plan on shipping scrollback search and scrollbars for 1.3, at a minimum.2
主にデスクトップアプリケーションの機能改善に注力するとのこと。
> The primary focus of Ghostty 1.3 will be on desktop application features (of which scrollback search and scrollbars are a part). The core terminal emulation features of Ghostty have already proven to be very feature rich and stable. However, we plan on continuing to expand our VT feature support, such as adopting new experimental protocols that have been recently released into the ecosystem by others.
### リリースサイクル
https://ghostty.org/docs/install/release-notes/1-2-0#moving-to-a-marchseptember-release-cycle
バグ修正以外のリリースは半年周期らしい。なので次は2026年3月頃とのこと。
> Ghostty will move to a 6-month release cycle for major/minor releases, with the next minor release (1.3.0) planned for March 2026. A March/September release cycle aligns well with many major Linux distributions and macOS. Patch releases (e.g. 1.2.1) will be made as needed on an unscheduled basis.
長めのリリーススパンではあるけど、本当に欲しい機能が実装された場合はnightlyでインストールする手段も残されているので、ユーザーに自由が委ねられている印象。