Skip to content

Add theme switching system with vantablack and white themes#18

Merged
mswell merged 1 commit intomasterfrom
claude/review-hyprland-config-YhnbW
May 3, 2026
Merged

Add theme switching system with vantablack and white themes#18
mswell merged 1 commit intomasterfrom
claude/review-hyprland-config-YhnbW

Conversation

@mswell
Copy link
Copy Markdown
Owner

@mswell mswell commented May 2, 2026

Summary

Implement a comprehensive theme switching system that allows users to toggle between vantablack (dark) and white (light) themes across Hyprland, Waybar, and Kitty. This includes a new theme-switch script, theme configuration files, and integration with the existing configuration.

Key Changes

  • New theme-switch script (config/hypr/scripts/theme-switch.sh): Bash script that manages theme switching across all applications

    • Supports three modes: vantablack, white, and toggle
    • Updates symlinks for Hyprland colors, Waybar CSS, and Kitty themes
    • Handles wallpaper switching via hyprpaper with random selection
    • Reloads Hyprland and Waybar to apply changes
    • Persists current theme selection and shows desktop notification
  • Theme configuration files: Created dual theme sets for both Hyprland and Kitty

    • config/hypr/themes/vantablack.conf and white.conf: Define color variables for Hyprland
    • config/kitty/themes/vantablack.conf and white.conf: Kitty terminal color schemes
    • config/waybar/themes/vantablack.css and white.css: Waybar styling with CSS custom properties
  • Updated Hyprland configuration:

    • Replaced hardcoded Gruvbox colors with dynamic theme variables
    • Added keybinding Super+Shift+T to toggle themes
    • Updated hyprland.conf to source colors.conf (managed by theme-switch script)
    • Enabled animations (previously disabled)
    • Removed wpaperd in favor of hyprpaper
  • Updated Waybar styling:

    • Refactored style.css to import theme-specific CSS variables
    • Replaced all hardcoded colors with semantic CSS custom properties (@bg, @fg, @accent, etc.)
  • Updated Hyprlock configuration:

    • Changed to source colors.conf instead of hardcoded gruvbox.conf
  • Wallpaper assets: Added theme-specific background images

    • Vantablack backgrounds: 5 images (dot-hands, twisted-stairs, layers-deep, layers-stacked, omarchy)
    • White backgrounds: 4 images (3 white variants, omarchy)

Implementation Details

  • Theme switching uses symlinks to manage configuration without duplicating settings
  • The script includes a 0.3s delay before reloading Waybar to ensure Hyprland reload completes
  • Wallpaper selection is randomized from the theme directory
  • All color definitions use semantic naming (accent, muted, urgent, etc.) for consistency across applications
  • Theme persistence allows the system to remember user preference across restarts

https://claude.ai/code/session_013o67ZukY8imSSRRa7SkL26

- Add theme system with vantablack and white themes from omarchy
- Create theme-switch.sh script (toggle with Super+Shift+T)
- Hyprland, Hyprlock, Waybar, Kitty all switch together
- Wallpaper changes per theme (9 images from omarchy repo)
- Refactor waybar/style.css to use CSS color variables via @import
- Enable animations (was disabled without reason)
- Remove wpaperd conflict (keep only hyprpaper)
- hyprland.conf now sources colors.conf (symlink to active theme)

https://claude.ai/code/session_013o67ZukY8imSSRRa7SkL26
@mswell mswell merged commit 8375d69 into master May 3, 2026
6 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants