Frappe Desk Theme
A comprehensive theming solution for FrappeERPNext desk interface that allows complete customization of the user interface appearance.
- Author: dhwani-ris
- Repository: https://github.com/dhwani-ris/frappe_desk_theme
- GitHub stars: 43
- Forks: 43
- License: MIT
- Category: Themes
- Maintenance: Actively Maintained
Install Frappe Desk Theme
bench get-app https://github.com/dhwani-ris/frappe_desk_theme
Add the Frappe Gems badge to your README
Maintain Frappe Desk Theme? Paste this into your README:
[](https://frappegems.com/gems/apps/dhwani-ris/frappe_desk_theme)
About Frappe Desk Theme
Frappe Desk Theme
A comprehensive theming solution for FrappeERPNext desk interface that allows complete customization of the user interface appearance.
✨ Key Highlights
- 🎨 Comprehensive Customization - Complete control over every UI element
- 📱 Mobile Responsive - Perfect experience across all devices
- 🔧 Production Ready - Silent error handling and bulletproof fallbacks
Features
🎨 Login Page Customization
- Background: Choose between solid color or background image
- Login Box: Customizable position (Default, Left, Right)
- Login Button: Full control over button colors, text colors, and hover states
- Page Title: Custom login page title (30 characters max)
- Smooth Animations: Elegant fade-in transitions with fallback safety
🧭 Navigation Bar
- Colors: Customize background and text colors
- Help Button: Option to hide the help button
- Search Bar: Role-based search bar visibility control
- Icons: Automatic color adaptation for SVG elements
🔘 Button Styling
- Primary Buttons: Background, text, and hover state colors
- Secondary Buttons: Separate styling for secondary button variants
- State Management: Proper focus and active states
📄 Body & Content
- Background: Customize main body background color
- Content Box: Background color for content areas
- Sidebar: Option to hide the left sidebar
- Typography: Custom text colors for enhanced readability
📊 Tables & Lists
- Header Styling: Background and text colors for table headers
- Body Styling: Background and text colors for table bodies
- Interactive Elements: Option to hide like/comment sections
- Mobile View: Control card view and flex content on mobile devices
🎯 Widgets & Components
- Number Cards: Background, border, and text colors
- Input Fields: Background, border, text, and label colors
- Form Elements: Comprehensive styling for all form components
Installation
Using Bench CLI
cd $PATH_TO_YOUR_BENCH
bench get-app frappe_desk_theme --branch development
bench install-app frappe_desk_theme
bench build --app frappe_desk_theme
Manual Installation
- Clone this repository to your
appsdirectory - Run
bench install-app frappe_desk_theme - Build assets:
bench build --app frappe_desk_theme - Restart your Frappe server
Configuration
Quick Setup
- Access Theme Settings: Go to Desk → Desk Theme (System Manager role required)
- Choose Sections: Configure Login Page, Navbar, Buttons, Body, Tables, Widgets, Inputs
- Save & Apply: Changes apply immediately with smooth transitions
Theme Sections
| Section | Customizable Elements |
|---|---|
| Login Page | Background, box position, button colors, custom title |
| Navbar | Background, text colors, help button, search visibility |
| Buttons | Primary/secondary colors, hover states |
| Body | Background, content areas, sidebar visibility |
| Tables | Headers, body colors, mobile behavior |
| Widgets | Number cards, dashboard elements |
| Inputs | Form fields, labels, borders |
Browser Support
✅ Modern Browsers: Chrome 60+, Firefox 55+, Safari 12+, Edge 79+
✅ CSS Variables: Full support for dynamic theming
✅ Local Storage: Caching functionality
✅ Progressive Enhancement: Works without JavaScript
Development
Setup Development Environment
cd apps/frappe_desk_theme
pre-commit install
bench build --app frappe_desk_theme --force
Code Quality Tools
- ruff: Python code formatting and linting
- eslint: JavaScript linting
- prettier: Code formatting
- pyupgrade: Python code modernization
Development Features
- Hot Reload: Changes apply immediately in developer mode
- Debug Tools: Refresh button and keyboard shortcuts (Ctrl+Shift+R)
- Error Logging: Detailed error information in development
Building Assets
# Development build
bench build --app frappe_desk_theme
# Production build (minified)
bench build --app frappe_desk_theme --production
Troubleshooting
Common Issues
Theme not applying?
- Clear browser cache and localStorage
- Check System Manager permissions
- Verify app installation: bench list-apps
Login box flickering?
- Ensure assets are built: bench build --app frappe_desk_theme
- Check browser console for JavaScript errors
- Verify CSS is loading properly
Performance issues?
- Clear theme cache: localStorage.removeItem('frappe_desk_theme_cache')
- Check network tab for failed API calls
- Restart Frappe server
Debug Commands
# Clear cache
bench console --site -c "import frappe; frappe.cache().delete_key('*theme*')"
# Rebuild assets
bench build --app frappe_desk_theme --force
# Check app status
bench list-apps
License
MIT License - see license.txt for details.
Support & Contributing
- Publisher: Dhwani RIS
- Email: bhushan.barbuddhe@dhwaniris.com
- Issues: Report bugs via GitHub issues
- PRs Welcome: Follow pre-commit guidelines
Contributing Guidelines
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Follow code quality standards (pre-commit will help)
- Test thoroughly on different screen sizes
- Submit pull request with detailed description
Related Themes apps for Frappe & ERPNext
- Bluetheme — Custom Theme for ERPNext v12 with new Desk 2.0
- Frappe Theme — Theme for Frappe sites
- Portal Theme — Theme your entire Frappe portal — navbar, cards, login page, and more.
- Redtheme V13B — Custom theme for ERPNext/Frappe version 13-beta
- Whitetheme V13 — Custom Theme for Frappe/ERPNext v13
- Saas Theme — A modern, polished SaaS UI theme for Frappe Framework v16 — dual sidebar, slide-in editors, enhanced forms & dashboard.
- Theme — Frappe V15 Theme same like spike tailwind
- Bdtheme —