Wallust Theme
Visual Studio Code theme that syncs with your wallpaper palette in real time using wallust.
Preview

Features
- Real-time color updates: Instantly adapts the VS Code theme to your current wallpaper palette
- Smart caching: Only regenerates themes when colors actually change (hash-based detection)
- Reliable sync: Dual-strategy watching (file watcher + polling fallback) ensures updates are never missed
- Two theme variants: Clean borderless look or bordered style for editor panes
- Automatic light/dark detection: Theme adapts based on background color luminance
- Atomic writes: Theme files are written atomically to prevent corruption
- Zero configuration: Works out of the box with sensible defaults
Requirements
Install wallust:
This extension relies on wallust for generating color palettes.
Copy templates:
Copy the templates from the templates directory to your wallust templates folder.
Configure wallust.toml:
Add these entries to generate the required color files:
[templates]
vscode = { src = 'vscode.json', dst = '~/.cache/wallust/colors.json' }
vscode2 = { src = 'vscode', dst = '~/.cache/wallust/colors' }
Run wallust:
Generate colors with wallust run <image> or let it run automatically with your wallpaper manager.
How It Works
The extension monitors ~/.cache/wallust/colors and ~/.cache/wallust/colors.json for changes:
- File Watcher: Primary detection using chokidar with write stabilization
- Polling Fallback: Secondary check every 5 seconds using hash comparison
- Hash-based Caching: Themes only regenerate when the color hash changes
- Startup Sync: Automatically syncs on VS Code startup if themes are outdated
Extension Commands
| Command |
Description |
Wallust Theme: Update Theme |
Force regenerate themes from current colors |
Wallust Theme: Clear Cache |
Clear the theme cache (forces regeneration on next change) |
Extension Settings
| Setting |
Default |
Description |
wallustTheme.autoUpdate |
true |
Automatically update themes when wallust colors change |
Theme Variants
- Wallust: Clean theme without borders (auto light/dark based on background)
- Wallust Bordered: Theme with subtle borders between panels (auto light/dark based on background)
Troubleshooting
Theme not updating automatically?
- Check that wallust is generating files to
~/.cache/wallust/
- Verify the
colors file contains 16 hex colors
- Try
Wallust Theme: Clear Cache then Wallust Theme: Update Theme
- Check the Output panel (View → Output → select "Wallust Theme") for errors
Colors look wrong?
- Ensure your wallust templates match the ones in this repo's
examples/wallust-templates/ folder
- The
colors.json file is optional but provides better background/foreground colors
- Try regenerating with
wallust run <your-wallpaper>
Extension not activating?
The extension activates after VS Code startup completes. Check:
- Extension is enabled in the Extensions panel
- No errors in Help → Toggle Developer Tools → Console
Technical Details
- Cache location:
<extension>/themes/.wallust-theme-cache.json
- Debounce delay: 500ms (prevents rapid regeneration)
- Polling interval: 5 seconds (fallback detection)
- Write stabilization: 300ms (waits for file writes to complete)
Credits
| |