---
title: Matugen の配色生成とアプリ反映
url: https://doc.liz6.com/ja/tools/hyprland/06-matugen
locale: ja
area: tools
tags:
- Hyprland
- 開発ツール
- Hyprland デスクトップ
date: 2026-09-15
modified: 2026-09-15
description: 独立した例で色の役割とテンプレートを検証し、アプリ別出力、再読み込み、Caelestia 連携を理解する。
---

# Matugen の配色生成とアプリ反映

Matugen は画像や色からパレットを作り、テンプレートへ埋め込む。起動済みアプリの色が変わるかは、そのアプリの読み込み方法にも依存する。生成と反映を分けて調べる。

4.1.0 で確認した例を独立ディレクトリで試し、正式テーマへ接続するのは後にする。

## 四つの段階

| 段階 | 生成物 | 問題の例 |
| --- | --- | --- |
| 入力 | 画像、色、明暗 | 画像なし、モード不一致 |
| パレット | primary、surface など | 役割や方式の選択 |
| テンプレート | アプリ専用設定 | 構文やパス |
| 反映 | 実行中の読み込み | ファイルは新しく状態は古い |

surface と on_surface は背景と前景の組、primary は強調に使う。単色の好みだけで選ばず、選択、警告、無効状態も確認する。

## 隔離した生成例

新しい matugen-lab などへ移動し、ghostty.template を保存する。

```text
background = {{colors.surface.default.hex}}
foreground = {{colors.on_surface.default.hex}}
cursor-color = {{colors.primary.default.hex}}
```

同じ場所の config.toml：

```toml
[config]

[templates.terminal]
input_path = "ghostty.template"
output_path = "generated.theme"
```

その場所から明示設定で実行する。

```bash
matugen -c ./config.toml color hex '#6750a4'
```

出力を見る。

```bash
cat generated.theme
```

実色が三つあり、未展開の記号がないことを確認する。4.1.0 の hex は既に # を含むため、追加すると ## になる。更新後も一時出力で形式を確認する。[Matugen](https://github.com/InioX/matugen)

画像を使う場合は実ファイルを置いて `matugen -c ./config.toml image ./wallpaper.png` とする。明暗は `--mode light` / dark で指定できる。

## アプリごとの構文

Waybar 用 GTK CSS の例：

```css
@define-color main-bg {{colors.surface.default.hex}};
@define-color main-fg {{colors.on_surface.default.hex}};
@define-color accent {{colors.primary.default.hex}};
```

Ghostty は key/value、Zellij は KDL である。まず静的設定を動かし、同じ構造を生成する。入出力パス、書き込み可能な場所、対象の検証器を確認してから正式パスへ反映する。

## hook と再読み込み

最初は post_hook なしで生成を確認する。hook はアプリへの通知であり、出力検査の代わりではない。

Ghostty はテーマと検証・再読み込み、Waybar は独立設定と指定インスタンス、GTK は CSS と新規窓、Zellij は KDL と新旧セッション、外殻は公開テーマ API をそれぞれ確認する。

SIGUSR2 を全アプリへ一般化しない。旧 OSC 一括送信は独自コードで、対象選択や復用器の転送条件がある。公式に対応した反映方法を優先する。

## 現在の Caelestia 連携

外殻が壁紙、明暗、方式を選び、caelestia-sync-app-theme が名前を Matugen へ変換する。壁紙状態を読み、ファイルロックで並行生成を制限する。

アプリ用出力には Ghostty、Zellij、GTK、KDE、Fuzzel、Fcitx5 がある。外殻自身のテーマ状態は ii 時代のファイルではない。同じ入力でも役割の対応が異なれば色は一致しない。

## 一部だけ変わらないとき

入力、モード、実際の config を確認し、独立生成の終了状態と内容を見る。正式ファイルの場所・時刻とアプリの読み込み先を比較し、再読み込みを単独実行する。

新しい窓だけ正しければ実行中反映、両方誤るなら生成とテーマ指定を調べる。復旧は保存済みテーマと設定を戻してから再読み込みする。複数アプリの生成は全体トランザクションではなく、部分反映も確認が必要である。
