Modification of Themix / Oomox (https://github.com/themix-project/themix-gui). Unlinked all plugins from their sources so I can work on them and push changes.
Go to file
Néstor Andreu 93f2edaa9b Updated README: recursivity no longer necessary 2023-03-01 09:43:13 +01:00
colors First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
dart-sass First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
dockerfiles First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
maintenance_scripts First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
oomox_gui First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
packaging First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
plugins First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
po First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
screenshots First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
scripted_colors First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
terminal_templates First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
.dockerignore First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
.editorconfig First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
.flake8 First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
.gitattributes First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
.gitignore First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
.gitmodules First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
.pylintrc First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
.vimrc First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
CREDITS First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
LICENSE First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
Makefile First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
README.md Updated README: recursivity no longer necessary 2023-03-01 09:43:13 +01:00
dart-sass-1.57.1-linux-x64.tar.gz First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
gui.sh First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
mypy.ini First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00
po.mk First commit after unlinking all submodules 2023-03-01 09:39:15 +01:00

README.md

Themix GUI designer

Note: this is a modified version of Themix-oomox. The original one is here. I've also added dart-sass.

To clone it, you need to do it this way, since it links to some other git submodules:

git clone https://git.disroot.org/eudaimon/oomox-modified.git

In order to run it, you need to use this command:

PATH="/path/to/your/installation/to/oomox/dart-sass/:$PATH" ./gui.sh

I've also modified Materia theme:

  • changed some filters in SVGs so Inkscape does not hang when converting to png)
  • added undershoots

This version is not inteded to be installed, just cloned and used directly.

The original README:

Code Style Commit Activity

Graphical application for designing themes and exporting them using plugins, for example:

Import plugins also available, such as:

  • generating color palettes from image;
  • importing it from Xresources;
  • or huge collection of Base16 themes.

Table of contents:

Screenshot image import

Screenshot GUI

Big screenshot with number of generated themes 🔗

Latest Oomox GTK theme screenshots 🔗

Installation

Arch Linux

Install

pikaur -S themix-full-git

AUR helpers are not officially supported by Arch Linux, so you can also install it manually from rolling-release PKGBUILD.

Open the GUI

themix-gui

Debian, Ubuntu, Linux Mint

deb-based releases are currently abandoned, this way works for installing older versions of Themix

see also: https://github.com/themix-project/oomox/issues/144

For Debian 9+, Ubuntu 17.04+ or Linux Mint 19+ you can download oomox.deb package here: https://github.com/themix-project/oomox/releases Make sure what universe repository is enabled.

sudo apt install ./oomox_VERSION_17.04+.deb  # or ./oomox_VERSION_18.10+.deb for Ubuntu 18.10+

Or, if you don't want to install third-party binary package you can build it on your own:

# with docker:
sudo systemctl start docker
sudo ./packaging/ubuntu/docker_ubuntu_package.sh  # sudo is not needed if your user is in docker group

# or directly from ubuntu host if you don't like docker:
./packaging/ubuntu/create_ubuntu_package.sh control
# or ./packaging/ubuntu/create_ubuntu_package.sh control_1810

For older releases install the dependencies manually and next follow general installation instructions below.

Other distributions

Prerequisites

For GUI app itself:

  • python3>=3.10
  • gtk3>=3.18
  • python3-gobject
  • gdk-pixbuf2
For plugins:

Oomox theme:

  • sassc>=3.4
  • rsvg-convert from librsvg
  • glib-compile-schemas from glib2
  • gdk-pixbuf2
  • bc
  • sed
  • find
  • grep

Materia theme (deprecated):

  • sassc>=3.4
  • glib-compile-schemas from glib2
  • gdk-pixbuf2
  • sed
  • find
  • grep
  • optipng
  • gtk2-engine-murrine
  • inkscape (or resvg, but it's currently disabled)
  • parallel
  • meson

Gnome-Colors icons:

  • bc
  • sed
  • find
  • grep
  • rsvg-convert from librsvg
  • imagemagick
  • breeze-icons - optional, to provide more fallbacks

Archdroid, Papirus and Suru++ icons:

  • sed
  • find
  • breeze-icons - optional for Archdroid, to provide more fallbacks

Spotify theme:

  • polkit or gksu
  • zip
  • bc
  • grep

Import colors from images:

  • python3 PIL or Pillow
  • python3 colorz - optional, extra image analyzer
  • python3 colorthief - optional, extra image analyzer
  • python3 haishoku - optional, extra image analyzer

Base16 format support:

  • python3 pystache
  • python3 yaml

Xresources import:

  • xorg-xrdb - optional, for xresources themes

Installation

git clone https://github.com/themix-project/oomox.git --recursive
cd oomox
# if you need to generate locales:
make -f po.mk install

Running

./gui.sh

After exporting a theme select the generated theme (oomox-YOUR-THEME-NAME) in your appearance config tool (for example, lxappearance or gnome-tweak-tool).

CLI

If your prefer CLI interface, refer to change_color.sh scripts inside ./plugins/. For xresources and random themes in CLI use palettes from /opt/oomox/scripted_colors/ directory. Using scripted palettes enables you to use bash to write simple generators for dynamic themes (as alternative to plugins in oomox-gui). GUI is not attempting to execute any scripted palettes with bash because downloading such scripted themes from random places could lead to unexpected result so you can use them only with CLI, when you really know what you're doing.

Spotify:

Spotify theme can be also exported from GUI, but if you prefer commandline interface:

./plugins/oomoxify/oomoxify.sh ./colors/gnome-colors/shiki-noble

Also you can normalize font weight with -w argument, see -h for usage.

Spotify theme settings are backed up to ~/.config/oomox/spotify_backup. To undo the changes made by oomoxify, these files can be copied back to their original location /usr/share/spotify/Apps. Spotify can also be reinstalled, which will reset these files as well.

Users running Spotify under Flatpak should set their "Spotify path" in oomox to /var/lib/flatpak/app/com.spotify.Client/current/active/files/extra/share/spotify/Apps in order to apply the theme.

Using with tiling WMs

Create/append to ~/.config/gtk-3.0/gtk.css:

/* remove window title from Client-Side Decorations */
.solid-csd headerbar .title {
    font-size: 0;
}

/* hide extra window decorations/double border */
window decoration {
    margin: 0;
    border: none;
    padding: 0;
}

Extra GTK3 CSS hacks

Create/append to ~/.config/gtk-3.0/gtk.css:

* {
  text-shadow: none;
}

Review articles and videos

To learn more about using the application you can check these sources: