Giter VIP home page Giter VIP logo

install-gnome-themes's Introduction

Install GNOME Themes

This script installs the latest git versions of some fine GNOME themes into the current user's .themes folder. Run the script again whenever you want to get the latest theme updates. Many of these themes are updated frequently with bugfixes and enhancements.

It supports GNOME versions 3.22 and above.

Preparation

You need to install the requirements first. See install-requirements-fedora and install-requirements-debian. The Debian script should work for Ubuntu, too. We welcome contributions for other operating systems, too, especially Arch Linux!

In case your operating system doesn't have a sassc package you can build it manually with install-sassc.

Now, get the script:

git clone https://github.com/tliron/install-gnome-themes ~/install-gnome-themes

If you already have themes of the same names installed in your .themes folder, they will be deleted, so backup the folder first if you want to keep them. Other themes will not be touched.

Installing Themes

You can update this script to its latest version and run it like so:

git -C ~/install-gnome-themes pull --ff-only
~/install-gnome-themes/install-gnome-themes

Note that it will take some time, because some themes render all their images during build.

To change your theme, run the GNOME Tweak Tool and go to the Appearance tab. Or, you can use the command line:

gsettings set org.gnome.desktop.interface gtk-theme "GTK theme name"
gsettings set org.gnome.desktop.wm.preferences theme "Shell theme name"

To avoid rebuilding themes if there was no change the script caches identifiers in the file .install-gnome-themes.conf in the current user's .themes folder. Delete it to force rebuilding all themes:

rm ~/.themes/.install-gnome-themes.conf

Disabling Themes

You can disable individual themes in case they're broken or you just don't want them built.

Edit the .install-gnome-themes.conf in the current user's .themes folder and put the word "skip" instead of the git hash. For example, to skip Plano themes:

github|lassekongo83|plano-theme|master skip

Uninstalling Themes

You can uninstall individual themes by deleting their directories in your .themes folder. To uninstall all user themes, including themes not installed by this script, delete the entire directory:

rm -r ~/.themes

Note that themes take very little space (less than 300 MB for all themes combined) and do not slow down your system when unused.

Problems?

Because we are tracking the latest versions of themes, there is a chance something will break. Please help us fix it and open an issue with as much detail as you can!

By default the script logs all output to the file .install-gnome-themes.log in the current user's .themes folder, but you can also send it to the console like so:

LOG=/dev/stdout ~/install-gnome-themes/install-gnome-themes

Supported Themes

All of these themes provide at least GTK+ theming (for both GTK+3 and GTK+2) and many also provide a shell theme. You are free to mix and match GTK+ themes with shell themes! Some themes also provide application theming (Firefox, Chrome, etc.) though you will have to install that separately. For Firefox, note that there is also a generic GNOME 3 theme that might improve its appearance for some themes, though your mileage will vary.

Unsupported Themes

These themes only work for GNOME 3.18, which used a different theme system.

install-gnome-themes's People

Contributors

chrislauinger77 avatar findarato avatar ti-tom avatar tliron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

install-gnome-themes's Issues

problem with installing themes

after ./isntall-gnome-themes, getting this message:

Detected GNOME 3.22, GTK 3.22.
Detected Debian operating system.
Adapta, Adapta-Eta, Adapta-Nokto, Adapta-Nokto-Eta:
Fetching repository: https://github.com/tista500/Adapta...
Last updated 3 недели назад.
Installing...
WARNING: Installation takes an especially long time due to rendering of all assets, please be patient!


Looks like problem with some theme packs (adapta,pocillo and some) skiped them on the script and all other was installed, please lookup whats wrong with them.

nstall-gnome-themes failed! on Inkscape

The script fails on (Ubuntu) POP_OS 20.04. The few downloaded themes are available although some of the elements are missing (e.g. arrow icons in nautilus). Any suggestion on how to fix this?

** (process:72677): WARNING **: 08:11:17.406: Failed to set RT scheduler: Operation not permitted
Building for gnome-shell 3.36
checking for rendersvg... no
configure: WARNING: rendersvg not found, using inkscape instead
checking for inkscape... /usr/bin/inkscape
checking for optipng... /usr/bin/optipng
checking for sassc... /usr/bin/sassc
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating common/gtk-2.0/Makefile
config.status: creating common/gtk-3.0/Makefile
config.status: creating common/gtk-3.0/3.18/Makefile
config.status: creating common/gtk-3.0/3.20/Makefile
config.status: creating common/xfwm4/Makefile
config.status: creating common/Makefile
config.status: creating extra/Makefile
config.status: creating Makefile
configure: WARNING: unrecognized options: --enable-parallel
Making all in common
make[1]: Entering directory '/tmp/install-gnome-themes/arc-flatabulous-theme/common'
Making all in gtk-2.0
make[2]: Entering directory '/tmp/install-gnome-themes/arc-flatabulous-theme/common/gtk-2.0'
/usr/bin/mkdir -p "light/assets"/
/usr/bin/inkscape --export-id-only --export-filename="light/assets/arrow-down.png" --export-id="arrow-down" --export-dpi=96 "light/assets.svg" >/dev/null

