[ttssh2-dev 472] Re: 背景テーマ設定

Zurück zum Archiv-Index
matsuo zmats****@gmail*****
2022年 7月 4日 (月) 01:57:52 JST


松尾です。

 > Eterm 0.9.6 を動かしてみて、動作を調べました。

ETerm見てみようと思いつつできていませんでした。
とても参考になります。ありがとうございます。

 > a. 画像が Eterm の背景に使用される
 >    デスクトップ壁紙との合成は行われません
 >    https://osdn.net/projects/ttssh2/ticket/44376#ticket-file-item9657
 >    https://osdn.net/projects/ttssh2/ticket/44376#ticket-file-item9658
 >
 > b. デスクトップ壁紙が透けて見える
 >    Eterm ウィンドウがアイコン・別のウィンドウの上にあっても
 >  デスクトップ壁紙が見えます
 >  https://osdn.net/projects/ttssh2/ticket/44376#ticket-file-item9659
 >
 > a と b を、メニューの "Background" - "Toggle Transparency" で
 > 切り替えられます。
 >
 > Eterm にも theme というものがありますが、Tera Term の theme と
 > カバーする範囲が完全に一致するものではありません。
 >
 > - Eterm は一つのテーマを選択することになるようです。
 > Tera Term は TERATERM.INI に "BGThemeFile=theme\*.ini" と書くことで
 > ランダムでテーマを選ぶことができます。
 >
 > - Eterm は theme.cfg で文字色と画像リストファイルを指定します。
 > また、画像リストファイルで各画像に対して tile にするかなどを
 > 指定します。
 > Tera Term は theme/hoge.INI で文字色と画像と全画像に対する
 > BGPicturePattern を指定します。
 >
 > - Eterm は theme.cfg に file %random(`cat pixmaps.list`) と書くことで、
 > 画像をランダムに選ぶことができます。
 > Tera Term は theme/hoge.INI に "BGPictureFile = scale\*.jpg" と書く
 > ことで、画像をランダムに選ぶことができます。

Tera Term内部の動作はそのように動作している、
私も同じ認識です。

 > "Eterm風半透明ウィンドウ" の動作は上記 a. を目指したものでしょう。
 > b. で見えるデスクトップ壁紙と合成して「半透明」になっているのが
 > Tera Term の独自に実装されているところだと思います。

画像+デスクトップ壁紙の合成が独自なんですね。

 > "背景画像の貼り付け" の動作は、1つだけ画像を指定した、1つの theme
 > ファイルを読み込むようにして、"Eterm半透明" と同じ仕組みで実現
 > しているように見えます。

theme\ImageFile.INI が特別なテーマファイルとして
使用されていますよね。

themeブランチでは、特別なテーマファイルを置くのではなく、
BGEnableをon/offの2値から3値に変更して、
- テーマファイルを指定しない
- 特定のテーマファイルを指定できる
- ランダムにテーマファイルを指定する
の中からユーザーが選択、としています。

 > > Tera Term では両方 off の動作
 > > http://fjt.webmasters.gr.jp/linux/yesterday/eterm.html
 > この画像は、上記 Eterm b. の状態のようです。このモードはドキュメントに
 > ありません。
 >
 >
 > Eterm 側の3種類は UI 上 "Eterm lookfeel" の中にあるものなので、
 > ドキュメントの章立てとしてもひとくくりにしたほうが、対応していて
 > 分かりやすい気がします。

Tera Term の背景合成のながれを置きました。
https://osdn.net/projects/ttssh2/storage/tmp/20220704_zmatuso/setup-additional-visual-theme.png
(themeブランチに入れた図をもう少し追記しました)

Tera Term の背景は vtdisp.c の BGDest,BGSrc1,BGSrc2 に設定されている
変数の値にしたがって合成されます。

多分良く設定される例を赤、青、緑で囲みました。
赤: 指定背景画像 + デスクトップ壁紙 + 特定の色  をblend
緑: デスクトップ壁紙 + 特定の色 をblend
青: 指定背景画像 + 特定の色  をblend

特定の色のブレンド(BGSrc2)は、
黒を混ぜると画像を少し暗くする(=フェード?)効果になります。
白を混ぜると画像を白っぽくする(=白とび?)効果になります。



ttssh2-dev メーリングリストの案内
Zurück zum Archiv-Index