Add New Theme Presets

オープン
#3 コメント 5 件 リアクション 3 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
45/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
rust
領域
cli

調査の方向性

Read the ThemePreset enum and its related methods in src/user_config.rs, using the Dracula or Nord preset as an example. Choose a distinct theme name and add it to the enum, all(), name(), from_name(), and to_theme(). Test the theme in the app and check that all listed UI colors are readable and consistent.

索引モデルが issue の本文から書いたものです。

説明

enhancement good first issue

Add New Theme Presets

We want to expand our collection of built-in themes and we'd love YOUR creativity!

What We're Looking For

Feel free to add any theme you'd like! Some ideas to inspire you:

  • Recreate your favorite color scheme from another app
  • Design something based on a vibe (synthwave, lo-fi, nature, etc.)
  • Create accessibility-focused themes (high contrast, colorblind-friendly)
  • Port popular themes (Tokyo Night, Catppuccin, One Dark, Rosé Pine, etc.)
  • Make something completely original!

How to Contribute

  1. Comment below with the theme name you want to add (to avoid duplicates)
  2. Open src/user_config.rs and find the ThemePreset enum
  3. Add your theme in four places:
    • Add variant to the ThemePreset enum (e.g., ThemePreset::YourTheme)
    • Add it to the all() function array
    • Add the name in the name() match statement
    • Add the name mapping in the from_name() match statement
    • Add the color definitions in the to_theme() match statement
  4. Test it in the app to make sure it looks good
  5. Submit a PR!

Current themes: Default, Spotify, Dracula, Nord, Solarized Dark, Monokai, Gruvbox, Custom

Color Elements to Define

Each theme needs to specify colors for all UI elements:

  • analysis_bar / analysis_bar_text
  • active / inactive
  • banner / error_border / error_text
  • hint / hovered
  • playbar_background / playbar_progress / playbar_progress_text / playbar_text
  • selected / text
  • header / highlighted_lyrics

Look at the Dracula or Nord themes in the code for a complete example!

Guidelines

  • Use RGB color values: Color::Rgb(r, g, b)
  • Choose colors with good contrast for readability
  • Test your theme to make sure all UI elements are visible and look good together
  • Add helpful comments (like // Purple, // Nord8 (frost)) to document your color choices
  • Give your theme a descriptive name
  • One theme per PR to keep reviews simple

Feel free to ask questions in the comments if you need help getting started!

主要言語
Rust
スター
1.4k
フォーク
238
平均マージ
10時間 1分
マージ済み PR(30日)
171

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

LargeModGames/spotatui のほかの issue

LargeModGames/spotatui の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。