Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9e75eac1e5 | ||
|
01ea28f3a3 | ||
|
538067923b | ||
|
a53263bad2 | ||
|
45df79e72c | ||
|
ed3abe04f8 | ||
|
e907775723 | ||
|
c79e453e62 | ||
|
68167565f7 | ||
|
7e40f9c9ab | ||
|
41d54ae759 | ||
|
382e960588 |
33
.github/ISSUE_TEMPLATE/bug-report.md
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a bug report about the GTK theme.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**Mention your distribution and your theme version**
|
||||
Please mention your Linux distribution and the theme version you've installed.
|
||||
|
||||
**Select how you installed the theme**
|
||||
- [ ] GitHub Releases
|
||||
- [ ] AUR package
|
||||
- [ ] Nixpkg
|
||||
- [ ] Using the python install script <!-- If you installed using the python script, please mention the command that you ran for installation. -->
|
||||
- [ ] Flatpak
|
||||
|
||||
**Symlinked the gtk-4.0 folder?**
|
||||
Have you symlinked the `gtk-4.0` folder as mentioned in the [README](https://github.com/catppuccin/gtk/blob/e907775723eb68a5628c1bcd718b9d822cea9aee/README.md?plain=1#L85-L93)? **This is not applicable for users who have installed the theme with the Nixpkg.**
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If possible, please share screenshots of the bug you've encountered.
|
||||
|
||||
**Additional context**
|
||||
Please mention any additional context that might be applicable.
|
1
.gitignore
vendored
@@ -2,6 +2,7 @@ pkgs/
|
||||
*-temp.scss
|
||||
__pycache__
|
||||
venv/
|
||||
.venv
|
||||
|
||||
# Releases folder
|
||||
releases
|
||||
|
38
README.md
@@ -45,11 +45,47 @@ 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
|
||||
```
|
||||
### 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";
|
||||
}
|
||||
```
|
||||
|
||||
To use it in home-manager:
|
||||
```nix
|
||||
# home.nix
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Catppuccin-Macchiato-Compact-Pink-Dark";
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
accents = [ "pink" ];
|
||||
size = "compact";
|
||||
tweaks = [ "rimless" "black" ];
|
||||
variant = "macchiato";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
### For gtk-4.0 users
|
||||
|
||||
To theme gtk-4.0 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"
|
||||
ln -sf "${THEME_DIR}/gtk-4.0/gtk.css" "${HOME}/.config/gtk-4.0/gtk.css"
|
||||
|
2
colloid
@@ -76,6 +76,13 @@ parser.add_argument("--zip",
|
||||
action=argparse.BooleanOptionalAction,
|
||||
dest="zip")
|
||||
|
||||
parser.add_argument("--recreate-asset",
|
||||
help="Recreate assets for xfwm4 and such",
|
||||
type=bool,
|
||||
default=True,
|
||||
action=argparse.BooleanOptionalAction,
|
||||
dest="rec_asset")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
if "all" in args.flavor:
|
||||
@@ -99,4 +106,4 @@ if not os.listdir(work_dir):
|
||||
subprocess.call("git submodule update --init --recursive", shell=True)
|
||||
|
||||
filename = create_theme(flavors, accents, dest,
|
||||
args.link, args.name, args.size, args.tweaks, args.zip)
|
||||
args.link, args.name, args.size, args.tweaks, args.zip, args.rec_asset)
|
||||
|
1543
patches/xfwm4/assets-Catppuccin-frappe-Normal.svg
Normal file
After Width: | Height: | Size: 60 KiB |
1328
patches/xfwm4/assets-Catppuccin-frappe.svg
Normal file
After Width: | Height: | Size: 49 KiB |
1543
patches/xfwm4/assets-Catppuccin-latte-Normal.svg
Normal file
After Width: | Height: | Size: 60 KiB |
1328
patches/xfwm4/assets-Catppuccin-latte.svg
Normal file
After Width: | Height: | Size: 49 KiB |
1543
patches/xfwm4/assets-Catppuccin-macchiato-Normal.svg
Normal file
After Width: | Height: | Size: 60 KiB |
1328
patches/xfwm4/assets-Catppuccin-macchiato.svg
Normal file
After Width: | Height: | Size: 49 KiB |
1543
patches/xfwm4/assets-Catppuccin-mocha-Normal.svg
Normal file
After Width: | Height: | Size: 60 KiB |
1328
patches/xfwm4/assets-Catppuccin-mocha.svg
Normal file
After Width: | Height: | Size: 49 KiB |
1546
patches/xfwm4/assets-Light-Catppuccin-frappe-Normal.svg
Normal file
After Width: | Height: | Size: 60 KiB |
1368
patches/xfwm4/assets-Light-Catppuccin-frappe.svg
Normal file
After Width: | Height: | Size: 49 KiB |
1546
patches/xfwm4/assets-Light-Catppuccin-latte-Normal.svg
Normal file
After Width: | Height: | Size: 60 KiB |
1368
patches/xfwm4/assets-Light-Catppuccin-latte.svg
Normal file
After Width: | Height: | Size: 49 KiB |
1546
patches/xfwm4/assets-Light-Catppuccin-macchiato-Normal.svg
Normal file
After Width: | Height: | Size: 60 KiB |
1368
patches/xfwm4/assets-Light-Catppuccin-macchiato.svg
Normal file
After Width: | Height: | Size: 49 KiB |
1546
patches/xfwm4/assets-Light-Catppuccin-mocha-Normal.svg
Normal file
After Width: | Height: | Size: 60 KiB |
1368
patches/xfwm4/assets-Light-Catppuccin-mocha.svg
Normal file
After Width: | Height: | Size: 49 KiB |
@@ -4,13 +4,14 @@ 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 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,
|
||||
name: str = theme_name, size: str = "standard", tweaks=[], zip = False) -> None:
|
||||
name: str = theme_name, size: str = "standard", tweaks=[], zip = False, recreate_assets = True) -> None:
|
||||
|
||||
try:
|
||||
os.makedirs(dest) # Create our destination directory
|
||||
@@ -21,6 +22,8 @@ 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)
|
||||
if recreate_assets:
|
||||
recreate_xfwm4_assets(type)
|
||||
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:
|
||||
|
32
scripts/patches.py
Normal file
@@ -0,0 +1,32 @@
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
from scripts.var import src_dir, repo_dir, work_dir
|
||||
|
||||
def recreate_xfwm4_assets(flavour):
|
||||
"""
|
||||
Recolors xfwm4 assets based on the flavour
|
||||
|
||||
Args:
|
||||
flavour (Flavour): The flavour to recolor
|
||||
"""
|
||||
|
||||
# Delete assets that already exists and copy new assets file
|
||||
folders = ["assets", "assets-Light"]
|
||||
variants = ["", "-Normal"]
|
||||
sizes = ["", "-hdpi", "-xhdpi"]
|
||||
assets_folder = f"{src_dir}/assets/xfwm4"
|
||||
|
||||
for folder in folders:
|
||||
for variant in variants:
|
||||
for size in sizes:
|
||||
shutil.rmtree(f"{assets_folder}/{folder}{variant}{size}", ignore_errors=True)
|
||||
|
||||
|
||||
patched_asset = f"{repo_dir}/patches/xfwm4/{folder}-Catppuccin-{flavour}{variant}.svg"
|
||||
shutil.copy(patched_asset, f"{assets_folder}/{folder}{variant}.svg")
|
||||
|
||||
os.chdir(assets_folder)
|
||||
subprocess.call(f"{assets_folder}/render-assets.sh", shell=True) # Rebuild all assets
|
||||
os.chdir(work_dir)
|
@@ -1,8 +1,7 @@
|
||||
from catppuccin import Flavour
|
||||
|
||||
from .utils import replacetext, replaceAllText
|
||||
from .var import (def_accent_dark, def_accent_light, def_color_map, src_dir,
|
||||
theme_name, work_dir)
|
||||
from .var import (def_accent_dark, def_accent_light, def_color_map, src_dir, work_dir)
|
||||
|
||||
|
||||
def recolor_accent(flavor, accent: str = "blue"):
|
||||
@@ -71,10 +70,9 @@ def recolor(flavor, accent: str):
|
||||
Recolor the theme. currently hard code it frappe
|
||||
"""
|
||||
print("Recoloring to suit catppuccin theme")
|
||||
replacetext(f"{work_dir}/install.sh", "Colloid", theme_name)
|
||||
|
||||
print("Recoloring accents")
|
||||
recolor_accent(flavor, accent)
|
||||
print("Recoloring firefox")
|
||||
recolor_firefox(flavor, accent)
|
||||
|
||||
print("MOD: Gtkrc.sh")
|
||||
|
@@ -25,7 +25,7 @@ def replacetext(filepath: str, search_text: str, replace_text: str) -> None:
|
||||
f.seek(0)
|
||||
f.write(file)
|
||||
f.truncate()
|
||||
except Exception as e:
|
||||
except Exception:
|
||||
print(f"Failed to recolor {filepath}")
|
||||
|
||||
|
||||
|