Files
PortProtonQt/documentation/theme_guide

📘 Эта документация также доступна на русском


📋 Contents


📖 Overview

Themes in PortProtonQT allow customizing the UI appearance and sounds. Themes are stored under:

  • ~/.local/share/PortProtonQT/themes.

📁 Creating the Theme Folder

mkdir -p ~/.local/share/PortProtonQT/themes/my_custom_theme

🎨 Style File (styles.py)

Create a styles.py in the theme root. It should define variables or functions that return CSS.

Example:

# Sound effects mapping
SOUNDS = {
    "app_start": "app_start.wav",           # Application startup
    "app_exit": "app_exit.wav",             # Application exit
}

def custom_button_style(color1, color2):
    return f"""
    QPushButton {{
        background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
                                    stop:0 {color1}, stop:1 {color2});
    }}
    """

📝 Metadata (metainfo.ini)

[Metainfo]
name = My Custom Theme
author = Your Name
author_link = https://example.com
description = Description of your theme.

🖼 Screenshots

Folder: images/screenshots/ — place UI screenshots there.


🔡 Fonts and Icons (optional)

  • Fonts: fonts/*.ttf or .otf
  • Icons: images/icons/*.svg/.png

🔊 Sound Effects (optional)

Folder: sounds/ — place interface sound effects here.

Supported formats:

  • .wav - Wave audio files

Available sound events:

  • Interface sounds:
    • app_start.wav - Application startup
    • app_exit.wav - Application exit

If a sound file is missing in a custom theme, the default sound from the standard theme will be used.