4.2. Customizing graphical elements
To customize the graphical elements, you can modify or replace the customisable elements with the custom branded material, and update the container files.
The customisable graphical elements of the installer are stored in the /usr/share/anaconda/pixmaps/ directory in the installer runtime file system. This directory contains the following customisable files:
pixmaps
├─ anaconda-password-show-off.svg
├─ anaconda-password-show-on.svg
├─ right-arrow-icon.png
├─ sidebar-bg.png
├─ sidebar-logo.png
└─ topbar-bg.png
Additionally, the /usr/share/anaconda/ directory contains a base CSS stylesheet named anaconda-gtk.css, which determines the file names and parameters of the main UI elements - the logo and the backgrounds for the sidebar and top bar. Product-specific stylesheet customizations are located in a separate file (/usr/share/anaconda/pixmaps/redhat.css) and override the defaults from the anaconda-gtk.css file. Use a product-specific file for CSS customizations as it only overrides the particular elements of the stylesheet as needed.
The product-specific redhat.css file has the following content that can be customized as per your requirement (for the full stylesheet specifications, see content of the anaconda-gtk.css file):
/* theme colors/images */
@define-color product_bg_color @redhat;
/* logo and sidebar classes */
.logo-sidebar {
background-image: url('/usr/share/anaconda/pixmaps/sidebar-bg.png');
background-color: @product_bg_color;
background-repeat: no-repeat;
}
/* Add a logo to the sidebar */
.logo {
background-image: url('/usr/share/anaconda/pixmaps/sidebar-logo.png');
background-position: 50% 20px;
background-repeat: no-repeat;
background-color: transparent;
}
/* This is a placeholder to be filled by a product-specific logo. */
.product-logo {
background-image: none;
background-color: transparent;
}
AnacondaSpokeWindow #nav-box {
background-color: @product_bg_color;
background-image: url('/usr/share/anaconda/pixmaps/topbar-bg.png');
background-repeat: no-repeat;
color: white;
}
The most important part of the CSS file is the way in which it handles scaling based on resolution. The PNG image backgrounds do not scale, they are always displayed in their true dimensions. Instead, the backgrounds have a transparent background, and the stylesheet defines a matching background color on the @define-color line. Therefore, the background images "fade" into the background color, which means that the backgrounds work on all resolutions without a need for image scaling.
You could also change the background-repeat parameters to tile the background, or, if you are confident that every system you will be installing on will have the same display resolution, you can use background images which fill the entire bar.
Any of the files listed above can be customized. Once you do so, follow the instructions in Creating a product.img File to create your own product.img with custom graphics, and then Creating Custom Boot Images to create a new bootable ISO image with your changes included.