Skip to content

Now called Unicate. Coordinate dynamic and changing themes across multiple theme engines and GUI frameworks

License

Notifications You must be signed in to change notification settings

mantacid/gtk-tint

Repository files navigation

NOTICE

Because the applicability of the project has increased, I have decided to rename it to reflect this. The repository will still be here, but I may move it in the future. I will handle making sure that people coming to this page know where to find the new repo when it goes up.

UniCATE (Previously GTK-Tint)

UniCATE (Unify Colors Across Theme Engines) is a program designed to dynamically update various elements of your linux environment to allow for a more unified look.

THIS TOOL DOES NOT CREATE THEMES! The tool recolors existing themes to better match something that uses a dynamically changing colorscheme (e.g: KDE’s “accent color from wallpaper” functionality combined with the “tint theme with accent color” option). If your existing GUI theme already looks out of place, I doubt Unicate will be able to help much. This may change in the future if a way to map one colorscheme to another with different key names is developed.

Dependencies:

Note that modules may have their own dependencies (example: the kde-accent module assumes you have `kreadconfig5` installed on your system), so this section will only list dependencies of the base tool. When making your own modules, be sure to include those dependencies in some kind of build file and/or a readme.

Python:

  • CherryPicker

Status

[!NOTE] This project is still under active development.

Repository Structure

main-conf.toml

This file, `main-conf.toml`, serves as the configuration file. It allows you to specify which theme to tint, how to tint it, and which colors to use for tinting.

unicate.sh

The `unicate.sh` script is responsible for organizing the modules and providing a consistent framework through which to utilize them.

toml-parse.py

This script handles the toml parsing, because I couldn’t find a good rust or bash implementation. It also converts the toml data into a form that the main script can use, namely an associated array where the keys are concatenations of the subtable values.

themes/

the `themes/` directory contains the modules responsible for reading and writing data to various themes.

recolor/

This directory contains the modules used to alter the input colors.

MODULES

A module is a collection of scripts that can be run by UniCATE to either read or write relevant data. Each module gets its own subdirectory, and contains an `invoke.sh` file. More information on modules can be found in the documentation section by the same name.

About

Now called Unicate. Coordinate dynamic and changing themes across multiple theme engines and GUI frameworks

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published