** (inkscape:72968): WARNING **: 08:11:18.735: Invalid option --export-filename=light/assets/arrow-down.png
make[2]: *** [Makefile:732: light/assets/arrow-down.png] Error 1
make[2]: Leaving directory '/tmp/install-gnome-themes/arc-flatabulous-theme/common/gtk-2.0'
make[1]: *** [Makefile:436: all-recursive] Error 1
make[1]: Leaving directory '/tmp/install-gnome-themes/arc-flatabulous-theme/common'
make: *** [Makefile:361: all-recursive] Error 1
install-gnome-themes failed!

Can't install on Ubuntu 19.10

Installing the requirements doesn't work with the following:

$ ./install-requirements-debian 
[sudo] password for vadi: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
git is already the newest version (1:2.20.1-2ubuntu1.19.10.1).
autoconf is already the newest version (2.69-11ubuntu1).
autoconf set to manually installed.
automake is already the newest version (1:1.16.1-4ubuntu3).
automake set to manually installed.
gtk2-engines-murrine is already the newest version (0.98.2-2ubuntu1).
gtk2-engines-pixbuf is already the newest version (2.24.32-4ubuntu1).
libcanberra-gtk3-module is already the newest version (0.30-7ubuntu1).
libglib2.0-bin is already the newest version (2.62.1-1).
libxml2-utils is already the newest version (2.9.4+dfsg1-7ubuntu3).
make is already the newest version (4.2.1-1.2).
optipng is already the newest version (0.7.7-1).
optipng set to manually installed.
pkg-config is already the newest version (0.29.1-0ubuntu3).
inkscape is already the newest version (0.92.4-4).
meson is already the newest version (0.51.2-1).
ninja-build is already the newest version (1.9.0-3).
ruby-sass is already the newest version (3.7.4-1).
ruby-sass set to manually installed.
sassc is already the newest version (3.5.0-1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libglib2.0-dev : Depends: libselinux1-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'numix-gtk-theme' is not installed, so not removed
The following package was automatically installed and is no longer required:
  libvpx5
Use 'sudo apt autoremove' to remove it.
0 to upgrade, 0 to newly install, 0 to remove and 2 not to upgrade.
vadi@gooseberry:~/Programs/install-gnome-themes$ 

Installing anyway doesn't work due to:

vadi@gooseberry:~/Programs/install-gnome-themes$ LOG=/dev/stdout ./install-gnome-themes
Detected GNOME 3.34, GTK 3.24.
Detected Ubuntu operating system.
Adapta, Adapta-Eta, Adapta-Nokto, Adapta-Nokto-Eta:
  Fetching repository: https://github.com/tista500/Adapta...
Cloning into 'Adapta'...
remote: Enumerating objects: 427, done.
remote: Counting objects: 100% (427/427), done.
remote: Compressing objects: 100% (314/314), done.
remote: Total 427 (delta 241), reused 172 (delta 101), pack-reused 0
Receiving objects: 100% (427/427), 475.13 KiB | 1.38 MiB/s, done.
Resolving deltas: 100% (241/241), done.
  Last updated 1 year, 4 months ago. 
  Installing... 
  WARNING: Installation takes an especially long time due to rendering of all assets, please be patient! 
configure.ac:14: installing './install-sh'
configure.ac:14: installing './missing'
+ ./configure --enable-parallel --prefix=/tmp/install-gnome-themes/Adapta --disable-cinnamon --disable-xfce --disable-mate --disable-openbox --enable-chrome-legacy
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GDK_PIXBUF... no
configure: error: Package requirements (gdk-pixbuf-2.0 >= 2.32.2) were not met:

No package 'gdk-pixbuf-2.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GDK_PIXBUF_CFLAGS
and GDK_PIXBUF_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
install-gnome-themes failed! 
vadi@gooseberry:~/Programs/install-gnome-themes$ 

Is it possible to install only select themes rather than all the supported ones?

Hi, This is a great project and the efforts are much celebrated. Recently I've come over an issue and want to share it here to get some help.

By the nature of this script, it installs all the available themes (30+ maybe?) on to the user's system and so the installation (git pull + rendering) can take a very long time (especially on some older machines).

But, most of the time, I only need a handful of them and don't need all others to be installed. So I'm looking for a way to make this script install only select themes but there's no immediately obvious way to do that (or maybe I've overlooked something).

Also, would it be possible to, say, assign a UUID for each theme and then have the script install the themes only with specified UUIDs?

Apologies if I'm missing something, any help is appreciated, Thanks!

pocillo uses meson build now

Just a quick note to let you know pocillo now requires meson steps to build. I'm not quite versed enough in the lingua of this script to convert it to using that though.

Any way to continue building after error?

Hey, I am getting this error when building Numix-Base16-Ocean
write src/gtk-3.20/dist/gtk-dark.css
write src/gtk-3.20/dist/gtk.css
glib-compile-resources --sourcedir=src/gtk-3.0 src/gtk-3.0/gtk.gresource.xml
src/gtk-3.0/gtk.gresource.xml: Failed to locate “assets/checkbox-checked-dark.png” in any source directory.
make: *** [Makefile:21: gresource] Error 1

