I’ve created a generic template that allows you to change just the name of the color palette and the theme’s harmony will be reasonable enough.
No need to mess with default background (grey).
Choose a color from the Material design palette and just change the predominant_color variable.
File data/conf/sogo/custom-theme.js:
(function() {
'use strict';
angular.module('SOGo.Common')
.config(configure)
configure.$inject = ['$mdThemingProvider'];
function configure($mdThemingProvider) {
// Pick a color pallete: 'indigo', 'teal', 'cyan', 'blue', 'light-freen' etc.
// https://m1.material.io/style/color.html#color-color-palette
var predominant_color = 'blue-grey'
$mdThemingProvider.theme('default')
.primaryPalette(predominant_color, {
'default': '600', // background color of top toolbars
'hue-1': '100', // week numbers in calendar
'hue-2': '500', // background color of sidebar toolbar (user name and email)
})
.accentPalette(predominant_color, {
'default': '100', // background color of fab buttons and login screen
'hue-1': '200', // background color of center list toolbar
'hue-2': '200', // highlight color for selected mail and current day calendar
});
$mdThemingProvider.generateThemesOnDemand(false);
}
})();
The new colors will be loaded when you restart memcached-mailcow and sogo-mailcow.
docker compose restart memcached-mailcow sogo-mailcow
After that, you can further customize the theme to your liking, if needed, changing the values in the primaryPalette and accentPalette (100, 200, 600 etc.), according to the shades from here.
To make changes persistent, follow the steps described here.
Hope it helps!