Overview
KVantage offers four carefully designed themes to personalize your experience. Each theme includes both light and dark variants, and you can enhance any theme with an optional animated background effect.All themes are designed to be visually pleasing while maintaining excellent readability and accessibility. Each theme has its own color palette that affects buttons, backgrounds, accent colors, and UI elements throughout the application.
Available Themes
Whispering Sea
The default theme with calm, oceanic blue and teal tones
Material You
Modern Material Design 3 colors with vibrant gradients
Kanagawa
Inspired by the famous Japanese woodblock print, featuring warm and earthy tones
Dracula
Popular dark theme with purple, pink, and cyan accents
Theme Details
Whispering Sea (SEA)
Index: 0 (default theme) A serene theme inspired by ocean waters, featuring:- Primary colors: Deep blues and teals
- Accent colors: Aqua and turquoise highlights
- Best for: Users who prefer calm, professional aesthetics
- Implemented in:
WhisperingSea.kt
Material You (MATERIAL)
Index: 1 Based on Google’s Material Design 3 specifications:- Primary colors: Vibrant, adaptive palette
- Accent colors: Bold, high-contrast elements
- Best for: Users who want a modern, colorful interface
- Implemented in:
MaterialTheme.kt
Kanagawa (KANAGAWA)
Index: 2 Inspired by Hokusai’s “The Great Wave off Kanagawa”:- Primary colors: Warm beiges, deep blues
- Accent colors: Earthy tones and subtle reds
- Best for: Users who appreciate Japanese aesthetics and warm color schemes
- Implemented in:
KanagawaTheme.kt
Dracula (DRACULA)
Index: 3 The popular Dracula color scheme, beloved by developers:- Primary colors: Dark purples and grays
- Accent colors: Pink, cyan, and purple highlights
- Best for: Users who prefer high-contrast dark themes
- Implemented in:
DraculaTheme.kt
Dracula is particularly popular among developers and pairs excellently with dark mode for reduced eye strain during night-time use.
Light vs. Dark Mode
Every theme includes both light and dark variants:- Dark Mode: Reduces eye strain in low-light environments, saves power on OLED screens
- Light Mode: Better visibility in bright environments, traditional interface appearance
Animated Background
KVantage includes an optional animated background feature that works with any theme:- What it does: Creates subtle, flowing color gradients that animate across the background
- Performance: Smooth 60 FPS animation with minimal CPU usage
- Colors: Uses your selected theme’s color palette (primary, secondary, tertiary containers)
- Duration: 11-second animation cycle with smooth easing
How It Works
The animation creates two radial gradients that move in opposite phases:- First gradient moves horizontally (left to right and back)
- Second gradient moves vertically (top to bottom and back)
- Both gradients use colors from your active theme
- The animation reverses smoothly using
FastOutSlowInEasing - Overlapping gradients create dynamic, organic color blending
How to Change Themes
Select your theme
Click one of the four theme buttons:
- Sea (Whispering Sea)
- Material (Material You)
- Kanagawa
- Dracula
How to Toggle Dark Mode
How to Enable Animated Background
The Animated Background toggle uses a distinctive secondary color (orange/amber) to indicate it’s an optional visual enhancement feature.
Technical Implementation
Theme Enum
Themes are defined inThemeType.kt:
Theme Selector UI
Implemented as a segmented button row in the Settings dialog:- Four equal-width buttons
- Selected theme highlighted with primary color (40% opacity)
- Theme names displayed in title case
- Selection persisted to app settings
File Structure
Settings Persistence
All theme-related settings are automatically saved:- Selected theme (SEA, MATERIAL, KANAGAWA, DRACULA)
- Dark mode preference (on/off)
- Animated background preference (on/off)
Accessibility Considerations
All themes are designed with accessibility in mind:- Sufficient contrast ratios between text and backgrounds
- Clear visual distinction between interactive and static elements
- Color combinations tested for common color vision deficiencies
- Dark mode variants reduce eye strain in low-light conditions
If you have specific accessibility needs, try different themes to find the one that works best for you. Dracula and Whispering Sea tend to have the highest contrast ratios.
Troubleshooting
Theme doesn't change when I select it
Theme doesn't change when I select it
This is unusual. Try closing and reopening KVantage. If the issue persists, check file permissions on your KVantage configuration directory.
Animated background causes performance issues
Animated background causes performance issues
Disable the animated background toggle. On some older hardware or when running on battery, the animation may impact performance. Standard backgrounds have no performance cost.
Colors look different than expected
Colors look different than expected
Make sure you have the dark mode toggle set correctly. Each theme looks quite different in light vs. dark mode. Also check your display’s color calibration settings.
Theme resets to default after restart
Theme resets to default after restart
Your settings file may not be saving correctly. Check write permissions on
~/.config/kvantage/ or wherever KVantage stores its configuration.Contributing Custom Themes
KVantage is open source! If you’d like to contribute a new theme:- Create a new Kotlin file in
ui/theme/with your theme’s color definitions - Define both light and dark color schemes
- Add your theme to the
ThemeTypeenum - Update the theme switcher in
AppTheme.kt - Submit a pull request to the KVantage repository
Related Settings
- Localization - Change the interface language
- Settings dialog: Toggle dark mode, animated backgrounds, and battery display options