I know this is not your problem, it's a problem in the theme. But is there any way to change the script so that it continues building after encountering an error? I am just going to change my conf file to skip this theme for now. I thought I knew shell scripting, but I can't for the life of me figure out why the non-zero exit from make causes the script to stop!

Doesn't go past Adapta (stuck on rendering assets)

On my Ryzen 1600, 32GB RAM system and using the script, I get 100% CPU usage on all cores, but the rendering of assets for Adapta never finishes (2+ hours of waiting). I have included what the terminal output looks like (and it never gets past what I have pasted here).

System is running Pop_OS! 19.04 with Kernel 5.0.0-21. Never had this issue before!

`LOG=/dev/stdout ~/install-gnome-themes/install-gnome-themes
Detected GNOME 3.32, GTK 3.24.
Detected Ubuntu operating system.
Adapta, Adapta-Eta, Adapta-Nokto, Adapta-Nokto-Eta:
Fetching repository: https://github.com/tista500/Adapta...
Cloning into 'Adapta'...
remote: Enumerating objects: 427, done.
remote: Counting objects: 100% (427/427), done.
remote: Compressing objects: 100% (314/314), done.
remote: Total 427 (delta 241), reused 172 (delta 101), pack-reused 0
Receiving objects: 100% (427/427), 475.13 KiB | 643.00 KiB/s, done.
Resolving deltas: 100% (241/241), done.
Last updated 9 months ago.
Installing...
WARNING: Installation takes an especially long time due to rendering of all assets, please be patient!
configure.ac:14: installing './install-sh'
configure.ac:14: installing './missing'

  • ./configure --enable-parallel --prefix=/tmp/install-gnome-themes/Adapta --disable-cinnamon --disable-xfce --disable-mate --disable-openbox --enable-chrome-legacy
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking whether UID '1000' is supported by ustar format... yes
    checking whether GID '1000' is supported by ustar format... yes
    checking how to create a ustar tar archive... gnutar
    checking whether make supports nested variables... (cached) yes
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for GDK_PIXBUF... yes
    checking for GLIB... yes
    checking for glib-compile-resources... /usr/bin/glib-compile-resources
    checking for inkscape... /usr/bin/inkscape
    checking for sassc... /usr/bin/sassc
    checking for parallel... /usr/bin/parallel
    checking for Gnome-Shell SCSS version... 3.26
    creating ./gtk/sass/common/_key_colors.scss
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating gtk/Makefile
    config.status: creating shell/Makefile
    config.status: creating wm/Makefile
    config.status: creating extra/Makefile

      Adapta Gtk+ Theme 3.95.0
      =================================================================
    
       prefix:                 /tmp/install-gnome-themes/Adapta
       datarootdir:            ${prefix}/share
       target directories:     ${prefix}/share/themes/Adapta
                               ${prefix}/share/themes/Adapta-Nokto
                               ${prefix}/share/themes/Adapta-Eta
                               ${prefix}/share/themes/Adapta-Nokto-Eta
    
       glib-compile-resources: /usr/bin/glib-compile-resources
       inkscape:               /usr/bin/inkscape
       sassc:                  /usr/bin/sassc
    
       parallel-build:         yes (default: no)
       parallel:               /usr/bin/parallel
    
       selection-color:        #00BCD4 (default: #00BCD4)
       accent-color:           #4DB6AC (default: #4DB6AC)
       suggestion-color:       #009688 (default: #009688)
       destruction-color:      #FF5252 (default: #FF5252)
    
      -----------------------------------------------------------------
      | Supported Gtk+ Version
      -----------------------------------------------------------------
    
       Gtk+ 2.0:               always
       Gtk+ 3.20:              always
       Gtk+ 3.22:              always
       Gtk+ 3.24:              always
       Gtk+ 4.0:               no (default: no)
    
      -----------------------------------------------------------------
      | DE and WM Support
      -----------------------------------------------------------------
    
       Budgie-Desktop:         always (>= 10.4)
       GNOME:                  yes (SCSS ver. 3.26) (default: yes)
       Cinnamon:               no (default: yes)
       GNOME-Flashback:        yes (default: yes)
       XFce:                   no (default: yes)
       Mate:                   no (default: yes)
       Openbox:                no (default: yes)
    
      -----------------------------------------------------------------
      | Extra Support
      -----------------------------------------------------------------
    
       GtkSourceView/Gedit:    always
       Chrome(ium)-legacy:     yes (default: no)
       Plank:                  no (default: no)
       Telegram:               no (default: no)
       Tweetdeck-Colordeck:    no (default: no)
    
      =================================================================
                                 =>> run 'make' and 'sudo make install'
    

Making all in gtk
make[1]: Entering directory '/tmp/install-gnome-themes/Adapta/gtk'
/usr/bin/mkdir -p ./gtk-3.20 &&
/usr/bin/mkdir -p ./gtk-3.20-eta &&
/usr/bin/mkdir -p ./gtk-3.20-nokto &&
/usr/bin/mkdir -p ./gtk-3.20-nokto-eta &&
/usr/bin/mkdir -p ./gtk-3.22 &&
/usr/bin/mkdir -p ./gtk-3.22-eta &&
/usr/bin/mkdir -p ./gtk-3.22-nokto &&
/usr/bin/mkdir -p ./gtk-3.22-nokto-eta &&
/usr/bin/mkdir -p ./gtk-3.24 &&
/usr/bin/mkdir -p ./gtk-3.24-eta &&
/usr/bin/mkdir -p ./gtk-3.24-nokto &&
/usr/bin/mkdir -p ./gtk-3.24-nokto-eta &&
/usr/bin/mkdir -p ./asset/assets-gtk2 &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Arrows &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Buttons &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Arrows &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Check-Radio &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Column &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Entry &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Handles &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Lines &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Others &&
/usr/bin/mkdir -p ./asset/assets-gtk2/ProgressBar &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Range &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Scrollbars &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Shadows &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Spin &&
/usr/bin/mkdir -p ./asset/assets-gtk2/Toolbar &&
/usr/bin/mkdir -p ./asset/assets-gtk3
cd ./gtk-2.0 && ./recolor-gtk2.sh
cd ./sass && /usr/bin/parallel --null --no-notice --line-buffer --jobs 100% :::
"/usr/bin/sassc -M -t compact 3.20/gtk.scss ../gtk-3.20/gtk-contained.css"
"/usr/bin/sassc -M -t compact 3.20/gtk-dark.scss ../gtk-3.20/gtk-contained-dark.css"
"/usr/bin/sassc -M -t compact 3.20/gtk-eta.scss ../gtk-3.20-eta/gtk-contained.css"
"/usr/bin/sassc -M -t compact 3.20/gtk-dark-eta.scss ../gtk-3.20-eta/gtk-contained-dark.css"
"/usr/bin/sassc -M -t compact 3.22/gtk.scss ../gtk-3.22/gtk-contained.css"
"/usr/bin/sassc -M -t compact 3.22/gtk-dark.scss ../gtk-3.22/gtk-contained-dark.css"
"/usr/bin/sassc -M -t compact 3.22/gtk-eta.scss ../gtk-3.22-eta/gtk-contained.css"
"/usr/bin/sassc -M -t compact 3.22/gtk-dark-eta.scss ../gtk-3.22-eta/gtk-contained-dark.css"
"/usr/bin/sassc -M -t compact 3.24/gtk.scss ../gtk-3.24/gtk-contained.css"
"/usr/bin/sassc -M -t compact 3.24/gtk-dark.scss ../gtk-3.24/gtk-contained-dark.css"
"/usr/bin/sassc -M -t compact 3.24/gtk-eta.scss ../gtk-3.24-eta/gtk-contained.css"
"/usr/bin/sassc -M -t compact 3.24/gtk-dark-eta.scss ../gtk-3.24-eta/gtk-contained-dark.css"
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
compound selectors may no longer be extended.
Consider @extend ${compound.components.join(', ')} instead.
See http://bit.ly/ExtendCompound for details.
`

