This is a plugin for Redmine that enables individual users to select their preferred theme from their account settings. Users can override the system default theme with their personal preference.
🌐 Plugin Homepage: https://www.redmine.org/plugins/redmine_theme_changer
- ✨ Individual theme selection per user
- 🔧 System-wide theme fallback support
- Redmine >= 5.0.0
- Ruby >= 3.0
- Rails compatible with your Redmine version
-
Navigate to your Redmine plugins directory:
cd /path/to/redmine/plugins -
Clone or copy the plugin:
git clone https://github.com/haru/redmine_theme_changer.git
-
Install dependencies and migrate the plugin:
cd /path/to/redmine bundle install rake redmine:plugins:migrate RAILS_ENV=production -
Restart your Redmine instance.
- Download the latest release from the GitHub releases page
- Extract to your Redmine
plugins/directory - Follow steps 3-4 from the source installation
After installation:
- Log in to your Redmine instance
- Go to My Account (top-right menu)
- Find the Theme section in your account settings
- Select your preferred theme from the dropdown
- Save your settings
The theme change will be applied immediately across all your Redmine sessions.
To remove the plugin:
-
Rollback the plugin migration:
rake redmine:plugins:migrate NAME=redmine_theme_changer RAILS_ENV=production VERSION=0
-
Remove the plugin directory:
rm -rf plugins/redmine_theme_changer
-
Restart Redmine.
# Install test dependencies
bundle install
# Run plugin tests
bundle exec rake redmine:plugins:test NAME=redmine_theme_changerredmine_theme_changer/
├── app/
│ ├── models/ # ThemeChangerUserSetting model
│ └── views/ # Theme selection form partial
├── config/locales/ # Internationalization files
├── db/migrate/ # Database migrations
├── lib/ # Core plugin logic and patches
└── test/ # Test files and fixtures
This plugin extends Redmine core functionality through Ruby module patches:
- UserPreferencePatch: Adds theme getter/setter to UserPreference model
- ThemesPatch: Overrides ApplicationHelper's theme resolution logic
- MyAccountHooks: Injects theme selector into user account settings
Contributions are welcome! Please feel free to submit pull requests, report bugs, or suggest features.
- Fork the repository on GitHub
- Create a feature branch from the
developbranch:git checkout develop git checkout -b feature/your-feature-name
- Make your changes and test them
- Commit your changes with descriptive commit messages
- Push to your fork and create a pull request
Important: All pull requests must be submitted against the develop branch, not main. Pull requests against other branches will be closed.
To add a new language:
- Copy
config/locales/en.ymltoconfig/locales/[your_language].yml - Translate the strings while keeping the keys unchanged
- Submit a pull request against the
developbranch
This plugin is released under the GNU General Public License v2 or later.
See CHANGELOG.md for version history and changes.
- 🐛 Bug Reports: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📧 Email: Contact via GitHub
Haruyuki Iida - Initial work and maintenance
⭐ If this plugin helps you, please consider giving it a star on GitHub!