WallThemeは、Rustに実装された末端テーマジェネレーターです。画像から色を抽出し、事前定義されたテンプレートに適用して、ターミナルエミュレーター、テキストエディター、およびその他のアプリケーションのテーマを生成します。このツールは、すべての標準色(黒、赤、白など)をサポートし、 Zellij専用の追加のオレンジ色が含まれています。
WallThemeには、カスタマイズを容易にするためのいくつかのテンプレートと例のスクリプトが付属しています。
# Clone the repository
mkdir -p ~ /.cache/walltheme/ && mkdir -p ~ /.config/walltheme/templates
git clone https://github.com/JoseMM2002/walltheme.nvim.git
cd walltheme
# Build the project
cargo install --path . テーマを生成するには:
walltheme < image-path >walltheme ~ /Pictures/wallpaper.pngこのコマンドは、 wallpaper.pngから色を抽出し、 ~/.config/walltheme/templatesからテンプレートを使用して構成ファイルを生成し、 ~/.cache/walltheme/に保存します。
WallThemeはテンプレートを使用して、生成されたテーマファイルをフォーマットします。プレースホルダーは抽出された色に置き換えられます。このテンプレートは、ハンドルバーによって生成されます。
#{{black_hex}}
#{{red_hex}}
#{{green_hex}}
#{{blue_hex}}
rgb{{black_rgb}}
rgb{{red_rgb}}
rgb{{green_rgb}}
rgb{{blue_rgb}}
rgba{{black_rgba}}
rgba{{red_rgba}}
rgba{{green_rgba}}
rgba{{blue_rgba}}
テンプレートには、OH-MY-POSHなどの一部の構成のブレースが必要な場合は、次の構文を使用できます。
{{keep "info to keep betwwen braces"}}
WallThemeには次のテンプレートが含まれています。
テンプレートはtemplates/ディレクトリにあります。それらを使用するには、目的のテンプレートを~/.config/walltheme/templates/にコピーし、必要に応じて変更します。
~/.config/walltheme/configにあるconfigファイルを作成または変更することにより、WallThemeをカスタマイズできます。このファイルを使用すると、パレットの設定やしきい値など、テーマ生成の動作を微調整できます。
[ general ]
mix_factor = 0.7 # from 0 to 1
distance_threshold = 0.5 # from 0 to 1
palette_quality = 16 # from 1 to 255
palette_max_colors = 8 # from 1 to 255
brighter_factor = 0.8 # from 0 to 1
bright_min = 20 # from 0 to 255
opacity_target = 50 # from 0 to 255
stdout_template = " colors.sh "mix_factor :ブレンド色のミックスファクター。distance_threshold :色距離フィルタリングのしきい値。palette_quality :パレット抽出の品質。palette_max_colors :抽出する色の最大数。brighter_factor :色の明るさを調整する要因。bright_min :最小輝度しきい値。stdout_template :標準出力用のテンプレート。opacity_target :色のターゲット不透明度。これらのオプションを設定して、好みとワークフローに合わせて設定できます。
私のセットアップの例はscripts/examples/ディレクトリにあります。壁紙を設定し、キティ、ウェイバー、ゼリジのテーマを生成するスクリプトが含まれています。
これをNeovimと統合するために、生成されたテーマを使用してColorschemeを設定するプラグインを作成しました。 walltheme.nvimを見つけることができます
貢献は大歓迎です!お気軽に問題を開くか、プルリクエストを送信してください。
git checkout -b feature/your-feature 。git commit -m "Add your feature" 。git push origin feature/your-feature 。このプロジェクトは、MITライセンスの下でライセンスされています。詳細については、ライセンスファイルを参照してください。
Pywalなどのツールとターミナルテーマコミュニティからのインスピレーションに感謝します。



