# Themeファイル

- Themeファイルについて
- BG(背景) Theme
- Color Theme

## TODO

- 仕様をちゃんと決める
- 仕様に合わせてcolor picker(仮)を修正

## themeファイルについて

テーマファイルにはいくつかの種類がある。

BG(背景)テーマ
  [BG Theme]セクションが入ったファイル
  このセクションには背景画像の設定が入る
カラーテーマ
  [Color Theme]セクションが入ったファイル
  このセクションには文字の色の設定が入る
旧カラーテーマ (廃止予定)
  [BG]セクションに文字の色の設定が入っている
  Tera Term 4 でサポートしていたカラーテーマ
  読み込みはできるが廃止予定

BG(背景)テーマとカラーテーマを別のファイルに保存しておくことも、 1つのファイルに両方を保存することもできる。 フォーマットはWindowsのiniファイル。

## BG(背景)テーマ

### section

"BG theme"
"BG"セクションも読み込み可能(廃止予定)。両方ある場合は"BG theme"が優先。

BGDestColor
  背景画像を使用しない場合はこの色で塗りつぶされる。
  背景画像が描画されない部分がある場合もこの色で塗りつぶされる。
BGDestFile
  背景画像
  ファイル名にワイルドカードが指定された場合、一致するファイルからランダムに一つ選びます。
  相対パスを利用する場合は、テーマファイルからの相対パスを指定してください。
  読み込めるファイルの種類は、BGSPIPath に格納されたプラグインによります。
  ビットマップはプラグインが無くても読み込めます。
BGDestPattern
  背景画像描画方法
  stretch
  tile
  center
  fit_width
  fit_height
  autofit
  autofill
    FitWidth、FitHeight は画像のアスペクト比を維持したまま、画像を拡大縮小します。
    AutoFit は、ウィンドウと画像の間に隙間ができないように、FitWidth と FitHeight を切り替えます。
BGSrc1Alpha
  Windowsの壁紙画像をアルファブレンドする。
  背景画像(Dest)にデスクトップ画像(Src1)どれぐらいブレンドするを指定する。
  0のとき壁紙はブレンドされない。
BGSrc2Color
  背景画像全体をアルファブレンドする色
BGSrc2Alpha
  アルファブレンド値
  DestとSrc1の合成画像に単色(Src2)をどれぐらいブレンドするか
BGTextBackAlpha
  0 - 255
  通常文字背景色のAlphaBlend値,255で不透明
BGReverseTextAlpha
  0 - 255
  反転文字背景色のAlphaBlend値,255で不透明
BGTextAlpha
  0 - 255
  その他の文字背景色のAlphaBlend値,255で不透明

## color theme

### section

"Color Theme"

### name

Theme
  テーマ名、値は文字列

### attribute color

VTColor
  通常文字色, SGR 0
BoldColor
  SGR 1
VTUnderlineColor
  SGR 4
BlinkColor
  SGR 5
ReverseColor
  SGR 7
URLColor
  URL文字列
  Tera TermがURL文字列を検出したときに付加される文字アトリビュート
値 (0 or 1), (0 or 1), (fore red), (fore green), (fore blue), (back red), (back green), (back blue)
値 (0 or 1), (0 or 1), (fore), (back)
  (0 or 1)
    1=default色から変更する
    0=変更しない
    (VTColorでは参照されない)
  (0 or 1)
    1=文字属性(Bold attribute等)の独自色を有効
    0=無効にする
    (VTColorでは参照されない)
  (fore red), (fore green), (fore blue)
    文字の色、各値は0から255
  (back red), (back green), (back blue)
    背景の色、各値は0から255
  (fore), (back)
    #RRBBGG の形式で、各々00 から FF まで

### ANSI color

256色/16色 ANSI colorの最初の16色。
8色時は、Dark colorを使用しない

ANSIColor=(0 or 1)
  1=default色から変更する
  0=変更しない

Fore
  256 ANSI color 15番
  通常文字色(Tera TermではVTColorが使用される)
Back
  256 ANSI color 0番
  通常背景色(Tera TermではVTColorが使用される)
Red
Green
Yellow
Blue
Magenta
Cyan
DarkFore
DarkBack
DarkRed
DarkGreen
DarkYellow
DarkBlue
DarkMagenta
DarkCyan
  各文字色
値 (red), (green), (blue)
  各値は0から255
値 (color)
  #RRBBGG の形式で、各々00 から FF まで