Skip to content

jaxwilko/gtk-theme-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GTK Theme Framework

Install

Clone the project then cd into the project folder.

To install the default theme (palenight) then run:

./main.sh -i

To install a theme by name (e.g. Amarena) run:

./main.sh -t amarena -i

Available themes

  • palenight (this is the default theme)
  • amarena
  • gruvterial
  • oceanic
  • spacx

Options

  • -h Show script usage
  • -v Show output
  • -i Install
  • -c Recompile theme
  • -f Force png asset recompilation
  • -o Install theme icon set
  • -s Switch theme/icons active after install
  • -t theme-name Pick a theme to compile or install
  • -n theme-name Create a new theme config
  • -x style-name Create a new theme style
  • -d /path/to/dir Pick a custom dir to install the theme to
  • -p /path/to/dir Pick a custom dir to install icons to

Therefore, the following:

./main.sh -t amarena -ios

Will install the Amarena theme and icon set and switch them active upon completion

Hacking

For recompilation of assets you will need:

  • sassc
  • inkscape
  • optipng

To create your own colour scheme, run the following:

./main.sh -n my-awesome-theme

This will create a new file in the themes directory with the same name as your theme, you can then modify the variables within it to your liking.

To recompile gtk2, gtk3 and gnome-shell styles run:

./main.sh -t my-awesome-theme -c

To automatically switch to this theme on completion run:

./main.sh -t my-awesome-theme -cios

To force asset recompilation use the -f option

./main.sh -t my-awesome-theme -ciosf

Advanced

You can create your own base style to which themes are applied, doing this is more involved and you will need to know scss/css.

To create your own base style run the following:

./main.sh -x my-awesome-style

Before compiling, make sure that the THEME_STYLE var in your theme config points to your new style. I.e.

THEME_STYLE="my-awesome-style"

Theme Variables

Name Options Usage
THEME_VARIANT light/dark Adjusts colouring for light vs dark themes
THEME_LAPTOP_MODE true/false Modifies the amount of padding on things such as title bars
THEME_HEADER_BAR light/dark Currently not in use
THEME_PANEL light/dark Adjusts the gnome-shell panel for light vs dark themes
THEME_STYLE material Select which source files to build from
THEME_COLOUR_BACKGROUND Hex colour code Background
THEME_COLOUR_FOREGROUND Hex colour code Accented background
THEME_COLOUR_DIVIDER Hex colour code Panel division
THEME_COLOUR_COMMENT Hex colour code Sliders, toggle button, checkboxes, radiobuttons, choice highlights
THEME_COLOUR_DANGER Hex colour code Window close button, general error
THEME_COLOUR_MID_DANGER Hex colour code Warning colour for some applications
THEME_COLOUR_WARNING Hex colour code Alt primary colour and window minimize button
THEME_COLOUR_SUCCESS Hex colour code "Okay" type buttons, Sliding switches, filled in area in sliders
THEME_COLOUR_INFO Hex colour code Hover over some types of text buttons
THEME_COLOUR_DARK_INFO Hex colour code Currently not in use
THEME_COLOUR_TEXT Hex colour code Standard text
THEME_COLOUR_TEXT_HIGHLIGHT Hex colour code Currently not in use
THEME_COLOUR_ACCENT_PRIMARY Hex colour code Link button
THEME_COLOUR_ACCENT_SECONDARY Hex colour code GTK3 theme accent colour
THEME_COLOUR_ACCENT_TERTIARY Hex colour code Underlines in the shell (topbar/dock/workspace switcher)
THEME_COLOUR_UI_FOREGROUND_PRIMARY Hex colour code Text highlighting, progress bars, active items, links
THEME_COLOUR_UI_FOREGROUND_SECONDARY Hex colour code Checkboxes, radio buttons, sliders

Feel free to open a PR with your theme if you want to add it to the project.

Credit

Palenight

Palenight Palenight Widget Factory

Amerena

Amarena Amarena Widget Factory

Gruvterial

Gruvterial Gruvterial Widget Factory