2024-06-07 12:04:02 -03:00

81 lines
2.1 KiB
Markdown

# Theming
## Custom Printer Select Icons
When multiple printers are configured, you can customize their icons by placing an icon file in the following directory:
`~/KlipperScreen/styles/printers/`
- The icon file name must match the exact printer name as configured in `KlipperScreen.conf`.
- Supported formats for icons are SVG or PNG.
Example:
```sh
cp /path/to/printer_icon.svg ~/KlipperScreen/styles/printers/printer_name.svg
sudo service KlipperScreen restart
```
## Custom Themes
To create a custom theme for KlipperScreen, follow these steps:
1. **Create Theme Directory:**
- Navigate to `~/KlipperScreen/styles/`.
- Create a new folder with the desired theme name.
2. **Add Icon Images:**
- Inside the theme folder, create a subfolder named `images`.
- Place your SVG icon files here. Refer to the code or default theme for specific icon names used by KlipperScreen.
3. **Customize Styles:**
- Create a CSS file named `style.css` within your theme folder.
- Use existing themes or the default theme as a reference for CSS styles.
Example procedure for creating a theme named `mytheme`:
```sh
cd ~/KlipperScreen/styles/
# Create the directory
mkdir -p mytheme/images
# Copy required SVG icons
cp material-light/images/* mytheme/images/
# Create custom styles
echo "window { background-color: #FFFFFF; }" > style.css
```
4. **Apply the Theme:**
- After creating your theme, restart the KlipperScreen service:
```sh
sudo service KlipperScreen restart
```
- Select you theme from the list in the options.
### Example: Creating a Custom Theme
```sh
cd ~/KlipperScreen/styles/
mkdir -p mytheme/images
cd mytheme
cp ../default_theme/images/* images/
echo "window { background-color: #FFFFFF; }" > style.css
sudo service KlipperScreen restart
```
### Example: Custom Background and CSS
Creating a custom background from Mainsail sidebar using Z-bolt icons:
```css
/* style.css */
window {
background-image: url("/home/pi/mainsail/img/background.svg");
}
button {
background-color: rgba(0,0,0,0);
border-radius: 2em;
}
```
![Custom theme example with background](img/theming/theme_example.png)