Theme System
Config-Sway features a unified theme system that synchronizes colors, styles, and wallpapers across all components: Sway, Waybar, Kitty, and Rofi. One command switches everything instantly.How It Works
Quick Theme Switching
PressSuper + A to open the theme switcher. Select a theme and all components update automatically:
- Sway: Window borders, gaps, and focus colors
- Waybar: Status bar colors and styles
- Kitty: Terminal color scheme
- Rofi: Menu colors and styling
- Wallpaper: Desktop background
Theme Directory Structure
Built-in Themes
Anime Theme
Anime Theme
Color Scheme: Catppuccin Mocha-inspiredCharacteristics:
~/.config/themes/Anime/sway/theme.conf
- Dark purple-blue background
- Bright blue accents for active windows
- Catppuccin color palette
- Anime-style wallpaper
Batman Theme
Batman Theme
Color Scheme: Dark gray and whiteCharacteristics:
~/.config/themes/Batman/sway/theme.conf
- Nearly black background
- White/light gray active borders
- Minimalist dark aesthetic
- Batman-themed wallpaper
Hacker Theme
Hacker Theme
Color Scheme: Matrix-style green on blackCharacteristics:
- Terminal/hacker aesthetic
- Green accent colors
- Black background
- Code/terminal-themed wallpaper
Mode-Dark Theme
Mode-Dark Theme
Characteristics:
- Pure dark mode
- Minimal distractions
- High contrast
- Simple dark wallpaper
Superman Theme
Superman Theme
Characteristics:
- Red and blue color scheme
- Bold, vibrant colors
- Superman-themed wallpaper
Windows10 Theme
Windows10 Theme
Characteristics:
- Windows 10-inspired colors
- Blue accent colors
- Familiar Windows aesthetic
- Windows 10 default wallpaper
Theme Components
Sway Configuration
File:<theme>/sway/theme.conf
Defines window manager appearance:
The main Sway config (
~/.config/sway/config) includes this file with:Waybar Styling
Files:<theme>/waybar/colors.css- Color variable definitions<theme>/waybar/style.css- CSS styling rules<theme>/waybar/config.jsonc- Optional custom layout
Color Variables
~/.config/themes/Anime/waybar/colors.css
Style Import
~/.config/waybar/style.css
Kitty Terminal Colors
File:<theme>/kitty/kitty.conf
Each theme provides a complete Kitty configuration with color overrides:
~/.config/themes/Batman/kitty/kitty.conf
colors.ini file (if present) defines the 16 terminal colors.
Rofi Menu Colors
File:<theme>/rofi-style/_core/palette.rasi
~/.config/themes/Anime/rofi-style/_core/palette.rasi
Wallpaper
File:<theme>/wallpaper.{jpg,png,webp}
Each theme must include a wallpaper image. Supported formats:
- JPEG (
.jpg) - PNG (
.png) - WebP (
.webp)
Theme Switcher Script
How It Works
Thetheme-switcher.sh script performs these steps:
Backup current config
Creates timestamped backups:
~/.config/kitty.bak-20260305-143022~/.config/waybar.bak-20260305-143022~/.config/sway/theme.conf.bak-20260305-143022
Creating a Custom Theme
Step-by-Step Guide
Rofi palette is optional - the theme switcher will auto-generate one from your Sway colors if you don’t provide
rofi-style/_core/palette.rasi.Color Consistency Tips
Using a Color Scheme Generator
- Choose a base palette (e.g., from Catppuccin)
- Define core colors:
- Background (dark)
- Foreground (text)
- Accent (active elements)
- Inactive (dimmed elements)
- Apply consistently across all configs
Example Color Mapping
| Purpose | Sway Variable | Waybar CSS | Kitty Setting |
|---|---|---|---|
| Background | $bg | @base | background |
| Text | $fg | @text | foreground |
| Accent | $active | @mauve | cursor |
| Dim | $inactive | @mantle | color8 |
Theme Troubleshooting
Theme not applying completely
Theme not applying completely
Check for missing files:Required:
sway/theme.confwallpaper.{jpg,png,webp}
waybar/colors.csswaybar/style.csskitty/kitty.confrofi-style/_core/palette.rasi
Waybar colors wrong after theme switch
Waybar colors wrong after theme switch
Force Waybar reload:Check if colors.css was copied:
Rofi menus using wrong colors
Rofi menus using wrong colors
Wallpaper not changing
Wallpaper not changing
Check wallpaper file exists:Manually set wallpaper:
Backup files accumulating
Backup files accumulating
The theme switcher creates timestamped backups. Clean old ones:This removes backups older than 30 days.
Advanced Theme Features
Per-Theme Waybar Layouts
Some themes may include customwaybar/config.jsonc with different module arrangements:
Dynamic Palette Generation
When auto-generating Rofi colors, the theme switcher intelligently picks values:Font Customization
Themes can specify custom fonts in Sway config:Related Configuration
Sway Theme Settings
Window border and gap configuration
Waybar Styling
Status bar colors and CSS
Kitty Colors
Terminal color schemes
Rofi Menus
Menu styling and color palettes
Theme Resources
Color Palette Inspiration
- Catppuccin - Pastel theme collection
- Dracula - Dark theme with vibrant colors
- Nord - Arctic-inspired palette
- Gruvbox - Retro groove colors
- Tokyo Night - Dark blue theme
Wallpaper Sources
- Unsplash - High-quality free photos
- Wallhaven - Community wallpaper collection
- Reddit /r/wallpaper - User submissions