Ubuntu 18.04 install issues

Traceback (most recent call last):
1: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in require' /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in require': cannot load such file -- ubygems (LoadError)
Adapta, Adapta-Eta, Adapta-Nokto, Adapta-Nokto-Eta:
Fetching repository: https://github.com/tista500/Adapta...
Last updated 2 days ago.
Installing...
WARNING: Installation takes an especially long time due to rendering of all assets, please be patient!

Moving to Gitlab

Hi.
Would you consider moving to gitlab?
Seems like a lot of projects are moving after Microsoft announced they bought Github.

miss gem command

I runned the script but I think it stops at line 43 because:
sudo: gem: command not found!
You need to check ruby is installated to run gem command.

Add support for Arch Linux

I am running on Apricity OS - Gnome 3.24

Here's the output.

Detected GTK .
This script only GTK version 3.18 up to 3.24.

Don't work with mate 1.18

Don't work with mate 1.18 it give: ```
line 44: gnome-shell: command don't found
This script only GNOME version 3.18 up to 3.24.

Mate from version 1.18 is use fully GTK 3 in version 3.18.

hey tliron FIX THIS f

emptyi0r@nakxion:~/install-gnome-themes$ ./install-gnome-themes Detected GNOME 3.28, GTK 3.22. /home/emptyi0r/install-gnome-themes/utils.sh: line 14: /home/emptyi0r/.themes/.install-gnome-themes.log: No such file or directory install-gnome-themes failed! /home/emptyi0r/install-gnome-themes/utils.sh: line 14: /home/emptyi0r/.themes/.install-gnome-themes.log: No such file or directory
file install-gnome-themes

Ability to select themes

It would be nice to have an option to allow for toggling themes off and on from a configuration file. Default to them all on, but a simple bash variable file to turn them on / off would be nice.

#!/bin/bash

Adapta=true
AdwaitaTweaks=true
Amber=true
Ant=true

