Compare commits

...

27 Commits

Author SHA1 Message Date
Pranav
329e522c08 chore: update colloid
Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-06-21 19:16:02 +05:30
Pranav
3fc72208de fix: do not capitalise theme style
fixes #100

Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-06-21 19:15:34 +05:30
Pranav
b75165df4d feat: Enable option for float panel
Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-06-03 08:42:16 +05:30
Pranav
1a5f20809a chore: update colloid 2023-06-03 08:41:01 +05:30
Pranav
5c05af916a chore: update colloid
Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-05-21 15:03:46 +05:30
spooky
19d4e9cd5b docs(README): fix install instructions for --link 2023-05-02 15:43:46 +05:30
bronsen
d5f542f484 docs(README): fix long option for linking gtk-4.0
The install script actually uses `--link` as long option for linking
gtk-4.0 themes.
2023-05-02 10:59:45 +02:00
Pranav
0997e92071 chore: update index.theme theme name correctly
fixes #90

Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-04-16 16:25:50 +05:30
Pranav
d11e6465bd chore: update colloid
Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-04-14 15:59:42 +05:30
Pranav
6c350cc3eb chore: update colloid
fixes #81

Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-04-12 10:56:41 +05:30
Pranav
7c470654a7 workflow: recreate assets
Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-03-26 17:03:39 +05:30
Pranav
50e9e0120b fix: script: do not fail if supplementing a theme name
fixes #76

Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-03-26 16:55:15 +05:30
Pranav
f2b5321c23 fix: Do not generate assets for all types.
Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-03-26 16:43:20 +05:30
ghostx31
ade94e3bd6 docs(README): add package dependencies in dev guide 2023-03-26 12:39:11 +05:30
ghostx31
a9cbb4cf93 ci: added dependencies for xfwm 2023-03-26 12:33:27 +05:30
spooky
9e75eac1e5 fix: fix xfwm4 issues 2023-03-26 11:08:08 +05:30
ghostx31
01ea28f3a3 chore: update branches 2023-03-26 10:33:29 +05:30
ghostx31
538067923b chore: update colloid submodule 2023-03-26 10:32:20 +05:30
Pranav
a53263bad2 chore: update colloid submodule
Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-03-16 09:46:13 +05:30
ghostx31
45df79e72c chore(bug issue template): change nix package to nixpkg 2023-03-04 14:01:38 +05:30
spooky
ed3abe04f8 feat: add issue template 2023-03-04 13:51:28 +05:30
spooky
e907775723 docs: improve nix instructions
docs: improve nix instructions
2023-02-24 22:26:15 +05:30
Dixon Sean Low Yan Feng
c79e453e62 docs: improve nix instructions
Documents the other configurable options and updates the example accordingly.
2023-02-24 01:48:26 +08:00
Pranav
68167565f7 feat: introduce assets for xfwm4.
* patches assets were taken from ddf996b0a4

Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-02-22 20:23:53 +05:30
Pranav
7e40f9c9ab chore: update colloid
Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-02-22 19:33:32 +05:30
Pranav
41d54ae759 chore: update colloid
Signed-off-by: Pranav <npv12@iitbbs.ac.in>
2023-02-08 00:05:26 +05:30
rubyowo
382e960588 docs: nix instructions (#72) 2023-01-21 09:07:03 +01:00
26 changed files with 23280 additions and 22 deletions

33
.github/ISSUE_TEMPLATE/bug-report.md vendored Normal file
View 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.

View File

@@ -20,10 +20,10 @@ jobs:
cache: 'pip'
- name: Install dependencies
run: pip install -r requirements.txt
- name: Install colloid specific deps
run: sudo apt-get install sassc
- name: Install colloid specific dependencies
run: sudo apt update && sudo apt install -y sassc inkscape optipng
- name: Generate themes
run: python ./install.py all -a all --zip -d $PWD/releases
run: python ./install.py all -a all --zip -d $PWD/releases --recreate-asset
- name: Add zips to release
uses: softprops/action-gh-release@v1
with:

3
.gitignore vendored
View File

@@ -2,7 +2,8 @@ pkgs/
*-temp.scss
__pycache__
venv/
.venv
# Releases folder
releases
chrome
chrome

View File

@@ -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"
@@ -92,12 +128,13 @@ Compulsory field Specify color variant(s) [mocha|frappe|macchiato|latte|a
-a, --accent VARIANT... Specify theme color variant(s) [rosewater|flamingo|pink|mauve|red|maroon|peach|yellow|green|teal|sky|
sapphire|blue|lavender|all] (Default: blue)
-s, --size VARIANT... Specify size variant [standard|compact] (Default: standard variant)
-l, --libadwaita Link installed gtk-4.0 theme to config folder for all libadwaita app use this theme
-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.
--tweaks Specify versions for tweaks [black|rimless|normal]
--tweaks Specify versions for tweaks [black|rimless|normal|float]
1. black: Blackness color version
2. rimless: Remove the 1px border about windows and menus
3. normal: Normal windows button style (titlebuttons: max/min/close)
4. float: Floating gnome-shell panel style
-h, --help Show help
```
You can install any theme like the following example
@@ -112,11 +149,16 @@ 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`
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.
- `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.
## 💝 Thanks to

Submodule colloid updated: d8f0fbe207...57d7d8c1ed

View File

@@ -59,7 +59,7 @@ parser.add_argument("--tweaks",
default=[],
nargs="+",
dest="tweaks",
choices=["black", "rimless", "normal"],
choices=["black", "rimless", "normal", "float"],
help="Some specifc tweaks. like black, rimless, normal buttons")
parser.add_argument("-l", "--link",
@@ -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=False,
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)

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 49 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 49 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 49 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 49 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 49 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 49 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 49 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 49 KiB

View File

@@ -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.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,
name: str = theme_name, size: str = "standard", tweaks=[], zip = False) -> None:
name: str = theme_name, size: str = "standard", tweaks=[], zip = False, recreate_assets = False) -> None:
try:
os.makedirs(dest) # Create our destination directory
@@ -18,6 +19,9 @@ def create_theme(types: List[str], accents: List[str], dest: str, link: bool = F
pass
for type in types:
if recreate_assets:
recreate_xfwm4_assets(type)
for accent in accents:
# Recolor colloid wrt our selection like mocha. latte
recolor(ctp_colors[type], accent)
@@ -35,8 +39,8 @@ def create_theme(types: List[str], accents: List[str], dest: str, link: bool = F
try:
# Rename colloid generated files as per catppuccin
new_filename = dest + \
f"/{theme_name}-{type.capitalize()}-{size.capitalize()}-{accent.capitalize()}-{theme_style.title()}"
filename = f"{theme_name}"
f"/{name}-{type.capitalize()}-{size.capitalize()}-{accent.capitalize()}-{theme_style}"
filename = f"{name}"
if def_color_map[accent] != 'default':
filename += f"-{def_color_map[accent].capitalize()}"
filename += f"-{theme_style.capitalize()}"
@@ -53,6 +57,7 @@ def create_theme(types: List[str], accents: List[str], dest: str, link: bool = F
os.rename(dest + "/" + filename + '-xhdpi',
new_filename + '-xhdpi')
os.rename(dest + "/" + filename, new_filename)
replacetext(new_filename + '/index.theme', filename, new_filename.split("/")[-1])
print("Successfully renamed file")
except Exception as e:
print("Failed to rename the files due to:", e)

32
scripts/patches.py Normal file
View 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)

View File

@@ -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")

View File

@@ -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}")