├── .editorconfig ├── .gitignore ├── LICENSE ├── README.md ├── assets ├── .gitkeep └── previews │ ├── frappe.webp │ ├── latte.webp │ ├── macchiato.webp │ ├── mocha.webp │ └── preview.webp ├── build.py └── properties.xml /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # EditorConfig is awesome: https://EditorConfig.org 4 | 5 | root = true 6 | 7 | [*] 8 | charset = utf-8 9 | indent_size = 2 10 | indent_style = space 11 | end_of_line = lf 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | 15 | # go 16 | [*.go] 17 | indent_style = tab 18 | indent_size = 4 19 | 20 | # python 21 | [*.{ini,py,py.tpl,rst}] 22 | indent_size = 4 23 | 24 | # rust 25 | [*.rs] 26 | indent_size = 4 27 | 28 | # documentation, utils 29 | [*.{md,mdx,diff}] 30 | trim_trailing_whitespace = false 31 | 32 | # windows shell scripts 33 | [*.{cmd,bat,ps1}] 34 | end_of_line = crlf 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | output 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Catppuccin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | Logo
3 | 4 | Catppuccin for MiXplorer 5 | 6 |

7 | 8 |

9 | 10 | 11 | 12 |

13 | 14 |

15 | 16 |

17 | 18 | ## Previews 19 | 20 |
21 | 🌻 Latte 22 | 23 |
24 |
25 | 🪴 Frappé 26 | 27 |
28 |
29 | 🌺 Macchiato 30 | 31 |
32 |
33 | 🌿 Mocha 34 | 35 |
36 | 37 | ## Usage 38 | 39 | ### Downloading theme 40 | 1. Download your flavor from [releases](https://github.com/catppuccin/mixplorer/releases/latest) 41 | 2. Open downloaded zip in MiXplorer 42 | 3. Click on accent color you want to use 43 | 4. select import 44 | 45 | ### Building with script 46 | 1. Clone this repository locally 47 | 2. Make sure you have catppuccin python library installed, you can install it with `pip install catppuccin` 48 | 3. run `build.py` in python to generate all accents and zip it 49 | 4. the files will now be in `output` folder, open `mixplorer-catppuccin-.zip` in mixplorer, click on accent you want to choose and click import 50 | 51 | ## 💝 Thanks to 52 | 53 | - [Auriafoxgirl](https://github.com/auriafoxgirl) 54 | 55 |   56 | 57 |

58 | 59 |

60 | 61 |

62 | Copyright © 2021-present Catppuccin Org 63 |

64 | 65 |

66 | 67 |