This is an example of what I am referring to. By defaulting them all on, nothing would be broken from the default action, but if a user wanted to only install one, or to install all but a few it would work.

Uninstall

Sorry for dumb question. Not fluent with git.

Whats the command to revert everything and uninstall?

Thanks

Reliable determination of the Distribution Name

I ccanot think of a more unreliable method of determining the distribution name than this

  head -1 /etc/issue | cut --delimiter=' ' --fields=1

The contents of /etc/issue are never guaranteed to have the distribution name on line 1 nor even contain the distribution name.

If the lsb_release executable is available, then the distribution name can be easily found with

   lsb_release -i | sed -ne 's|Distributor ID:[[:space:]]||p'

otherwise checking the contents of the file /etc/os-release (if present) can yield results, otherwise looks for files such as /etc/linuxmint/info, /etc/debian_version, etc.

How to uninstall?

I installed these themes and I don't face any problem in this process. But, how to uninstall if I don't want them in the future.

For me it gives me that on Ubuntu Gnome 16.4

ragay@gino:/install-gnome-themes$ ./install-gnome-themes
Detected GNOME 3.18, GTK 3.18.
Detected Ubuntu operating system.
Verifying that build requirements are installed...
[sudo] password for ragay:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'numix-gtk-theme' is not installed, so not removed
The following package was automatically installed and is no longer required:
snap-confine
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree
Reading state information... Done
autoconf is already the newest version (2.69-9).
automake is already the newest version (1:1.15-4ubuntu1).
inkscape is already the newest version (0.91-7ubuntu2).
librsvg2-dev is already the newest version (2.40.13-3).
pkg-config is already the newest version (0.29.1-0ubuntu1).
ruby is already the newest version (1:2.3.0+1).
fonts-noto-hinted is already the newest version (20160116-1).
fonts-roboto-hinted is already the newest version (2:0
20160106-1).
gnome-themes-standard is already the newest version (3.18.0-2ubuntu1).
parallel is already the newest version (20141022+ds1-1).
ruby-bundler is already the newest version (1.11.2-1).
git is already the newest version (1:2.7.4-0ubuntu1.1).
gtk2-engines-murrine is already the newest version (0.98.2-0ubuntu2.2).
libgdk-pixbuf2.0-dev is already the newest version (2.32.2-1ubuntu1.2).
libglib2.0-bin is already the newest version (2.48.2-0ubuntu1).
libglib2.0-dev is already the newest version (2.48.2-0ubuntu1).
libgtk-3-dev is already the newest version (3.18.9-1ubuntu3.3).
libxml2-utils is already the newest version (2.9.3+dfsg1-1ubuntu0.2).
gtk2-engines-pixbuf is already the newest version (2.24.30-1ubuntu1.16.04.1).
The following package was automatically installed and is no longer required:
snap-confine
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Building native extensions. This could take a while...
ERROR: Error installing sass:
ERROR: Failed to build gem native extension.

current directory: /var/lib/gems/2.3.0/gems/ffi-1.9.18/ext/ffi_c

/usr/bin/ruby2.3 -r ./siteconf20170714-3431-c97fhs.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.3.0/gems/ffi-1.9.18 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/ffi-1.9.18/gem_make.out

install-gnome-themes failed! Arc-Flatabulous / Yaru

It gives me error when installing the script with these two themes.
I removed it from the script list and I have no problems with the others.

Please put on the installation page that these requirements must be installed, a person who does not know (like me) will not be able to install the themes. I was able to install it thanks to linuxuprising

Gnome 3.36?

Gnome 3.36 is not supported yet. I think adding one line on the script would fix this.

Oops, not as simple as I thought. Here's the issue I have.

Code/install-gnome-themes [master] » ./install-gnome-themes
Detected GNOME 3.36, GTK 3.24.
/home/vinliao/Code/install-gnome-themes/utils.sh: line 40: lsb_release: command not found
Detected Fedora operating system.
Adapta, Adapta-Eta, Adapta-Nokto, Adapta-Nokto-Eta:
  Fetching repository: https://github.com/tista500/Adapta ...
  Last updated 5 weeks ago. 
  Installing... 
  WARNING: Installation takes an especially long time due to rendering of all assets, please be patient! 
install-gnome-themes failed! 

Fedora 32, gnome 3.36.

Moving themes from current repository

Hi,

I maintain the Redmond Themes repo and will be migrating every theme to an individual repository in the coming week. I just wanted to let you know in advance

Icon and cursor themes

Hi,
Nice work! I got to know about some really cool themes after running the script.
However, I would be greatly thankful if you could add some icon and cursor themes as well!
Thanks

Orchis theme changed install script to install.sh

Instead of the "install-all.sh" script they had before Orchis is now just using "install.sh"

So install-gnome-themes gives this error when trying to install it

/home/mike/install-gnome-themes/utils.sh: line 300: ./install-all.sh: No such file or directory
Failed!

Should be simple to change to install.sh

Use a more distro neutral way to find distro

The current way of setting OS is limited to just Ubuntu, I'm going to add Fedora support, would you rather make a more neutral way of finding distro version? (cat /proc/version or uname -a? and use regex on it?) or should it be done via a separate code branch? (if statement)

