Lumix
A smart VS Code extension that automates your theme experience so you can focus longer, reduce visual fatigue, and keep your workspace aligned with the moment.
Lumix switches your editor theme automatically based on time or startup behavior. Whether you want a lighter setup during the day or a more comfortable dark environment at night, Lumix keeps your workspace in sync without manual changes.
✨ Features
- Reduce eye strain with a theme flow designed to match your working hours.
- Schedule mode to change between light and dark themes at configurable times.
- Random mode to refresh your workspace with a random theme on startup.
- Pause control to temporarily stop Lumix without affecting the current theme.
- Fast access through commands and a keyboard shortcut.
- Flexible setup through VS Code settings and workspace overrides.
🚀 Quick Start
# Package the extension from the project root
vsce package
# Install the generated VSIX locally
code --install-extension lumix-1.0.0.vsix
Development
# Compile TypeScript
npm run compile
# Watch mode
npm run watch
# Lint the source
npm run lint
⚙️ Configuration
Use the following settings in your user or workspace settings.json.
Theme settings
| Setting |
Type |
Default |
Description |
lumix.mode |
string |
schedule |
Operation mode: schedule or random. |
lumix.lightTheme |
string |
Default Light+ |
Theme used during daytime in schedule mode. |
lumix.darkTheme |
string |
Default Dark+ |
Theme used during nighttime in schedule mode. |
lumix.lightStart |
number |
7 |
Hour when the light theme becomes active. |
lumix.darkStart |
number |
19 |
Hour when the dark theme becomes active. |
lumix.randomThemes |
string[] |
Default Dark+, Default Light+, Monokai |
Theme list used in random mode. |
lumix.paused |
boolean |
false |
Pause Lumix without changing the current theme. |
Example configuration
{
"lumix.mode": "schedule",
"lumix.lightTheme": "Default Light+",
"lumix.darkTheme": "Default Dark+",
"lumix.lightStart": 7,
"lumix.darkStart": 19,
"lumix.randomThemes": ["Default Dark+", "Default Light+", "Monokai"],
"lumix.paused": false
}
Commands
| Command |
Description |
lumix.openPanel |
Open the quick settings panel. |
lumix.toggleMode |
Toggle between schedule and random. |
lumix.pause |
Pause or resume Lumix. |
Keybindings
| Shortcut |
Command |
Platform |
Ctrl+Shift+L |
lumix.openPanel |
Windows / Linux |
Cmd+Shift+L |
lumix.openPanel |
macOS |
🔧 Contributing
Contributions, ideas, and bug reports are welcome. For local development:
npm install
npm run compile
If you plan to submit a change, please include the problem you are solving and the steps to reproduce it.
📄 License
This project is licensed under the Apache License 2.0. See LICENSE.md for details.
I’m Santiago, the creator of Lumix. If you have feedback, questions, or need support, contact me directly at santiguz1475@gmail.com.