Skip to content

MBeggiato/spotify-player-themes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Theme Collection for spotify_player

A comprehensive collection of 36 themes for the spotify_player terminal application, including recreations of popular music streaming services, popular color schemes, and creative themes.

License

Installation

Option 1: Manual Installation

  1. Download the theme definitions from theme.toml

  2. Add the content to your spotify_player theme configuration file:

    • Linux/macOS: ~/.config/spotify-player/theme.toml
    • Windows: %APPDATA%\spotify-player\theme.toml
  3. Restart spotify_player

Option 2: Using curl (append to existing themes)

# Backup your existing theme file first
cp ~/.config/spotify-player/theme.toml ~/.config/spotify-player/theme.toml.backup

# Append the theme collection to your existing themes
curl https://raw.githubusercontent.com/MBeggiato/spotify-player-theme-spotify/main/theme.toml >> ~/.config/spotify-player/theme.toml

Option 3: Using wget (append to existing themes)

# Backup your existing theme file first
cp ~/.config/spotify-player/theme.toml ~/.config/spotify-player/theme.toml.backup

# Append the theme collection to your existing themes
wget -q -O - https://raw.githubusercontent.com/MBeggiato/spotify-player-theme-spotify/main/theme.toml >> ~/.config/spotify-player/theme.toml

Usage

Once installed, you can switch between all 36 themes directly in the application:

  1. Press T to open the theme switcher popup
  2. Select any theme from the list (e.g., Spotify, Gruvbox, Tokyo Night, etc.)
  3. Press Enter to apply the theme

Alternatively, you can set your default theme by editing your app.toml:

theme = "Spotify"  # Or any other theme name

Themes

Click on each category to expand and view the themes.