Error installing sass

ERROR: Error installing sass:
ERROR: Failed to build gem native extension.

current directory: /var/lib/gems/2.3.0/gems/ffi-1.9.18/ext/ffi_c
/usr/bin/ruby2.3 -r ./siteconf20170714-4219-9qk1ng.rb extconf.rb

mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Any ideas ?

install-gnome-themes failed!

LOG=/dev/stdout ~/install-gnome-themes/install-gnome-themes
Detected GNOME 3.22, GTK 3.22.
Detected Debian operating system.
Adapta, Adapta-Eta, Adapta-Nokto, Adapta-Nokto-Eta:
Fetching repository: https://github.com/tista500/Adapta ...
Клонирование в «Adapta»…
remote: Enumerating objects: 427, done.
remote: Counting objects: 100% (427/427), done.
remote: Compressing objects: 100% (314/314), done.
remote: Total 427 (delta 241), reused 172 (delta 101), pack-reused 0
Получение объектов: 100% (427/427), 475.13 KiB | 0 bytes/s, готово.
Определение изменений: 100% (241/241), готово.
Last updated 1 год и 5 месяцев назад.
Already installed.
Adwaita-tweaks:
Fetching repository: https://github.com/Jazqa/adwaita-tweaks ...
Клонирование в «adwaita-tweaks»…
remote: Enumerating objects: 339, done.
remote: Counting objects: 100% (339/339), done.
remote: Compressing objects: 100% (321/321), done.
remote: Total 339 (delta 18), reused 330 (delta 17), pack-reused 0
Получение объектов: 100% (339/339), 108.81 KiB | 0 bytes/s, готово.
Определение изменений: 100% (18/18), готово.
Last updated 2 года и 5 месяцев назад.
Already installed.
Amber:
Fetching repository: https://github.com/lassekongo83/amber-theme ...
Клонирование в «amber-theme»…
remote: Enumerating objects: 284, done.
remote: Counting objects: 100% (284/284), done.
remote: Compressing objects: 100% (242/242), done.
remote: Total 284 (delta 72), reused 214 (delta 40), pack-reused 0
Получение объектов: 100% (284/284), 2.61 MiB | 1.25 MiB/s, готово.
Определение изменений: 100% (72/72), готово.
Last updated 13 дней назад.
Already installed.
Ant:
Fetching repository: https://github.com/EliverLara/Ant ...
Клонирование в «Ant»…
remote: Enumerating objects: 589, done.
remote: Counting objects: 100% (589/589), done.
remote: Compressing objects: 100% (356/356), done.
remote: Total 589 (delta 233), reused 493 (delta 201), pack-reused 0
Получение объектов: 100% (589/589), 643.40 KiB | 617.00 KiB/s, готово.
Определение изменений: 100% (233/233), готово.
Last updated 2 недели назад.
Already installed.
Aqua:
Fetching repository: https://github.com/EliverLara/Aqua ...
Клонирование в «Aqua»…
remote: Enumerating objects: 529, done.
remote: Counting objects: 100% (529/529), done.
remote: Compressing objects: 100% (340/340), done.
remote: Total 529 (delta 206), reused 422 (delta 155), pack-reused 0
Получение объектов: 100% (529/529), 815.06 KiB | 661.00 KiB/s, готово.
Определение изменений: 100% (206/206), готово.
Last updated 8 дней назад.
Already installed.
Arc, Arc-Dark, Arc-Darker:
Fetching repository: https://github.com/NicoHood/arc-theme ...
Клонирование в «arc-theme»…
remote: Enumerating objects: 388, done.
remote: Counting objects: 100% (388/388), done.
remote: Compressing objects: 100% (228/228), done.
remote: Total 388 (delta 195), reused 244 (delta 116), pack-reused 0
Получение объектов: 100% (388/388), 423.80 KiB | 0 bytes/s, готово.
Определение изменений: 100% (195/195), готово.
Last updated 3 месяца назад.
Already installed.
Arc-Flatabulous, Arc-Flatabulous-Dark, Arc-Flatabulous-Darker:
Fetching repository: https://github.com/andreisergiu98/arc-flatabulous-theme ...
Клонирование в «arc-flatabulous-theme»…
remote: Enumerating objects: 531, done.
remote: Counting objects: 100% (531/531), done.
remote: Compressing objects: 100% (395/395), done.
remote: Total 531 (delta 176), reused 381 (delta 92), pack-reused 0
Получение объектов: 100% (531/531), 533.59 KiB | 681.00 KiB/s, готово.
Определение изменений: 100% (176/176), готово.
Last updated 5 месяцев назад.
Already installed.
Blue-Face:
Fetching repository: https://github.com/Vistaus/Blue-Face ...
Клонирование в «Blue-Face»…
remote: Enumerating objects: 289, done.
remote: Counting objects: 100% (289/289), done.
remote: Compressing objects: 100% (145/145), done.
remote: Total 289 (delta 132), reused 257 (delta 118), pack-reused 0
Получение объектов: 100% (289/289), 1.50 MiB | 730.00 KiB/s, готово.
Определение изменений: 100% (132/132), готово.
Last updated 2 года и 9 месяцев назад.
Already installed.
Breeze-gtk, Breeze-dark-gtk:
Fetching repository: https://github.com/dirruk1/gnome-breeze ...
Клонирование в «gnome-breeze»…
remote: Enumerating objects: 488, done.
remote: Counting objects: 100% (488/488), done.
remote: Compressing objects: 100% (465/465), done.
remote: Total 488 (delta 25), reused 443 (delta 16), pack-reused 0
Получение объектов: 100% (488/488), 309.56 KiB | 0 bytes/s, готово.
Определение изменений: 100% (25/25), готово.
Last updated 2 года и 1 месяц назад.
Already installed.
Candra-Theme-3.20, Candra-Theme-3.20-Dark, Candra-Theme-3.20-Darker:
Fetching repository: https://github.com/killhellokitty/Candra-Themes-3.20 ...
Клонирование в «Candra-Themes-3.20»…
remote: Enumerating objects: 1008, done.
remote: Counting objects: 100% (1008/1008), done.
remote: Compressing objects: 100% (428/428), done.
remote: Total 1008 (delta 575), reused 1007 (delta 575), pack-reused 0
Получение объектов: 100% (1008/1008), 2.67 MiB | 628.00 KiB/s, готово.
Определение изменений: 100% (575/575), готово.
Last updated 3 года и 10 месяцев назад.
Already installed.
Canta, Canta-compact, Canta-dark, Canta-dark-compact, Canta-light, Canta-light-compact, Canta-blue, Canta-blue-compact, Canta-blue-dark, Canta-blue-dark-compact, Canta-blue-light, Canta-blue-light-compact, Canta-indigo, Canta-indigo-compact, Canta-indigo-dark, Canta-indigo-dark-compact, Canta-indigo-light, Canta-indigo-light-compact:
Fetching repository: https://github.com/vinceliuice/Canta-theme ...
Клонирование в «Canta-theme»…
remote: Enumerating objects: 7751, done.
remote: Counting objects: 100% (7751/7751), done.
remote: Compressing objects: 100% (3108/3108), done.
remote: Total 7751 (delta 3727), reused 7610 (delta 3674), pack-reused 0
Получение объектов: 100% (7751/7751), 4.97 MiB | 2.09 MiB/s, готово.
Определение изменений: 100% (3727/3727), готово.
Last updated 2 недели назад.
Already installed.
Chrome-OS:
Fetching repository: https://github.com/Elbullazul/Chrome-OS ...
Клонирование в «Chrome-OS»…
remote: Enumerating objects: 225, done.
remote: Counting objects: 100% (225/225), done.
remote: Compressing objects: 100% (169/169), done.
remote: Total 225 (delta 68), reused 192 (delta 56), pack-reused 0
Получение объектов: 100% (225/225), 679.58 KiB | 457.00 KiB/s, готово.
Определение изменений: 100% (68/68), готово.
Last updated 7 недель назад.
Already installed.
Ciliora-Secunda:
Fetching repository: https://github.com/zagortenay333/ciliora-secunda-shell ...
Клонирование в «ciliora-secunda-shell»…
remote: Enumerating objects: 350, done.
remote: Counting objects: 100% (350/350), done.
remote: Compressing objects: 100% (319/319), done.
remote: Total 350 (delta 262), reused 48 (delta 29), pack-reused 0
Получение объектов: 100% (350/350), 298.11 KiB | 0 bytes/s, готово.
Определение изменений: 100% (262/262), готово.
Last updated 12 месяцев назад.
Already installed.
Ciliora-Tertia:
Fetching repository: https://github.com/zagortenay333/ciliora-tertia-shell ...
Клонирование в «ciliora-tertia-shell»…
remote: Enumerating objects: 333, done.
remote: Counting objects: 100% (333/333), done.
remote: Compressing objects: 100% (270/270), done.
remote: Total 333 (delta 243), reused 82 (delta 61), pack-reused 0
Получение объектов: 100% (333/333), 280.31 KiB | 0 bytes/s, готово.
Определение изменений: 100% (243/243), готово.
Last updated 12 месяцев назад.
Already installed.
Cloak-3.22:
Fetching repository: https://github.com/killhellokitty/Cloak-3.22 ...
Клонирование в «Cloak-3.22»…
remote: Enumerating objects: 512, done.
remote: Counting objects: 100% (512/512), done.
remote: Compressing objects: 100% (366/366), done.
remote: Total 512 (delta 142), reused 504 (delta 141), pack-reused 0
Получение объектов: 100% (512/512), 3.16 MiB | 1.31 MiB/s, готово.
Определение изменений: 100% (142/142), готово.
Last updated 2 года и 8 месяцев назад.
Already installed.
EvoPop, EvoPop-Azure:
Fetching repository: https://github.com/solus-cold-storage/evopop-gtk-theme ...
Клонирование в «evopop-gtk-theme»…
remote: Enumerating objects: 571, done.
remote: Counting objects: 100% (571/571), done.
remote: Compressing objects: 100% (374/374), done.
remote: Total 571 (delta 264), reused 403 (delta 189), pack-reused 0
Получение объектов: 100% (571/571), 481.91 KiB | 634.00 KiB/s, готово.
Определение изменений: 100% (264/264), готово.
Last updated 2 года и 4 месяца назад.
Already installed.
Fresh-Finesse:
Fetching repository: https://github.com/Vistaus/Fresh-Finesse ...
Клонирование в «Fresh-Finesse»…
remote: Enumerating objects: 68, done.
remote: Counting objects: 100% (68/68), done.
remote: Compressing objects: 100% (37/37), done.
remote: Total 68 (delta 30), reused 68 (delta 30), pack-reused 0
Распаковка объектов: 100% (68/68), готово.
Last updated 2 года и 10 месяцев назад.
Already installed.
Greybird, Greybird-accessibility, Greybird-bright, Greybird-compact, Greybird-dark, Greybird-dark-accessibility:
Fetching repository: https://github.com/shimmerproject/Greybird ...
Клонирование в «Greybird»…
remote: Enumerating objects: 579, done.
remote: Counting objects: 100% (579/579), done.
remote: Compressing objects: 100% (339/339), done.
remote: Total 579 (delta 195), reused 499 (delta 166), pack-reused 0
Получение объектов: 100% (579/579), 253.37 KiB | 0 bytes/s, готово.
Определение изменений: 100% (195/195), готово.
Last updated 4 недели назад.
Installing...
The Meson build system
Version: 0.37.1
Source dir: /tmp/install-gnome-themes/Greybird
Build dir: /tmp/install-gnome-themes/Greybird/_build
Build type: native build

