« Back.github

Editing the theme

Editing the CSS based themes in the common directory (cinnamon, gnome-shell, gtk-3.0)

This theme uses libsass to process the various .scss files. Never edit any of the .css files manually.

  • Edit the common/*/sass/*.scss files.

  • Rebuild to generate all css files using sassc.

Editing the GTK 2 themes

  • Go to common/gtk-2.0

  • The colors and includes are defined in light/gtkrc, dark/gtkrc and darker/gtkrc for each theme variant

  • main.rc contains the major part of the theme

  • panel.rc contains the panel styling for Xfce and MATE

  • apps.rc contains some application specific rules

Because this theme is heavily based on the pixmap engine, a lot of the styling comes from the images in the light/assets and dark/assets folders. Don't edit these images directly. See the next section.

Editing the images for the GTK 2, GTK 3 and XFWM4 themes

  • Go to the common/gtk-2.0/{light,dark}, common/gtk-3.0/$gtk-version or common/xfwm4/{light,dark} directory.

  • Open the assets.svg file in inkscape. Each object in the .svg file corresponds to an image in the assets folder.

  • Find the object you want to edit and make your changes. Important: Don't change the object id!

  • Save assets.svg and rebuild.


Contributing to the project

The main purpose of this fork is to maintain the theme. This means that all major changes to the visual style should be avoided, unless there are very good reason for them.

All contributions to the theme are appreciated, as long as they are useful and well implemented, and don't increase the maintenance load, or unnecessarily alter the visual style. If you're unsure about anything, or would like to work on some larger project, it's not a bad idea to open an issue for discussion before submitting a pull request.

Sending pull requests

Nicely split single-purpose commits, and clean and descriptive commit messages are greatly appreciated. Please abide by the following commit message guidelines if possible:

  • Prepend the first line of the message with a tag describing what part of the theme is affected, e.g. gtk3:, cinnamon:, build: etc. This makes the commit logs much cleaner.

  • Add a full link to the pull request you opened, or a related github issue at the end of the commit message for future reference.

Installing Arc from the source

Getting the source

To get the source, either clone the git repository with e.g.

git clone https://github.com/jnsh/arc-theme --depth 1

Or download and extract a snapshot of the master git branch, or the latest release tarball.

Dependencies

Build dependencies

To build the theme the following packages are required: * meson

The following packages are only required for building certain themes: * sassc for GTK 3, Cinnamon, and GNOME Shell * inkscape for GTK 2, GTK 3, and Xfwm

You can avoid these dependencies by choosing to not build specific themes using the themes build option.

Runtime dependencies

For the GTK 2 theme to function properly, install the following: * gnome-themes-extra, or gnome-themes-standard before GNOME version 3.28 * The murrine GTK 2 engine. This has different names depending on the distribution: * gtk-engine-murrine (Arch Linux) * gtk2-engines-murrine (Debian, Ubuntu, elementary OS) * gtk-murrine-engine (Fedora) * gtk2-engine-murrine (openSUSE) * gtk-engines-murrine (Gentoo)

Building and installation

Arc-theme uses Meson build system, refer to its documentation for further information about the build process.

The following instructions should work for most common cases.

Setup and configure a build direcortry

First you need to setup and configure a new build directory (e.g. build/) from the cloned/extracted source code directory.

You should at least configure the build prefix with --prefix= option, usually /usr for system wide installation, or $HOME/.local for installing for your user only. Additionally you may set any Arc-theme specific build options according to your needs and preferences, with -Doption=value command line argument.

For example, configure to install in your home directory, and to only build the Arc-Darker variant with:

meson setup --prefix=$HOME/.local -Dvariants=darker build/

The build options can later be changed with meson configure command, e.g.

meson configure --prefix=/usr -Dvariants=light,darker build/
Build and install

Build and install the theme according to your configuration by running the following:

meson install -C build/
Note about installation in user's home directory

Some themes (at least GTK 2) aren't loaded from ~/.local/share/themes/. You can work around this e.g. by symlinking the Arc theme directories in ~/.local/share/themes/ to ~/.themes/ with following commands:

mkdir -p ~/.themes/
for d in Arc{,-Dark,-Darker,-Lighter}{,-solid}; do
  [ -d ~/.local/share/themes/$d ] && ln -s ~/.local/share/themes/$d ~/.themes/;
done

Versioned themes

The source code comes branched for different versions of GTK 3, GNOME Shell, and Cinnamon. Only one version of those themes will be built and installed, and using the wrong versions will likely result in visual issues.

The versions that will be built can be set manually with cinnamon_version, gnome_shell_version and gtk3_version build options.

Otherwise the build system tries to determine correct versions using the following packages on the build environment: * gnome-shell for detecting GNOME Shell version * cinnamon for detecting Cinnamon version * pkgconf and the GTK 3 package, or its development files for distributions that ship those separately (e.g. libgtk-3-dev for Debian based distros or gtk3-devel for RPM based distros), for detecting GTK 3 version

Note: The build setup for GTK 3, Cinnamon and GNOME Shell themes will fail, if their versions can't be determined either from the build options, or from installed packages.

Build options

Arc-theme specific build options can be set or changed with meson configure -Doption=value <build_directory> e.g.

meson configure -Dthemes=gtk3,plank,xfwm -Dtransparency=false -Dgtk3_version=3.24 build/

Option | Default value | Description --- | --- | --- themes | cinnamon,gnome-shell,gtk2,gtk3,metacity,plank,unity,xfwm | List of themes to build variants | light,darker,dark,lighter | List of theme variants to build transparency | true | Enable or disable transparency cinnamon_version | - | Build Cinnamon theme for specific version gnome_shell_version | - | Build GNOME Shell theme for specific version gtk3_version | - | Build GTK 3 theme for specific version gnome_shell_gresource | false | Compile GNOME Shell theme into a gresource file

Uninstallation

Manually remove the theme directories from your install location, e.g.

rm -rf ~/.local/share/themes/Arc{,-Dark,-Darker,-Lighter}{,-solid}

Arc Theme

Arc is a flat theme with transparent elements for GTK 3, GTK 2 and various desktop shells, window managers and applications. It's well suited for GTK based desktop environments such as GNOME, Cinnamon, Xfce, Unity, MATE, Budgie etc.

The theme was originally designed and developed by horst3180, but the project has been unmaintained since May 2017.

This fork aims to keep the theme updated with new toolkit and desktop environment versions, resolve pre-existing issues, and improve and polish the theme while preserving the original visual design.

Arc is available in four variants

Arc

A screenshot of the Arc theme

Arc-Darker

A screenshot of the Arc-Darker theme

Arc-Dark

A screenshot of the Arc-Dark theme

Arc-Lighter

A screenshot of the Arc-Lighter theme

Supported toolkits and desktops

Arc comes with themes for the following: * GTK 2 * GTK 3 >=3.18 * GNOME Shell >=3.18 * Cinnamon >=2.8 * Unity * Metacity * Xfwm * Plank

Installation

Packages

Arc Theme is available from the official software package repositories for many common Linux distributions and FOSS operating systems. Installing the theme by using the package manager of your operating system should be the preferred method in most cases.

See the wiki for non-exhaustive list of distribution packages, and some additional packages.

Manual installation

For installing the theme by compiling it from the source code, see INSTALL.md for build instructions, list of dependencies, build options and additional details.

Issues

If you are experiencing any kind of issues, found a bug, or have a suggestion for improving the theme, please open an issue at https://github.com/jnsh/arc-theme/issues.

Some known issues are addressed in common problems.

Contributing

If you'd like to contribute to the project, open an pull request, or an issue for discussion. See HACKING.md for further details.

License

Arc is available under the terms of the GPL-3.0. See COPYING for details.

Full Preview

A full screenshot of the Arc theme Screenshot Details: Icons: Arc | Launcher Icons based on White Pixel Icons | Wallpaper | Font: Futura Bk bt

option( 'themes', type: 'array', choices: ['cinnamon', 'gnome-shell', 'gtk2', 'gtk3', 'metacity', 'plank', 'unity', 'xfwm'], description: 'List of themes to build', )

option( 'variants', type: 'array', choices: ['light', 'darker', 'dark', 'lighter'], description: 'List of theme variants to build', )

option( 'transparency', type: 'boolean', value: true, description: 'Enable or disable transparency', )

option( 'cinnamon_version', type: 'string', description: 'Build Cinnamon theme for specific version', )

option( 'gnomeshellversion', type: 'string', description: 'Build GNOME Shell theme for specific version', )

option( 'gtk3_version', type: 'string', description: 'Build GTK 3 theme for specific version', )

option( 'gnomeshellgresource', type: 'boolean', value: false, description: 'Compile GNOME Shell theme into a gresource file', )