Skip to content

Latest commit

 

History

History

icons

Yaru Icons & Cursors

This project is a revitalization of the Suru icon set that was designed for Ubuntu Touch. The principles and styles created for Suru now serve as the basis for a new FreeDesktop icon theme.

Copying or Reusing

This project has mixed licensing. You are free to copy, redistribute and/or modify aspects of this work under the terms of each licence accordingly (unless otherwise specified).

The Yaru icon assets (any and all source .svg files or rendered .png files) are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 License.

Included scripts are free software licensed under the terms of the GNU General Public License, version 3.

Installing & Using

You can build and install Yaru from source using Meson.

# build
meson "build" --prefix=/usr
# install
sudo ninja -C "build" install

By default it installs to /usr/ but you can specify a different directory with a prefix like: /usr/local or $HOME/.local.

After which you should be able to pick Yaru as your icon or cursor theme in GNOME Tweak tool, or you can set either from a terminal with:

# set the icon theme
gsettings set org.gnome.desktop.interface icon-theme "Yaru"
# or the cursor theme
gsettings set org.gnome.desktop.interface cursor-theme "Yaru"

Uninstalling Yaru

To uninstall Yaru, simply run the following. (If you installed it without superuser privileges just omit the sudo.)

sudo ninja -C "build" uninstall

Once uninstalled you can reset your icon and cursor theme to the default setting by running the following.

# reset icon theme to default
gsettings reset org.gnome.desktop.interface icon-theme
# reset cursor theme to default
gsettings reset org.gnome.desktop.interface cursor-theme

Contributing

Contributions are obviously welcome! If you would like to contribute to this project, please have read this regarding contributions.

Rendering icons

Icons can be rendered easily using meson provided scripts, inkscape is required for this operation.

There are various commands that are exposed in meson.build, however main are:

# Removes the icons already rendered
ninja -C build cleanup-rendered-icons

# Render all icons
ninja -C build render-icons

# Render the icons and create symlinks for the alias names
ninja -C build render+symlink-icons

# Other ninja target for rendering specific icons can be found via tab-completion, such as
ninja -C _build -v render- #<tab><tab> or
ninja -C _build -v icon-render- # <tab><tab>
# so for example:
ninja -C _build -v icon-render-application-x-cd-image

Generating accent color icons

Assets must be provided in the fullcolor accented subfolder, using colors that can be replaced via colorize-dummy-svg.py (that generates the colors from gtk themes using yaru-colors-defs.scss·)

To generate the icons you need to use meson:

# On the project root
meson build
ninja -C build render-accented-icons

# You can also render just one accent with
ninja -C build render-icons-[variant] # build-render-icons-blue