Compare commits
21 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
edef76faba | ||
|
e7314059e2 | ||
|
355e12387f | ||
|
5b6c477850 | ||
|
4f4501f83b | ||
|
7000de38a1 | ||
|
8d9803f089 | ||
|
26b0d12b1b | ||
|
5b043b61c6 | ||
|
3b802c6b03 | ||
|
939386a30a | ||
|
e279ceffca | ||
|
c577226e9c | ||
|
76cccfa215 | ||
|
9082969c1c | ||
|
f3faf6d9da | ||
|
761a075ca9 | ||
|
9849cea54f | ||
|
0f516404fd | ||
|
23a48d8b81 | ||
|
03376d1003 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -3,6 +3,9 @@ pkgs/
|
||||
__pycache__
|
||||
venv/
|
||||
.venv
|
||||
bin/
|
||||
lib*/
|
||||
*.cfg
|
||||
|
||||
# Releases folder
|
||||
releases
|
||||
|
135
README.md
135
README.md
@@ -23,9 +23,8 @@ This GTK theme is based on the [Colloid](https://github.com/vinceliuice/Colloid-
|
||||
|
||||
### Requirements
|
||||
|
||||
- GTK `>=3.20`
|
||||
- `gnome-themes-extra` (or `gnome-themes-standard`)
|
||||
- Murrine engine
|
||||
- GTK `>=3.20`
|
||||
- `gnome-themes-extra` (or `gnome-themes-standard`)
|
||||
|
||||
### Installation
|
||||
|
||||
@@ -36,31 +35,42 @@ This GTK theme is based on the [Colloid](https://github.com/vinceliuice/Colloid-
|
||||
### For Arch Linux users
|
||||
|
||||
We have 4 AUR packages for all the 4 flavours of the theme:
|
||||
|
||||
- [Latte](https://aur.archlinux.org/packages/catppuccin-gtk-theme-latte)
|
||||
- [Frappe](https://aur.archlinux.org/packages/catppuccin-gtk-theme-frappe)
|
||||
- [Macchiato](https://aur.archlinux.org/packages/catppuccin-gtk-theme-macchiato)
|
||||
- [Mocha](https://aur.archlinux.org/packages/catppuccin-gtk-theme-mocha)
|
||||
|
||||
With your favourite AUR helper, install them:
|
||||
```bash
|
||||
yay -S catppuccin-gtk-theme-mocha catppuccin-gtk-theme-macchiato catppuccin-gtk-theme-frappe catppuccin-gtk-theme-latte
|
||||
```
|
||||
|
||||
```bash
|
||||
yay -S catppuccin-gtk-theme-mocha catppuccin-gtk-theme-macchiato catppuccin-gtk-theme-frappe catppuccin-gtk-theme-latte
|
||||
```
|
||||
|
||||
### For Nix users
|
||||
|
||||
The [catppuccin-gtk](https://github.com/NixOS/nixpkgs/blob/master/pkgs/data/themes/catppuccin-gtk/default.nix) package in Nixpkgs allows you to specify the accents, size, tweaks and variant (flavour) of the theme by overriding the package.
|
||||
|
||||
By default, the variant is `frappe`, the accent is `blue`, the size is `standard`, and no tweaks are enabled. To change them, override the package. A list of valid choices are available in the package definition [here](https://github.com/NixOS/nixpkgs/blob/7ce8e7c4cf90492a631e96bcfe70724104914381/pkgs/data/themes/catppuccin-gtk/default.nix#L16).
|
||||
|
||||
Example:
|
||||
|
||||
```nix
|
||||
pkgs.catppuccin-gtk.override {
|
||||
accents = [ "pink" ]; # You can specify multiple accents here to output multiple themes
|
||||
size = "compact";
|
||||
tweaks = [ "rimless" "black" ]; # You can also specify multiple tweaks here
|
||||
variant = "macchiato";
|
||||
}
|
||||
# as per wiki examples
|
||||
environment.systemPackages = with pkgs; [
|
||||
...
|
||||
(catppuccin-gtk.override {
|
||||
accents = [ "pink" ]; # You can specify multiple accents here to output multiple themes
|
||||
size = "compact";
|
||||
tweaks = [ "rimless" "black" ]; # You can also specify multiple tweaks here
|
||||
variant = "macchiato";
|
||||
})
|
||||
...
|
||||
];
|
||||
```
|
||||
|
||||
To use it in home-manager:
|
||||
|
||||
```nix
|
||||
# home.nix
|
||||
{
|
||||
@@ -70,7 +80,7 @@ To use it in home-manager:
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Catppuccin-Macchiato-Compact-Pink-dark";
|
||||
name = "Catppuccin-Macchiato-Compact-Pink-Dark";
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
accents = [ "pink" ];
|
||||
size = "compact";
|
||||
@@ -80,11 +90,19 @@ To use it in home-manager:
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
# Now symlink the `~/.config/gtk-4.0/` folder declaratively:
|
||||
xdg.configFile = {
|
||||
"gtk-4.0/assets".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/assets";
|
||||
"gtk-4.0/gtk.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk.css";
|
||||
"gtk-4.0/gtk-dark.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk-dark.css";
|
||||
};
|
||||
```
|
||||
|
||||
### For GTK 4 users
|
||||
|
||||
To theme GTK 4 applications you have to manually symlink the `~/.config/gtk-4.0/` to the themes folder. Use the following commands
|
||||
|
||||
```bash
|
||||
mkdir -p "${HOME}/.config/gtk-4.0"
|
||||
ln -sf "${THEME_DIR}/gtk-4.0/assets" "${HOME}/.config/gtk-4.0/assets"
|
||||
@@ -95,30 +113,84 @@ ln -sf "${THEME_DIR}/gtk-4.0/gtk-dark.css" "${HOME}/.config/gtk-4.0/gtk-dark.css
|
||||
### For Flatpak users
|
||||
|
||||
1. To give your Flatpaks access to your themes folder run:
|
||||
```bash
|
||||
sudo flatpak override --filesystem=$HOME/.themes
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo flatpak override --filesystem=$HOME/.themes
|
||||
```
|
||||
|
||||
2. To set the theme for all Flatpaks, replace `##theme##` with the name of the theme you want to use and run this command:
|
||||
```bash
|
||||
sudo flatpak override --env=GTK_THEME=##theme##
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo flatpak override --env=GTK_THEME=##theme##
|
||||
```
|
||||
|
||||
3. For a more in depth tutorial see Hamza Algohary's tutorial on [It's FOSS](https://itsfoss.com/flatpak-app-apply-theme/)
|
||||
|
||||
### Handling GTK theme installation from window manager
|
||||
|
||||
1. Install unzip and curl.
|
||||
2. Go to your window manager config file.
|
||||
3. Add an entrance to the config file to be executed when your window manager is loaded.
|
||||
- i3/sway example:
|
||||
```
|
||||
# catppuccin
|
||||
set $ctp-version v0.6.1
|
||||
exec_always if [ ! -e ~/.themes/Catppuccin-Frappe-Standard-Lavender-dark ]; then \
|
||||
mkdir -p ~/.themes \
|
||||
&& curl -L https://github.com/catppuccin/gtk/releases/download/$ctp-version/Catppuccin-Frappe-Standard-Lavender-dark.zip -o ~/.themes/catppuccin.zip \
|
||||
&& unzip ~/.themes/catppuccin.zip -d ~/.themes/ \
|
||||
&& rm -rf ~/.themes/catppuccin.zip; fi
|
||||
```
|
||||
> Note: The previous example execute that script every time i3/sway is reloaded.
|
||||
4. Set the GTK_THEME environment variable:
|
||||
|
||||
```sh
|
||||
export GTK_THEME='Catppuccin-Frappe-Standard-Lavender-dark:dark'
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> in order to update the theme's version, just change the variable `$ctp-version`.
|
||||
|
||||
### GDM Theme
|
||||
|
||||
> [!WARNING]
|
||||
> Applying a custom theme to GDM is not recommended as it is not themeable, however you can do it through certain *hacks*.
|
||||
|
||||
To apply the theme to GDM, A new `gnome-shell-theme.gresource.xml` needs to be complied.
|
||||
To achieve this, you can run the following:
|
||||
|
||||
```bash
|
||||
# Backup the current gresource file.
|
||||
sudo cp -av /usr/share/gnome-shell/gnome-shell-theme.gresource{,~}
|
||||
sudo glib-compile-resources --target="/usr/share/gnome-shell/gnome-shell-theme.gresource" --sourcedir="$THEME_DIR" "$THEME_DIR/gnome-shell-theme.gresource.xml"
|
||||
```
|
||||
|
||||
Make sure to replace `$THEME_DIR` to where the theme was extracted accordingly.
|
||||
|
||||
- For nix users, it'll be the nix store path of the package.
|
||||
- For AUR users, it'll be in `~/.themes`
|
||||
- Otherwise, it'll be wherever you extracted the theme.
|
||||
|
||||
### Using the script
|
||||
|
||||
**Note**: Ensure that you have at least Python version 3.10 installed
|
||||
|
||||
Clone the repository using
|
||||
Set up the installer using
|
||||
|
||||
```bash
|
||||
git clone --recurse-submodules git@github.com:catppuccin/gtk.git
|
||||
cd gtk
|
||||
virtualenv -p python3 venv # to be created only once and only if you need a virtual env
|
||||
source venv/bin/activate
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
To check out the install script, run
|
||||
|
||||
To check out the install script, run
|
||||
|
||||
```bash
|
||||
python install.py --help
|
||||
```
|
||||
|
||||
> Tip: `python install.py --help` allows the following options:
|
||||
|
||||
```
|
||||
@@ -129,7 +201,7 @@ Compulsory field Specify color variant(s) [mocha|frappe|macchiato|latte|a
|
||||
sapphire|blue|lavender|all] (Default: blue)
|
||||
-s, --size VARIANT... Specify size variant [standard|compact] (Default: standard variant)
|
||||
-l, --link Link installed gtk-4.0 theme to config folder for all libadwaita app use this theme
|
||||
--zip Zips up the finally produced themes.
|
||||
--zip Zips up the finally produced themes.
|
||||
--tweaks Specify versions for tweaks [black|rimless|normal|float]
|
||||
1. black: Blackness color version
|
||||
2. rimless: Remove the 1px border about windows and menus
|
||||
@@ -137,12 +209,16 @@ Compulsory field Specify color variant(s) [mocha|frappe|macchiato|latte|a
|
||||
4. float: Floating gnome-shell panel style
|
||||
-h, --help Show help
|
||||
```
|
||||
|
||||
You can install any theme like the following example
|
||||
|
||||
```bash
|
||||
python install.py mocha -a sky --tweaks rimless -d ~/.themes
|
||||
|
||||
```
|
||||
|
||||
You can build all possible variations of the theme possible using the following command and it will install it to releases folder
|
||||
|
||||
```bash
|
||||
python install.py all -a all
|
||||
```
|
||||
@@ -150,6 +226,7 @@ python install.py all -a all
|
||||
## Development
|
||||
|
||||
You need to install the following packages to build the theme. Check with your distribution for the package names in the repository
|
||||
|
||||
- `sassc`
|
||||
- `inkscape`
|
||||
- `optipng`
|
||||
@@ -157,20 +234,24 @@ You need to install the following packages to build the theme. Check with your d
|
||||
A few important notes to keep in mind
|
||||
|
||||
- `recolor.py` handles all changes that needs to be done to colloid to ensure it generated catppuccin colors. If vinceliuice changes anything in his theme in future, that is where you must change
|
||||
- `var.py` includes all different variables that you can tinker around as per your personal requirements.
|
||||
- `create_theme.py` consists of a wrapper that will recolor the colloid theme, install it as per the args provided and rename it accordingly.
|
||||
|
||||
- `var.py` includes all different variables that you can tinker around as per your personal requirements.
|
||||
- `create_theme.py` consists of a wrapper that will recolor the colloid theme, install it as per the args provided and rename it accordingly.
|
||||
|
||||
## 💝 Thanks to
|
||||
|
||||
**Current maintainers**
|
||||
|
||||
- [npv12](https://github.com/npv12)
|
||||
- [ghostx31](https://github.com/ghostx31)
|
||||
- [Syndrizzle](https://github.com/Syndrizzle)
|
||||
|
||||
**Contributions**
|
||||
- [rubyowo](https://github.com/rubyowo) - for working on the build and CI script
|
||||
|
||||
- [rubyowo](https://github.com/rubyowo) - CI and docs
|
||||
- [braheezy](https://github.com/braheezy) - Instructions for the GDM theme.
|
||||
|
||||
**Previous maintainer(s)**
|
||||
|
||||
- [sadrach-cl](https://github.com/sadrach-cl)
|
||||
|
||||
|
||||
|
2
colloid
2
colloid
Submodule colloid updated: cac59182b7...06da74bbd6
@@ -9,7 +9,7 @@ import argparse
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from scripts.ctp_colors import ctp_colors, get_all_accent
|
||||
from scripts.ctp_colors import get_all_accent, get_all_flavors
|
||||
from scripts.create_theme import create_theme
|
||||
from scripts.var import theme_name, work_dir
|
||||
|
||||
@@ -86,12 +86,12 @@ parser.add_argument("--recreate-asset",
|
||||
args = parser.parse_args()
|
||||
|
||||
if "all" in args.flavor:
|
||||
flavors = ctp_colors.keys()
|
||||
flavors = get_all_flavors()
|
||||
else:
|
||||
flavors = args.flavor
|
||||
|
||||
if "all" in args.accent:
|
||||
accents = get_all_accent().keys()
|
||||
accents = get_all_accent()
|
||||
else:
|
||||
accents = args.accent
|
||||
|
||||
|
@@ -1 +1 @@
|
||||
catppuccin>=1.1.1
|
||||
catppuccin>=2.0.0
|
||||
|
@@ -1,16 +1,16 @@
|
||||
from catppuccin import PALETTE
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
from typing import List
|
||||
|
||||
from scripts.ctp_colors import ctp_colors
|
||||
from scripts.patches import recreate_xfwm4_assets
|
||||
from scripts.recolor import recolor
|
||||
from scripts.utils import replacetext, zip_multiple_folders
|
||||
from scripts.var import def_color_map, repo_dir, src_dir, theme_name, work_dir
|
||||
|
||||
|
||||
def create_theme(types: List[str], accents: List[str], dest: str, link: bool = False,
|
||||
def create_theme(types: List[str], accents: List[str], dest: str, link: bool = False,
|
||||
name: str = theme_name, size: str = "standard", tweaks=[], zip = False, recreate_assets = False) -> None:
|
||||
|
||||
try:
|
||||
@@ -24,7 +24,7 @@ def create_theme(types: List[str], accents: List[str], dest: str, link: bool = F
|
||||
|
||||
for accent in accents:
|
||||
# Recolor colloid wrt our selection like mocha. latte
|
||||
recolor(ctp_colors[type], accent)
|
||||
recolor(getattr(PALETTE, type), accent)
|
||||
theme_style: str = "light" if type == "latte" else "dark"
|
||||
install_cmd: str = f"./install.sh -c {theme_style} -s {size} -n {name} -d {dest} -t {def_color_map[accent]}"
|
||||
if tweaks:
|
||||
|
@@ -1,16 +1,11 @@
|
||||
from catppuccin import Flavour
|
||||
from catppuccin import PALETTE
|
||||
import dataclasses
|
||||
|
||||
|
||||
def get_all_flavors():
|
||||
return [f.name for f in dataclasses.fields(PALETTE)]
|
||||
|
||||
ctp_colors = {
|
||||
"latte": Flavour.latte(),
|
||||
"mocha": Flavour.mocha(),
|
||||
"frappe": Flavour.frappe(),
|
||||
"macchiato": Flavour.macchiato()
|
||||
}
|
||||
|
||||
def get_all_accent():
|
||||
accent = {}
|
||||
for key, value in Flavour.latte().__dict__.items():
|
||||
if key not in ['white', 'black', 'text', 'subtext0', 'subtext1', 'overlay0', 'overlay1', 'overlay2', 'surface0', 'surface1', 'surface2', 'base', 'mantle', 'crust']:
|
||||
accent[key] = value
|
||||
|
||||
return accent
|
||||
exclude = ['white', 'black', 'text', 'subtext0', 'subtext1', 'overlay0', 'overlay1', 'overlay2', 'surface0', 'surface1', 'surface2', 'base', 'mantle', 'crust']
|
||||
return [f.name for f in dataclasses.fields(PALETTE.latte.colors) if f.name not in exclude]
|
||||
|
@@ -1,69 +1,69 @@
|
||||
from catppuccin import Flavour
|
||||
from catppuccin import PALETTE
|
||||
|
||||
from .utils import replacetext, replaceAllText
|
||||
from .var import (def_accent_dark, def_accent_light, def_color_map, src_dir, work_dir)
|
||||
|
||||
|
||||
def recolor_accent(flavor, accent: str = "blue"):
|
||||
def recolor_accent(colors, accent: str = "blue"):
|
||||
"""
|
||||
Recolors the accent color in a file.
|
||||
flavor:
|
||||
colors:
|
||||
The flavor to recolor to. Like mocha, frappe, latte, etc.
|
||||
accent:
|
||||
The accent color to replace. Defaults to Blue
|
||||
"""
|
||||
print(f"Recoloring all accents")
|
||||
replaceAllText( # Recolor as per base for dark theme.
|
||||
work_dir, def_accent_dark[def_color_map[accent]], flavor.__dict__[accent].hex)
|
||||
work_dir, def_accent_dark[def_color_map[accent]], getattr(colors, accent).hex)
|
||||
replaceAllText( # Recolor as per accent for light. Hard code it as latte
|
||||
work_dir, def_accent_light[def_color_map[accent]], Flavour.latte().__dict__[accent].hex)
|
||||
work_dir, def_accent_light[def_color_map[accent]], getattr(PALETTE.latte.colors, accent).hex)
|
||||
|
||||
|
||||
def recolor_firefox(flavor, accent: str = "blue"):
|
||||
def recolor_firefox(colors, accent: str = "blue"):
|
||||
"""
|
||||
Recolor the custom gnomish firefox to catpuccin color
|
||||
"""
|
||||
firefox_color_file_dark = f"{src_dir}/other/firefox/chrome/Colloid/colors/dark.css"
|
||||
firefox_color_file_light = f"{src_dir}/other/firefox/chrome/Colloid/colors/light.css"
|
||||
|
||||
replacetext(firefox_color_file_light, "2e3436", flavor.base.hex)
|
||||
replacetext(firefox_color_file_light, "fafafa", Flavour.latte().base.hex)
|
||||
replacetext(firefox_color_file_light, "f2f2f2", flavor.crust.hex)
|
||||
replacetext(firefox_color_file_light, "303030", Flavour.mocha().base.hex)
|
||||
replacetext(firefox_color_file_light, "ffffff", flavor.base.hex)
|
||||
replacetext(firefox_color_file_light, "5b9bf8", flavor.surface0.hex)
|
||||
replacetext(firefox_color_file_light, "3c84f7", flavor.__dict__[accent].hex)
|
||||
replacetext(firefox_color_file_light, "dedede", flavor.surface1.hex)
|
||||
replacetext(firefox_color_file_light, "f0f0f0", flavor.surface0.hex)
|
||||
replacetext(firefox_color_file_light, "FAFAFA", flavor.surface1.hex)
|
||||
replacetext(firefox_color_file_light, "fafafa", flavor.surface0.hex)
|
||||
replacetext(firefox_color_file_light, "323232", flavor.mantle.hex)
|
||||
replacetext(firefox_color_file_light, "d5d0cc", flavor.subtext1.hex)
|
||||
replacetext(firefox_color_file_light, "#2e3436", colors.base.hex)
|
||||
replacetext(firefox_color_file_light, "#fafafa", PALETTE.latte.colors.base.hex)
|
||||
replacetext(firefox_color_file_light, "#f2f2f2", colors.crust.hex)
|
||||
replacetext(firefox_color_file_light, "#303030", PALETTE.mocha.colors.base.hex)
|
||||
replacetext(firefox_color_file_light, "#ffffff", colors.base.hex)
|
||||
replacetext(firefox_color_file_light, "#5b9bf8", colors.surface0.hex)
|
||||
replacetext(firefox_color_file_light, "#3c84f7", getattr(colors, accent).hex)
|
||||
replacetext(firefox_color_file_light, "#dedede", colors.surface1.hex)
|
||||
replacetext(firefox_color_file_light, "#f0f0f0", colors.surface0.hex)
|
||||
replacetext(firefox_color_file_light, "#FAFAFA", colors.surface1.hex)
|
||||
replacetext(firefox_color_file_light, "#fafafa", colors.surface0.hex)
|
||||
replacetext(firefox_color_file_light, "#323232", colors.mantle.hex)
|
||||
replacetext(firefox_color_file_light, "#d5d0cc", colors.subtext1.hex)
|
||||
|
||||
# Buttons
|
||||
replacetext(firefox_color_file_light, "fd5f51", flavor.red.hex)
|
||||
replacetext(firefox_color_file_light, "38c76a", flavor.green.hex)
|
||||
replacetext(firefox_color_file_light, "fdbe04", flavor.yellow.hex)
|
||||
replacetext(firefox_color_file_light, "#fd5f51", colors.red.hex)
|
||||
replacetext(firefox_color_file_light, "#38c76a", colors.green.hex)
|
||||
replacetext(firefox_color_file_light, "#fdbe04", colors.yellow.hex)
|
||||
|
||||
# Dark
|
||||
replacetext(firefox_color_file_dark, "eeeeee", flavor.base.hex)
|
||||
replacetext(firefox_color_file_dark, "2c2c2c", Flavour.mocha().base.hex)
|
||||
replacetext(firefox_color_file_dark, "242424", flavor.crust.hex)
|
||||
replacetext(firefox_color_file_dark, "ffffff", Flavour.latte().base.hex)
|
||||
replacetext(firefox_color_file_dark, "383838", flavor.base.hex)
|
||||
replacetext(firefox_color_file_dark, "3584e4", flavor.surface0.hex)
|
||||
replacetext(firefox_color_file_dark, "78aeed", flavor.__dict__[accent].hex)
|
||||
replacetext(firefox_color_file_dark, "363636", flavor.surface1.hex)
|
||||
replacetext(firefox_color_file_dark, "404040", flavor.surface0.hex)
|
||||
replacetext(firefox_color_file_dark, "4F4F4F", flavor.surface1.hex)
|
||||
replacetext(firefox_color_file_dark, "444444", flavor.surface0.hex)
|
||||
replacetext(firefox_color_file_dark, "323232", flavor.mantle.hex)
|
||||
replacetext(firefox_color_file_dark, "919191", flavor.subtext1.hex)
|
||||
replacetext(firefox_color_file_dark, "#eeeeee", colors.base.hex)
|
||||
replacetext(firefox_color_file_dark, "#2c2c2c", PALETTE.mocha.colors.base.hex)
|
||||
replacetext(firefox_color_file_dark, "#242424", colors.crust.hex)
|
||||
replacetext(firefox_color_file_dark, "#ffffff", PALETTE.latte.colors.base.hex)
|
||||
replacetext(firefox_color_file_dark, "#383838", colors.base.hex)
|
||||
replacetext(firefox_color_file_dark, "#3584e4", colors.surface0.hex)
|
||||
replacetext(firefox_color_file_dark, "#78aeed", getattr(colors, accent).hex)
|
||||
replacetext(firefox_color_file_dark, "#363636", colors.surface1.hex)
|
||||
replacetext(firefox_color_file_dark, "#404040", colors.surface0.hex)
|
||||
replacetext(firefox_color_file_dark, "#4F4F4F", colors.surface1.hex)
|
||||
replacetext(firefox_color_file_dark, "#444444", colors.surface0.hex)
|
||||
replacetext(firefox_color_file_dark, "#323232", colors.mantle.hex)
|
||||
replacetext(firefox_color_file_dark, "#919191", colors.subtext1.hex)
|
||||
|
||||
# Buttons
|
||||
replacetext(firefox_color_file_dark, "fd5f51", flavor.red.hex)
|
||||
replacetext(firefox_color_file_dark, "38c76a", flavor.green.hex)
|
||||
replacetext(firefox_color_file_dark, "fdbe04", flavor.yellow.hex)
|
||||
replacetext(firefox_color_file_dark, "#fd5f51", colors.red.hex)
|
||||
replacetext(firefox_color_file_dark, "#38c76a", colors.green.hex)
|
||||
replacetext(firefox_color_file_dark, "#fdbe04", colors.yellow.hex)
|
||||
|
||||
def recolor(flavor, accent: str):
|
||||
"""
|
||||
@@ -71,75 +71,78 @@ def recolor(flavor, accent: str):
|
||||
"""
|
||||
print("Recoloring to suit catppuccin theme")
|
||||
print("Recoloring accents")
|
||||
recolor_accent(flavor, accent)
|
||||
colors = flavor.colors
|
||||
latte_colors = PALETTE.latte.colors
|
||||
mocha_colors = PALETTE.mocha.colors
|
||||
recolor_accent(colors, accent)
|
||||
print("Recoloring firefox")
|
||||
recolor_firefox(flavor, accent)
|
||||
recolor_firefox(colors, accent)
|
||||
|
||||
print("MOD: Gtkrc.sh")
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "background_light='#FFFFFF'",
|
||||
f"background_light='#{Flavour.latte().base.hex}'") # use latte_base for background_light
|
||||
f"background_light='{latte_colors.base.hex}'") # use latte_base for background_light
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "titlebar_light='#F2F2F2'",
|
||||
f"titlebar_light='#{Flavour.latte().crust.hex}'") # use latte_crust for titlebar_light
|
||||
f"titlebar_light='{latte_colors.crust.hex}'") # use latte_crust for titlebar_light
|
||||
replacetext(f"{work_dir}/gtkrc.sh",
|
||||
"titlebar_light='#F2F2F2'", f"titlebar_light='#{Flavour.latte().crust.hex}'")
|
||||
"titlebar_light='#F2F2F2'", f"titlebar_light='{latte_colors.crust.hex}'")
|
||||
|
||||
if flavor == Flavour.latte():
|
||||
if flavor.name == "latte":
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "background_dark='#0F0F0F'",
|
||||
f"background_dark='#{Flavour.mocha().base.hex}'")
|
||||
f"background_dark='{mocha_colors.base.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "background_darker='#121212'",
|
||||
f"background_darker='#{Flavour.mocha().mantle.hex}'")
|
||||
f"background_darker='{mocha_colors.mantle.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh",
|
||||
"background_alt='#212121'", f"background_alt='#{Flavour.mocha().crust.hex}'")
|
||||
"background_alt='#212121'", f"background_alt='{mocha_colors.crust.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "titlebar_dark='#030303'",
|
||||
f"titlebar_dark='#{Flavour.mocha().crust.hex}'")
|
||||
f"titlebar_dark='{mocha_colors.crust.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "background_dark='#2C2C2C'",
|
||||
f"background_dark='#{Flavour.mocha().base.hex}'")
|
||||
f"background_dark='{mocha_colors.base.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "background_darker='#3C3C3C'",
|
||||
f"background_darker='#{Flavour.mocha().mantle.hex}'")
|
||||
f"background_darker='{mocha_colors.mantle.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh",
|
||||
"background_alt='#464646'", f"background_alt='#{Flavour.mocha().crust.hex}'")
|
||||
"background_alt='#464646'", f"background_alt='{mocha_colors.crust.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh",
|
||||
"titlebar_dark='#242424'", f"titlebar_dark='#{Flavour.mocha().crust.hex}'")
|
||||
"titlebar_dark='#242424'", f"titlebar_dark='{mocha_colors.crust.hex}'")
|
||||
else:
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "background_dark='#0F0F0F'",
|
||||
f"background_dark='#{flavor.base.hex}'")
|
||||
f"background_dark='{colors.base.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "background_darker='#121212'",
|
||||
f"background_darker='#{flavor.mantle.hex}'")
|
||||
f"background_darker='{colors.mantle.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh",
|
||||
"background_alt='#212121'", f"background_alt='#{flavor.crust.hex}'")
|
||||
"background_alt='#212121'", f"background_alt='{colors.crust.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "titlebar_dark='#030303'",
|
||||
f"titlebar_dark='#{flavor.crust.hex}'")
|
||||
f"titlebar_dark='{colors.crust.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "background_dark='#2C2C2C'",
|
||||
f"background_dark='#{flavor.base.hex}'")
|
||||
f"background_dark='{colors.base.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh", "background_darker='#3C3C3C'",
|
||||
f"background_darker='#{flavor.mantle.hex}'")
|
||||
f"background_darker='{colors.mantle.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh",
|
||||
"background_alt='#464646'", f"background_alt='#{flavor.crust.hex}'")
|
||||
"background_alt='#464646'", f"background_alt='{colors.crust.hex}'")
|
||||
replacetext(f"{work_dir}/gtkrc.sh",
|
||||
"titlebar_dark='#242424'", f"titlebar_dark='#{flavor.crust.hex}'")
|
||||
"titlebar_dark='#242424'", f"titlebar_dark='{colors.crust.hex}'")
|
||||
|
||||
print("Mod SASS Color_Palette_default")
|
||||
|
||||
# Greys
|
||||
if flavor == Flavour.latte(): # Hardcode till someone smarter than me comes along
|
||||
if flavor.name == "latte": # Hardcode till someone smarter than me comes along
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-050: #FAFAFA", f"grey-050: #{flavor.crust.hex}")
|
||||
"grey-050: #FAFAFA", f"grey-050: {colors.crust.hex}")
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-100: #F2F2F2", f"grey-100: #{flavor.mantle.hex}")
|
||||
"grey-100: #F2F2F2", f"grey-100: {colors.mantle.hex}")
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-150: #EEEEEE", f"grey-150: #{flavor.base.hex}")
|
||||
"grey-150: #EEEEEE", f"grey-150: {colors.base.hex}")
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-200: #DDDDDD", f"grey-200: #{flavor.surface0.hex}") # Surface 0 Late
|
||||
"grey-200: #DDDDDD", f"grey-200: {colors.surface0.hex}") # Surface 0 Late
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-250: #CCCCCC", f"grey-250: #{flavor.surface1.hex}") # D = Surface 1 Late
|
||||
"grey-250: #CCCCCC", f"grey-250: {colors.surface1.hex}") # D = Surface 1 Late
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-650: #3C3C3C", f"grey-650: #{Flavour.mocha().surface0.hex}") # H $surface $tooltip
|
||||
"grey-650: #3C3C3C", f"grey-650: {mocha_colors.surface0.hex}") # H $surface $tooltip
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss", "grey-700: #2C2C2C",
|
||||
f"grey-700: #{Flavour.mocha().base.hex}") # G $background; $base; titlebar-backdrop; $popover
|
||||
f"grey-700: {mocha_colors.base.hex}") # G $background; $base; titlebar-backdrop; $popover
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-750: #242424", f"grey-750: #{Flavour.mocha().crust.hex}") # F $base-alt
|
||||
"grey-750: #242424", f"grey-750: {mocha_colors.crust.hex}") # F $base-alt
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-800: #212121", f"grey-800: #{Flavour.mocha().crust.hex}") # E $panel-solid;p
|
||||
"grey-800: #212121", f"grey-800: {mocha_colors.crust.hex}") # E $panel-solid;p
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-850: #121212", f"grey-850: #020202") # H Darknes
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
@@ -148,23 +151,23 @@ def recolor(flavor, accent: str):
|
||||
"grey-950: #030303", f"grey-950: #000000") # F Darknes
|
||||
else:
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-050: #FAFAFA", f"grey-050: #{flavor.overlay2.hex}")
|
||||
"grey-050: #FAFAFA", f"grey-050: {colors.overlay2.hex}")
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-100: #F2F2F2", f"grey-100: #{flavor.overlay1.hex}")
|
||||
"grey-100: #F2F2F2", f"grey-100: {colors.overlay1.hex}")
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-150: #EEEEEE", f"grey-150: #{flavor.overlay0.hex}")
|
||||
"grey-150: #EEEEEE", f"grey-150: {colors.overlay0.hex}")
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-200: #DDDDDD", f"grey-200: #{flavor.surface2.hex}") # Surface 0 Late
|
||||
"grey-200: #DDDDDD", f"grey-200: {colors.surface2.hex}") # Surface 0 Late
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-250: #CCCCCC", f"grey-250: #{flavor.surface1.hex}") # D = Surface 1 Late
|
||||
"grey-250: #CCCCCC", f"grey-250: {colors.surface1.hex}") # D = Surface 1 Late
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-650: #3C3C3C", f"grey-650: #{flavor.surface0.hex}") # H $surface $tooltip
|
||||
"grey-650: #3C3C3C", f"grey-650: {colors.surface0.hex}") # H $surface $tooltip
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss", "grey-700: #2C2C2C",
|
||||
f"grey-700: #{flavor.base.hex}") # G $background; $base; titlebar-backdrop; $popover
|
||||
f"grey-700: {colors.base.hex}") # G $background; $base; titlebar-backdrop; $popover
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-750: #242424", f"grey-750: #{flavor.crust.hex}") # F $base-alt
|
||||
"grey-750: #242424", f"grey-750: {colors.crust.hex}") # F $base-alt
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-800: #212121", f"grey-800: #{flavor.crust.hex}") # E $panel-solid;p
|
||||
"grey-800: #212121", f"grey-800: {colors.crust.hex}") # E $panel-solid;p
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"grey-850: #121212", f"grey-850: #020202") # H Darknes
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
@@ -180,8 +183,8 @@ def recolor(flavor, accent: str):
|
||||
|
||||
# Buttons
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"button-close: #fd5f51", f"button-close: #{flavor.red.hex}")
|
||||
"button-close: #fd5f51", f"button-close: {colors.red.hex}")
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"button-max: #38c76a", f"button-max: #{flavor.green.hex}")
|
||||
"button-max: #38c76a", f"button-max: {colors.green.hex}")
|
||||
replacetext(f"{src_dir}/sass/_color-palette-default.scss",
|
||||
"button-min: #fdbe04", f"button-min: #{flavor.yellow.hex}")
|
||||
"button-min: #fdbe04", f"button-min: {colors.yellow.hex}")
|
||||
|
@@ -8,7 +8,7 @@ tmp_dir = f"{repo_dir}/releases"
|
||||
theme_name = "Catppuccin"
|
||||
|
||||
# Map catppuccin colors to colloid ones
|
||||
# These are mostly unused except for resources for lower gtk versions.
|
||||
# These are mostly unused except for resources for lower gtk versions.
|
||||
# These assets are in png format and I am not really interested right now to recolor them using opencv
|
||||
# Maybe someone more motivated can follow through
|
||||
def_color_map = {
|
||||
@@ -28,23 +28,23 @@ def_color_map = {
|
||||
'lavender': 'default'}
|
||||
|
||||
def_accent_light = {
|
||||
'default': '3c84f7',
|
||||
'purple': 'AB47BC',
|
||||
'pink': 'EC407A',
|
||||
'red': 'E53935',
|
||||
'orange': 'F57C00',
|
||||
'yellow': 'FBC02D',
|
||||
'green': '4CAF50',
|
||||
'teal': '009688'
|
||||
'default': '#3c84f7',
|
||||
'purple': '#AB47BC',
|
||||
'pink': '#EC407A',
|
||||
'red': '#E53935',
|
||||
'orange': '#F57C00',
|
||||
'yellow': '#FBC02D',
|
||||
'green': '#4CAF50',
|
||||
'teal': '#009688'
|
||||
}
|
||||
|
||||
def_accent_dark = {
|
||||
'default': '5b9bf8',
|
||||
'purple': 'BA68C8',
|
||||
'pink': 'F06292',
|
||||
'red': 'F44336',
|
||||
'orange': 'FB8C00',
|
||||
'yellow': 'FFD600',
|
||||
'green': '66BB6A',
|
||||
'teal': '4DB6AC'
|
||||
'default': '#5b9bf8',
|
||||
'purple': '#BA68C8',
|
||||
'pink': '#F06292',
|
||||
'red': '#F44336',
|
||||
'orange': '#FB8C00',
|
||||
'yellow': '#FFD600',
|
||||
'green': '#66BB6A',
|
||||
'teal': '#4DB6AC'
|
||||
}
|
||||
|
Reference in New Issue
Block a user