Streaming Service Themes (5)
Spotify
Faithful recreation with signature Spotify Green (#1DB954) and deep black background.

Apple Music
Clean and modern with soft red accents and subtle blues.

Tidal
Bold and striking with signature red (#ff0050) and teal (#00ffaa).

YouTube Music
Iconic red theme with familiar dark interface.

SoundCloud
Orange and gray color scheme inspired by SoundCloud's branding.

Popular Terminal Themes (12)
Gruvbox
Warm, retro with earthy tones and excellent readability.

Dracula
High contrast with vibrant purples, pinks, and greens.

Catppuccin Frappé
Catppuccin's muted dark flavor with pastel accents on a deep blue-gray base.

Catppuccin Latte
Catppuccin's light flavor with vibrant accents on a warm off-white base.

Catppuccin Macchiato
Catppuccin's mid-dark flavor balancing warmth and vibrancy.

Catppuccin Mocha
Catppuccin's darkest flavor with rich pastels on a deep warm base.

Nord
Arctic, bluish palette for a calm and clean interface.

Solarized Dark
Classic theme with precise color contrast ratios.

One Dark
Atom's default theme with dark background and subtle accents.

Monokai
Iconic color scheme with vibrant colors on dark background.

Tokyo Night
VS Code inspired with soft purples and blues.

Rose Pine
Soft, pastel-inspired dark theme.

Retro & Vintage Themes (4)
MS-DOS
Classic monochromatic terminal with bright colors on black.

Windows 95
Nostalgic gray background reminiscent of Windows 95.

Vinyl Record
Warm brown tones like classic vinyl records.

Cassette Tape
Retro 80s aesthetic with vibrant purples and teals.

Monochrome & Phosphor Themes (3)
Amber Monochrome
Classic amber monochrome terminal display.

Green Phosphor
Authentic green phosphor CRT monitor display.

Piano
Pure black and white minimalist piano keys aesthetic.

Music & Atmosphere Themes (4)
Synthwave
Neon purples, pinks, and cyans inspired by 80s synthwave.

Disco
Vibrant neon colors for a disco atmosphere.

Jazz Club
Elegant golden and brown tones reminiscent of a jazz club.

Rock Concert
Bold oranges and reds for high-energy vibes.

Seasonal Themes (4)
Summer
Bright and cheerful with warm yellows and light blues.

Autumn
Warm oranges, browns, and golden tones.

Winter
Cool icy blues and frosted whites for winter atmosphere.

Spring
Fresh greens and soft pastels for springtime feel.

Gaming & Pop Culture Themes (4)
Cyberpunk 2077
Bold yellow and cyan inspired by Cyberpunk 2077.

Portal
Orange and blue theme inspired by the Portal series.

Minecraft
Earthy tones and blocky colors inspired by Minecraft.

Tetris
Classic Tetris colors with bright red, green, yellow, blue.

Requirements

  • spotify_player
  • Terminal with 256-color support
  • For best results, use a terminal with true color support

Contributing

We welcome contributions! Here's how you can help improve this theme collection:

Types of Contributions

  • Add new themes - Create entirely new theme designs
  • Improve existing themes - Fix color issues, improve contrast, or refine component styles
  • Add screenshots - Help us document themes better
  • Fix bugs - Report and fix issues with theme definitions
  • Documentation - Improve README, add guides, or fix typos

Theme Format Guidelines

All themes must follow this TOML format:

[[themes]]
name = "Theme Name"

[themes.palette]
background = "#000000"
foreground = "#ffffff"
black = "#000000"
red = "#ff0000"
green = "#00ff00"
yellow = "#ffff00"
blue = "#0000ff"
magenta = "#ff00ff"
cyan = "#00ffff"
white = "#ffffff"
bright_black = "#555555"
bright_red = "#ff5555"
bright_green = "#55ff55"
bright_yellow = "#ffff55"
bright_blue = "#5555ff"
bright_magenta = "#ff55ff"
bright_cyan = "#55ffff"
bright_white = "#ffffff"

[themes.component_style]
selection = { bg = "#555555", modifiers = ["Bold"] }
block_title = { fg = "#00ff00", modifiers = ["Bold"] }
playback_track = { fg = "#ffffff", modifiers = ["Bold"] }
playback_album = { fg = "#00ff00" }
playback_metadata = { fg = "#888888" }
playback_progress_bar = { bg = "#555555", fg = "#00ff00" }
current_playing = { fg = "#00ff00", modifiers = ["Bold"] }
page_desc = { fg = "#00ff00", modifiers = ["Bold"] }
table_header = { fg = "#00ff00", modifiers = ["Bold"] }
border = { fg = "#555555" }
playback_status = { fg = "#00ff00", modifiers = ["Bold"] }
playback_artists = { fg = "#ffffff", modifiers = ["Bold"] }
playlist_desc = { fg = "#888888" }

Theme Requirements

  • Naming: Title case with spaces (e.g., "Apple Music", "Tokyo Night")
  • Colors: All colors must be valid 6-digit HEX codes (#RRGGBB)
  • Palette: Must define all 16 standard terminal colors
  • Component Style: Must include all 13 component style definitions
  • Accessibility: Ensure sufficient contrast for text and UI elements (WCAG AA recommended)

Screenshot Guidelines

  • Format: PNG files
  • Naming: Lowercase with underscores, matching theme name (e.g., apple_music.png, tokyo_night.png)
  • Size: Recommended width of 400px for consistency
  • Content: Show the spotify_player interface with your theme applied, displaying a variety of UI elements

Development Workflow

  1. Fork the repository and clone your fork locally
  2. Create a new branch for your contribution:
    git checkout -b feature/your-theme-name
  3. Add your theme to theme.toml following the format above
  4. Test your theme:
    • Copy theme.toml to your spotify_player config directory
    • Launch spotify_player and test with T key to switch themes
    • Verify all UI elements look good and are readable
  5. Add a screenshot:
    • Take a screenshot of your theme in action
    • Name it appropriately (e.g., your_theme.png)
    • Add it to the screenshots/ directory
  6. Update README (if adding a new theme):
    • Add your theme to the appropriate category in the Themes section
    • Include your screenshot with a brief description
  7. Commit your changes with a clear message:
    git add theme.toml screenshots/your_theme.png README.md
    git commit -m "Add Your Theme theme"
  8. Push to your fork and create a pull request

Commit Message Conventions

Use clear, descriptive commit messages:

  • Add theme_name theme - For new themes
  • Fix contrast in theme_name - For theme improvements
  • Update screenshots - For screenshot updates
  • Fix typo in README - For documentation fixes

Pull Request Guidelines

  • Title: Be descriptive (e.g., "Add Cyberpunk 2077 theme")
  • Description: Include:
    • What you're adding or changing
    • Why it's valuable
    • Any design decisions or color choices
    • Screenshots (if applicable)
  • Testing: Mention that you've tested the theme in spotify_player
  • Categories: Specify which category your theme belongs to (Streaming Service, Terminal Theme, Retro, etc.)

Code Style

  • Follow the existing TOML structure and formatting
  • Use 2 spaces for indentation in TOML files
  • Maintain alphabetical order within sections where appropriate
  • Keep theme definitions organized and easy to read

Questions?

  • Open an issue to discuss large changes before implementing them
  • Check existing issues and PRs for similar contributions
  • Feel free to ask for help or feedback in issues

License

This theme is released under the MIT License. See LICENSE for details.

Acknowledgments

Links

Contributors