68 | -------------------------------------------------------------------------------- /assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/mixplorer/3f5e183f1d7c71596c42a834f9a3ec0c671d4a0c/assets/.gitkeep -------------------------------------------------------------------------------- /assets/previews/frappe.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/mixplorer/3f5e183f1d7c71596c42a834f9a3ec0c671d4a0c/assets/previews/frappe.webp -------------------------------------------------------------------------------- /assets/previews/latte.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/mixplorer/3f5e183f1d7c71596c42a834f9a3ec0c671d4a0c/assets/previews/latte.webp -------------------------------------------------------------------------------- /assets/previews/macchiato.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/mixplorer/3f5e183f1d7c71596c42a834f9a3ec0c671d4a0c/assets/previews/macchiato.webp -------------------------------------------------------------------------------- /assets/previews/mocha.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/mixplorer/3f5e183f1d7c71596c42a834f9a3ec0c671d4a0c/assets/previews/mocha.webp -------------------------------------------------------------------------------- /assets/previews/preview.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/catppuccin/mixplorer/3f5e183f1d7c71596c42a834f9a3ec0c671d4a0c/assets/previews/preview.webp -------------------------------------------------------------------------------- /build.py: -------------------------------------------------------------------------------- 1 | # libraries 2 | import os 3 | from zipfile import ZipFile 4 | from catppuccin import PALETTE 5 | import re 6 | 7 | # read properties.xml 8 | file = open('properties.xml', 'r') 9 | theme = file.read() 10 | file.close() 11 | 12 | # make output directory 13 | if not os.path.exists('output'): 14 | os.mkdir('output') 15 | 16 | # generate all flavors 17 | for flavor in PALETTE: 18 | with ZipFile('output/mixplorer-catppuccin-' + flavor.name + '.zip', 'w') as flavor_zip: 19 | print('generating ' + flavor.name) 20 | 21 | # get colors 22 | colors = {} 23 | for accent in flavor.colors: 24 | colors[accent.identifier] = re.sub(r'^#', '', accent.hex) 25 | 26 | # generate flavors 27 | for accent in flavor.colors: 28 | if accent.accent: 29 | def replaceValues(match): 30 | v = match.group(1) 31 | if v == 'flavorName': 32 | return flavor.name 33 | elif v == 'accentName': 34 | return accent.name 35 | elif v == 'accent': 36 | return colors[accent.identifier] 37 | elif colors.get(v): 38 | return colors[v] 39 | 40 | result = re.sub(r'{{([\w\s]+?)}}', replaceValues, theme) 41 | with ZipFile('output/temp.zip', 'w') as accentZip: 42 | accentZip.writestr('properties.xml', result) 43 | flavor_zip.write('output/temp.zip', 'mixplorer-catppuccin-' + flavor.name + '-' + accent.name + '.mit') 44 | 45 | # remove temporary file 46 | os.remove("output/temp.zip") 47 | -------------------------------------------------------------------------------- /properties.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | catppuccin {{flavorName}} {{accentName}} 5 | Auriafoxgirl 6 | 7 | #ff{{overlay0}} 8 | #ff{{base}} 9 | #00000000 10 | #ff{{subtext1}} 11 | #ff{{overlay0}} 12 | #64{{accent}} 13 | #e6{{text}} 14 | #dc{{text}} 15 | #ff{{subtext0}} 16 | #ff{{text}} 17 | #ff{{base}} 18 | #ff{{mantle}} 19 | #ff{{text}} 20 | #ff{{subtext1}} 21 | #ff{{base}} 22 | #ff{{subtext1}} 23 | #ff{{peach}} 24 | #ff{{base}} 25 | #80{{accent}} 26 | #ff{{subtext0}} 27 | #96{{text}} 28 | #ff{{text}} 29 | #ff{{surface2}} 30 | #ff{{text}} 31 | #ff{{surface0}} 32 | #ff{{accent}} 33 | #ff{{text}} 34 | #ff{{subtext1}} 35 | #ff{{base}} 36 | #ff{{overlay0}} 37 | #ff{{base}} 38 | #ff{{subtext1}} 39 | #ff{{accent}} 40 | #0a{{subtext1}} 41 | #ff{{text}} 42 | #ff{{text}} 43 | #ff{{base}} 44 | #ff{{accent}} 45 | #ff{{subtext1}} 46 | #ff{{mauve}} 47 | #ff{{subtext1}} 48 | #ff{{subtext1}} 49 | #ff{{base}} 50 | #ff{{accent}} 51 | #ff{{subtext1}} 52 | #ff{{maroon}} 53 | #ff{{base}} 54 | #ff{{base}} 55 | #ff{{overlay0}} 56 | #ff{{sapphire}} 57 | #00000000 58 | #00000000 59 | #00000000 60 | #ff{{accent}} 61 | #ff{{peach}} 62 | #ff{{text}} 63 | #ff{{text}} 64 | #ff{{base}} 65 | #ff{{subtext0}} 66 | #ff{{subtext1}} 67 | #ff{{text}} 68 | #ff{{base}} 69 | #ff{{subtext1}} 70 | #ff{{text}} 71 | #ff{{text}} 72 | #ff{{accent}} 73 | #ff{{text}} 74 | #ff{{overlay0}} 75 | #ff{{text}} 76 | #ff{{surface0}} 77 | 78 | --------------------------------------------------------------------------------