Meson encountered an error in file meson.build, line 1, column 0:
Not enough arguments to project(). Needs at least the project name and one language
install-gnome-themes failed!

Failing to install on Ubuntu 19.10

Different issue to #41

It fails on installing the first theme (Adapta). Just outputs install-gnome-theme failed! after attempting to install the theme. Have also installed sassc and deleted the .themes/ folder and tried again and I've gone ahead and removed /tmp/install-gnome-themes/ all to no avail.

Requirements are installed:

$ ./install-requirements-debian
Reading package lists... Done
Building dependency tree       
Reading state information... Done
autoconf is already the newest version (2.69-11ubuntu1).
automake is already the newest version (1:1.16.1-4ubuntu3).
gtk2-engines-murrine is already the newest version (0.98.2-2ubuntu1).
gtk2-engines-pixbuf is already the newest version (2.24.32-4ubuntu1).
libcanberra-gtk3-module is already the newest version (0.30-7ubuntu1).
libgdk-pixbuf2.0-dev is already the newest version (2.40.0+dfsg-1build1).
libgtk-3-dev is already the newest version (3.24.12-1ubuntu1).
librsvg2-dev is already the newest version (2.44.14-1).
make is already the newest version (4.2.1-1.2).
optipng is already the newest version (0.7.7-1).
pkg-config is already the newest version (0.29.1-0ubuntu3).
fonts-noto-hinted is already the newest version (20181227-1).
fonts-roboto-hinted is already the newest version (2:0~20170802-3).
gnome-themes-standard is already the newest version (3.28-1ubuntu1).
inkscape is already the newest version (0.92.4-4).
meson is already the newest version (0.51.2-1).
ninja-build is already the newest version (1.9.0-3).
parallel is already the newest version (20161222-1.1).
ruby-sass is already the newest version (3.7.4-1).
sassc is already the newest version (3.5.0-1).
git is already the newest version (1:2.20.1-2ubuntu1.19.10.1).
libglib2.0-bin is already the newest version (2.62.4-1~ubuntu19.10.2).
libglib2.0-dev is already the newest version (2.62.4-1~ubuntu19.10.2).
libxml2-utils is already the newest version (2.9.4+dfsg1-7ubuntu3.1).
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'numix-gtk-theme' is not installed, so not removed
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.

When running ./install-gnome-themes with logs enabled, the output is described in this gist: https://gist.github.com/philMarius/0c2618ed264c24502f97d0737e0fa896

Any advice much appreciated!

Add support for Elementary OS

When I run the script I get the following error:
This script currently only supports Debian, Ubuntu, and LinuxMint.
Elementary is based on Ubuntu 16.04 and should be compatible.

Issues in Linux Ubuntu 18.10

This is what I'm seeing on my terminal after trying to install:

$ /install-gnome-themes/install-gnome-themes
Detected GNOME 3.30, GTK 3.24.
Detected Ubuntu operating system.
Adapta, Adapta-Eta, Adapta-Nokto, Adapta-Nokto-Eta:
Fetching repository: https://github.com/tista500/Adapta...
Last updated 4 months ago.
Installing...
WARNING: Installation takes an especially long time due to rendering of all assets, please be patient!
$

Themes don't apply

After running the script and all of the themes were installed they are not visible at the gnome tweak tool.

I've editted Debian to Kali in the source so it'd run.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.