diff --git a/.gitignore b/.gitignore index d91a8fe..e381515 100644 --- a/.gitignore +++ b/.gitignore @@ -14,11 +14,12 @@ common/cinnamon/cinnamon-dark.css common/cinnamon/cinnamon.css common/gnome-shell/**/gnome-shell-dark.css common/gnome-shell/**/gnome-shell.css -common/gtk-3.0/**/gtk-dark.css -common/gtk-3.0/**/gtk-darker.css -common/gtk-3.0/**/gtk.css +common/gtk-3.0/**/*.css +common/gtk-3.0/**/light/ +common/gtk-3.0/**/darker/ +common/gtk-3.0/**/dark/ common/gtk-3.0/**/assets/*.png -common/gtk-2.0/assets*/*.png +common/gtk-2.0/*/assets/*.png common/gtk-2.0/menubar-toolbar/*.png -common/xfwm4/assets*/*.png +common/xfwm4/*/assets/*.png common/compile-gresources.sh diff --git a/Makefile.am b/Makefile.am index 3ac2276..d8e16eb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,7 +4,6 @@ EXTRA_DIST = \ README.md \ HACKING.md \ autogen.sh \ - gulpfile.js \ package.json \ .nvmrc diff --git a/README.md b/README.md index 5b11152..6ee16a3 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,6 @@ To build the theme the following packages are required * `inkscape` The following packages are optionally required -* `parallel` for speeding up build by rendering assets in parallel * `gnome-shell`for auto-detecting the GNOME Shell version * `libgtk-3-dev` for Debian based distros or `gtk3-devel` for RPM based distros, for auto-detecting the GTK3 version diff --git a/common/Makefile.am b/common/Makefile.am index 02a7e6e..50aebf1 100644 --- a/common/Makefile.am +++ b/common/Makefile.am @@ -1,11 +1,27 @@ -if !ENABLE_TRANSPARENCY -themedir = $(datadir)/themes/Arc-solid -themedarkerdir = $(datadir)/themes/Arc-Darker-solid -themedarkdir = $(datadir)/themes/Arc-Dark-solid -else -themedir = $(datadir)/themes/Arc -themedarkerdir = $(datadir)/themes/Arc-Darker -themedarkdir = $(datadir)/themes/Arc-Dark +if ENABLE_GTK2 +GTK2_SUBDIR = gtk-2.0 +endif + +if ENABLE_GTK3 +GTK3_SUBDIR = gtk-3.0 +endif + +if ENABLE_XFWM +XFWM_SUBDIR = xfwm4 +endif + +SUBDIRS = $(GTK2_SUBDIR) $(GTK3_SUBDIR) $(XFWM_SUBDIR) + +if ENABLE_LIGHT +theme_DATA = $(srcdir)/index/light/index.theme +endif + +if ENABLE_DARKER +themedarker_DATA = $(srcdir)/index/darker/index.theme +endif + +if ENABLE_DARK +themedark_DATA = $(srcdir)/index/dark/index.theme endif ithemedir = $(DESTDIR)$(themedir) @@ -16,28 +32,12 @@ install-exec-hook: install-data-local: -if ENABLE_LIGHT - $(MKDIR_P) $(ithemedir) - cp $(srcdir)/index.theme $(ithemedir) -endif # ENABLE_LIGHT - -if ENABLE_DARKER - $(MKDIR_P) $(ithemedarkerdir) - cp $(srcdir)/index.theme-darker $(ithemedarkerdir)/index.theme -endif # ENABLE_LIGHT - -if ENABLE_DARK - $(MKDIR_P) $(ithemedarkdir) - cp $(srcdir)/index.theme-dark $(ithemedarkdir)/index.theme -endif # ENABLE_DARK - - if ENABLE_CINNAMON $(MKDIR_P) $(ithemedir)/cinnamon cd $(srcdir)/cinnamon && cp thumbnail.png $(ithemedir)/cinnamon - sassc $(srcdir)/cinnamon/sass/cinnamon.scss $(srcdir)/cinnamon/cinnamon.css; + $(SASSC) $(srcdir)/cinnamon/sass/cinnamon.scss $(srcdir)/cinnamon/cinnamon.css; cd $(srcdir)/cinnamon && cp -R \ common-assets \ @@ -50,7 +50,7 @@ if ENABLE_DARK cd $(srcdir)/cinnamon && cp thumbnail-dark.png $(ithemedarkdir)/cinnamon/thumbnail.png - sassc $(srcdir)/cinnamon/sass/cinnamon-dark.scss $(srcdir)/cinnamon/cinnamon-dark.css; + $(SASSC) $(srcdir)/cinnamon/sass/cinnamon-dark.scss $(srcdir)/cinnamon/cinnamon-dark.css; cd $(srcdir)/cinnamon && cp -R \ common-assets \ @@ -68,7 +68,7 @@ endif # ENABLE_GNOME_SHELL if ENABLE_GNOME_SHELL $(MKDIR_P) $(ithemedir)/gnome-shell - sassc $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/sass/gnome-shell.scss $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/gnome-shell.css; + $(SASSC) $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/sass/gnome-shell.scss $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/gnome-shell.css; cd $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION) && cp -RL \ common-assets \ @@ -79,7 +79,7 @@ if ENABLE_GNOME_SHELL if ENABLE_DARK $(MKDIR_P) $(ithemedarkdir)/gnome-shell - sassc $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/sass/gnome-shell-dark.scss $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/gnome-shell-dark.css; + $(SASSC) $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/sass/gnome-shell-dark.scss $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION)/gnome-shell-dark.css; cd $(srcdir)/gnome-shell/$(GNOME_SHELL_VERSION) && cp -RL \ common-assets \ @@ -94,166 +94,6 @@ endif # ENABLE_DARK endif # ENABLE_GNOME_SHELL -if ENABLE_GTK2 - cd $(srcdir)/gtk-2.0 && $(MKDIR_P) assets assets-dark && ./render-assets.sh - -if ENABLE_LIGHT - $(MKDIR_P) $(ithemedir)/gtk-2.0 - - cd $(srcdir)/gtk-2.0 && cp -R \ - assets \ - menubar-toolbar \ - *.rc \ - gtkrc \ - $(ithemedir)/gtk-2.0 -endif # ENABLE_LIGHT - -if ENABLE_DARKER - $(MKDIR_P) $(ithemedarkerdir)/gtk-2.0 - - cd $(srcdir)/gtk-2.0 && cp -R \ - assets \ - menubar-toolbar \ - *.rc \ - $(ithemedarkerdir)/gtk-2.0 - - cd $(srcdir)/gtk-2.0 && cp -R \ - gtkrc-darker \ - $(ithemedarkerdir)/gtk-2.0/gtkrc -endif # ENABLE_DARKER - -if ENABLE_DARK - $(MKDIR_P) $(ithemedarkdir)/gtk-2.0 - - cd $(srcdir)/gtk-2.0 && cp -R \ - menubar-toolbar \ - *.rc \ - $(ithemedarkdir)/gtk-2.0 - - cd $(srcdir)/gtk-2.0 && cp -R \ - assets-dark \ - $(ithemedarkdir)/gtk-2.0/assets - - cd $(srcdir)/gtk-2.0 && cp -R \ - gtkrc-dark \ - $(ithemedarkdir)/gtk-2.0/gtkrc -endif # ENABLE_DARK - -endif # ENABLE_GTK2 - - -if ENABLE_GTK3 - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && $(MKDIR_P) assets && ./render-assets.sh - -if ENABLE_LIGHT - $(MKDIR_P) $(ithemedir)/gtk-3.0 - - cd $(srcdir)/gtk-3.0 && cp thumbnail.png $(ithemedir)/gtk-3.0 - - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css; - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-dark.css; - - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \ - assets \ - gtk.css \ - gtk-dark.css \ - $(ithemedir)/gtk-3.0 -endif # ENABLE_LIGHT - -if ENABLE_DARKER - $(MKDIR_P) $(ithemedarkerdir)/gtk-3.0 - - cd $(srcdir)/gtk-3.0 && cp thumbnail.png $(ithemedarkerdir)/gtk-3.0 - - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-dark.css; - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-darker.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-darker.css; - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css; - - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \ - assets \ - gtk-dark.css \ - $(ithemedarkerdir)/gtk-3.0 - - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \ - gtk-darker.css \ - $(ithemedarkerdir)/gtk-3.0/gtk.css -endif # ENABLE_DARKER - -if ENABLE_DARK - $(MKDIR_P) $(ithemedarkdir)/gtk-3.0 - - cd $(srcdir)/gtk-3.0 && cp thumbnail-dark.png $(ithemedarkdir)/gtk-3.0/thumbnail.png - - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \ - assets \ - $(ithemedarkdir)/gtk-3.0 - - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-dark.css; - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css; - - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \ - gtk-dark.css \ - $(ithemedarkdir)/gtk-3.0/gtk.css -endif # ENABLE_DARK - -if !ENABLE_TRANSPARENCY - -if ENABLE_LIGHT - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-solid.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-solid.css; - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-solid-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-solid-dark.css; - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css; - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-dark.css; - - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \ - gtk-solid.css \ - $(ithemedir)/gtk-3.0/gtk.css - - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \ - gtk-solid-dark.css \ - $(ithemedir)/gtk-3.0/gtk-dark.css -endif # ENABLE_LIGHT - -if ENABLE_DARKER - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-solid-darker.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-solid-darker.css; - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-solid-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-solid-dark.css; - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css; - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-dark.css; - - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \ - gtk-solid-darker.css \ - $(ithemedarkerdir)/gtk-3.0/gtk.css - - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \ - gtk-solid-dark.css \ - $(ithemedarkerdir)/gtk-3.0/gtk-dark.css -endif # ENABLE_DARKER - -if ENABLE_DARK - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk-solid-dark.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk-solid-dark.css; - sassc $(srcdir)/gtk-3.0/$(GTK3_VERSION)/sass/gtk.scss $(srcdir)/gtk-3.0/$(GTK3_VERSION)/gtk.css; - - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -R \ - gtk-solid-dark.css \ - $(ithemedarkdir)/gtk-3.0/gtk.css -endif # ENABLE_DARK - -endif #!ENABLE_TRANSPARENCY - - @if [ "$(GTK_VERSION)" != "3.18" ]; then \ - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -RL compile-gresources.sh $(ithemedir)/gtk-3.0/compile-gresources.sh;\ - cd ../..;\ - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -RL compile-gresources.sh $(ithemedarkdir)/gtk-3.0/compile-gresources.sh;\ - cd ../..;\ - cd $(srcdir)/gtk-3.0/$(GTK3_VERSION) && cp -RL compile-gresources.sh $(ithemedarkerdir)/gtk-3.0/compile-gresources.sh;\ - cd ../..;\ - cd $(ithemedir)/gtk-3.0/ && ./compile-gresources.sh LIGHT;\ - cd $(ithemedarkdir)/gtk-3.0/ && ./compile-gresources.sh DARK;\ - cd $(ithemedarkerdir)/gtk-3.0/ && ./compile-gresources.sh DARKER;\ - fi - -endif # ENABLE_GTK3 - - if ENABLE_METACITY if ENABLE_LIGHT @@ -326,36 +166,6 @@ endif # ENABLE_DARK endif # ENABLE_UNITY -if ENABLE_XFWM - cd $(srcdir)/xfwm4 && $(MKDIR_P) assets assets-dark && ./render-assets.sh - -if ENABLE_LIGHT - $(MKDIR_P) $(ithemedir)/xfwm4 - - cd $(srcdir)/xfwm4 && \ - cp -R assets/*.png $(ithemedir)/xfwm4 && \ - cp themerc $(ithemedir)/xfwm4/themerc -endif # ENABLE_LIGHT - -if ENABLE_DARKER - $(MKDIR_P) $(ithemedarkerdir)/xfwm4 - - cd $(srcdir)/xfwm4 && \ - cp -R assets-dark/*.png $(ithemedarkerdir)/xfwm4 && \ - cp themerc-dark $(ithemedarkerdir)/xfwm4/themerc -endif # ENABLE_DARKER - -if ENABLE_DARK - $(MKDIR_P) $(ithemedarkdir)/xfwm4 - - cd $(srcdir)/xfwm4 && \ - cp -R assets-dark/*.png $(ithemedarkdir)/xfwm4 && \ - cp themerc-dark $(ithemedarkdir)/xfwm4/themerc -endif # ENABLE_DARK - -endif # ENABLE_XFWM - - uninstall-local: rm -rf $(ithemedir) @@ -368,13 +178,9 @@ if ENABLE_DARK endif # ENABLE_DARK -EXTRA_DIST = $(srcdir)/cinnamon \ - $(srcdir)/gnome-shell \ - $(srcdir)/gtk-2.0 \ - $(srcdir)/gtk-3.0 \ - $(srcdir)/metacity-1 \ - $(srcdir)/unity \ - $(srcdir)/xfwm4 \ - $(srcdir)/index.theme \ - $(srcdir)/index.theme-darker \ - $(srcdir)/index.theme-dark +EXTRA_DIST = \ + cinnamon \ + gnome-shell \ + index \ + metacity-1 \ + unity diff --git a/common/gtk-2.0/Makefile.am b/common/gtk-2.0/Makefile.am new file mode 100644 index 0000000..069bc1d --- /dev/null +++ b/common/gtk-2.0/Makefile.am @@ -0,0 +1,78 @@ +VPATH = + +targets := $(shell cat $(srcdir)/assets.txt) +light := $(patsubst %,light/assets/%.png,$(targets)) +dark := $(patsubst %,dark/assets/%.png,$(targets)) + +mbt_entry := $(filter entry-%toolbar,$(targets)) +mbt_menubar := $(filter menubar%,$(targets)) +mbt_button := $(filter button%,$(targets)) + +mbt_light := \ + $(srcdir)/menubar-toolbar/menubar-toolbar.rc \ + $(patsubst %,menubar-toolbar/%.png,$(mbt_entry) $(mbt_menubar)) + +mbt_dark := \ + $(srcdir)/menubar-toolbar/menubar-toolbar-dark.rc \ + $(patsubst %,menubar-toolbar/%-dark.png,$(mbt_entry) $(mbt_menubar)) \ + $(patsubst %,menubar-toolbar/%.png,$(mbt_button)) + +rc := apps main panel xfce-notify +srcrc := $(patsubst %,$(srcdir)/%.rc,$(rc)) + +light: $(light) +dark: $(dark) +mbt_light: $(mbt_light) +mbt_dark: $(mbt_dark) + +light/assets dark/assets menubar-toolbar: + $(MKDIR_P) "$@"/ + +clean: + rm -rf light/assets/ dark/assets/ menubar-toolbar/*.png + +$(light): $(srcdir)/light/assets.svg | light/assets +$(dark): $(srcdir)/dark/assets.svg | dark/assets + +$(light) $(dark): + $(INKSCAPE) --export-id-only --export-png="$@" --export-id="$(basename $(notdir $@))" --export-dpi=$(if $(filter $(OPTION_GTK2_HIDPI),true),192,96) "$<" >/dev/null + $(OPTIPNG) -o7 --quiet "$@" + +menubar-toolbar/%-dark.png: dark/assets/%.png | menubar-toolbar + cp "$<" "$@" + +menubar-toolbar/%.png: light/assets/%.png | menubar-toolbar + cp "$<" "$@" + +.PHONY: light dark mbt_light mbt_dark clean + +if ENABLE_LIGHT +gtk2themedir = $(themedir)/gtk-2.0 +gtk2themeassetsdir = $(gtk2themedir)/assets +gtk2theme_DATA = $(srcrc) $(srcdir)/light/gtkrc +gtk2themeassets_DATA = $(light) +nobase_gtk2theme_DATA = $(mbt_light) +endif + +if ENABLE_DARKER +gtk2themedarkerdir = $(themedarkerdir)/gtk-2.0 +gtk2themedarkerassetsdir = $(gtk2themedarkerdir)/assets +gtk2themedarker_DATA = $(srcrc) $(srcdir)/darker/gtkrc +gtk2themedarkerassets_DATA = $(light) +nobase_gtk2themedarker_DATA = $(mbt_dark) +endif + +if ENABLE_DARK +gtk2themedarkdir = $(themedarkdir)/gtk-2.0 +gtk2themedarkassetsdir = $(gtk2themedarkdir)/assets +gtk2themedark_DATA = $(srcrc) $(srcdir)/dark/gtkrc +gtk2themedarkassets_DATA = $(dark) +nobase_gtk2themedark_DATA = $(mbt_dark) +endif + +EXTRA_DIST = \ + assets.txt \ + $(srcrc) \ + $(patsubst %,%/assets.svg,light dark) \ + $(patsubst %,%/gtkrc,light darker dark) \ + $(patsubst %,menubar-toolbar/menubar-toolbar%,.rc -dark.rc) diff --git a/common/gtk-2.0/assets-dark.svg b/common/gtk-2.0/dark/assets.svg similarity index 100% rename from common/gtk-2.0/assets-dark.svg rename to common/gtk-2.0/dark/assets.svg diff --git a/common/gtk-2.0/gtkrc-dark b/common/gtk-2.0/dark/gtkrc similarity index 100% rename from common/gtk-2.0/gtkrc-dark rename to common/gtk-2.0/dark/gtkrc diff --git a/common/gtk-2.0/gtkrc-darker b/common/gtk-2.0/darker/gtkrc similarity index 100% rename from common/gtk-2.0/gtkrc-darker rename to common/gtk-2.0/darker/gtkrc diff --git a/common/gtk-2.0/assets.svg b/common/gtk-2.0/light/assets.svg similarity index 100% rename from common/gtk-2.0/assets.svg rename to common/gtk-2.0/light/assets.svg diff --git a/common/gtk-2.0/gtkrc b/common/gtk-2.0/light/gtkrc similarity index 100% rename from common/gtk-2.0/gtkrc rename to common/gtk-2.0/light/gtkrc diff --git a/common/gtk-2.0/render-asset.sh b/common/gtk-2.0/render-asset.sh deleted file mode 100755 index 590d3d1..0000000 --- a/common/gtk-2.0/render-asset.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -set -ueo pipefail - -INKSCAPE="$(which inkscape)" -OPTIPNG="$(which optipng)" - -ASSETS_DIR="$1" -SRC_FILE="${ASSETS_DIR}".svg - -i="$2" - - -result_file="$ASSETS_DIR/$i.png" -if [[ -f "${result_file}" ]] ; then - echo "${result_file} already exists." -else - echo "Rendering '${result_file}'" - if [[ "${OPTION_GTK2_HIDPI:-false}" != "true" ]]; then - "$INKSCAPE" --export-id="$i" \ - --export-id-only \ - --export-png="${result_file}" "$SRC_FILE" >/dev/null - else - "$INKSCAPE" --export-id="$i" \ - --export-id-only \ - --export-dpi=192 \ - --export-png="${result_file}" "$SRC_FILE" >/dev/null - fi - "$OPTIPNG" -o7 --quiet "${result_file}" -fi diff --git a/common/gtk-2.0/render-assets.sh b/common/gtk-2.0/render-assets.sh deleted file mode 100755 index 5cf4be7..0000000 --- a/common/gtk-2.0/render-assets.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash -set -ueo pipefail - -# Make sure that parallel is GNU parallel and not moreutils. -# Otherwise, it fails silently. There's no smooth way to detect this. -if [[ "$(which parallel 2> /dev/null)" ]]; then - cmd=(parallel) -else - cmd=(xargs -n1) -fi - - -ASSETS_DIR="assets" -DARK_ASSETS_DIR="assets-dark" - - -"${cmd[@]}" ./render-asset.sh ${ASSETS_DIR} < assets.txt -"${cmd[@]}" ./render-asset.sh ${DARK_ASSETS_DIR} < assets.txt - - -cp $ASSETS_DIR/entry-toolbar.png menubar-toolbar/entry-toolbar.png -cp $ASSETS_DIR/entry-active-toolbar.png menubar-toolbar/entry-active-toolbar.png -cp $ASSETS_DIR/entry-disabled-toolbar.png menubar-toolbar/entry-disabled-toolbar.png - -cp $ASSETS_DIR/menubar.png menubar-toolbar/menubar.png -cp $ASSETS_DIR/menubar_button.png menubar-toolbar/menubar_button.png - - -cp $DARK_ASSETS_DIR/button.png menubar-toolbar/button.png -cp $DARK_ASSETS_DIR/button-hover.png menubar-toolbar/button-hover.png -cp $DARK_ASSETS_DIR/button-active.png menubar-toolbar/button-active.png -cp $DARK_ASSETS_DIR/button-insensitive.png menubar-toolbar/button-insensitive.png - -cp $DARK_ASSETS_DIR/entry-toolbar.png menubar-toolbar/entry-toolbar-dark.png -cp $DARK_ASSETS_DIR/entry-active-toolbar.png menubar-toolbar/entry-active-toolbar-dark.png -cp $DARK_ASSETS_DIR/entry-disabled-toolbar.png menubar-toolbar/entry-disabled-toolbar-dark.png - -cp $DARK_ASSETS_DIR/menubar.png menubar-toolbar/menubar-dark.png -cp $DARK_ASSETS_DIR/menubar_button.png menubar-toolbar/menubar_button-dark.png - -exit 0 diff --git a/common/gtk-3.0/3.18/Makefile.am b/common/gtk-3.0/3.18/Makefile.am new file mode 100644 index 0000000..6c3c7e0 --- /dev/null +++ b/common/gtk-3.0/3.18/Makefile.am @@ -0,0 +1,31 @@ +include ../common.am + +light/gtk.css: gtk.css | light + cp "$<" "$@" +light/gtk-dark.css: gtk-dark.css | light + cp "$<" "$@" +darker/gtk.css: gtk-darker.css | darker + cp "$<" "$@" +darker/gtk-dark.css: gtk-dark.css | darker + cp "$<" "$@" +dark/gtk.css: gtk-dark.css | dark + cp "$<" "$@" + +gtk3themeassetsdir = $(gtk3themedir)/assets +gtk3themedarkerassetsdir = $(gtk3themedarkerdir)/assets +gtk3themedarkassetsdir = $(gtk3themedarkdir)/assets + +if ENABLE_LIGHT +gtk3theme_DATA = light/gtk.css light/gtk-dark.css +gtk3themeassets_DATA = $(normal) $(hidpi) +endif + +if ENABLE_DARKER +gtk3themedarker_DATA = darker/gtk.css darker/gtk-dark.css +gtk3themedarkerassets_DATA = $(normal) $(hidpi) +endif + +if ENABLE_DARK +gtk3themedark_DATA = dark/gtk.css +gtk3themedarkassets_DATA = $(normal) $(hidpi) +endif diff --git a/common/gtk-3.0/3.18/render-asset.sh b/common/gtk-3.0/3.18/render-asset.sh deleted file mode 100755 index 7d460a7..0000000 --- a/common/gtk-3.0/3.18/render-asset.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -set -ueo pipefail - -INKSCAPE="$(which inkscape)" -OPTIPNG="$(which optipng)" - -SRC_FILE="assets.svg" -ASSETS_DIR="assets" - -i="$1" - -echo "Rendering '$ASSETS_DIR/$i.png'" -"$INKSCAPE" --export-id="$i" \ - --export-id-only \ - --export-png="$ASSETS_DIR/$i.png" "$SRC_FILE" >/dev/null \ -&& "$OPTIPNG" -o7 --quiet "$ASSETS_DIR/$i.png" - -echo "Rendering '$ASSETS_DIR/$i@2.png'" -"$INKSCAPE" --export-id="$i" \ - --export-id-only \ - --export-dpi=192 \ - --export-png="$ASSETS_DIR/$i@2.png" "$SRC_FILE" >/dev/null \ -&& "$OPTIPNG" -o7 --quiet "$ASSETS_DIR/$i@2.png" diff --git a/common/gtk-3.0/3.18/render-assets.sh b/common/gtk-3.0/3.18/render-assets.sh deleted file mode 100755 index 6634c78..0000000 --- a/common/gtk-3.0/3.18/render-assets.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -set -ueo pipefail - -# Make sure that parallel is GNU parallel and not moreutils. -# Otherwise, it fails silently. There's no smooth way to detect this. -if [[ "$(which parallel 2> /dev/null)" ]]; then - cmd=(parallel) -else - cmd=(xargs -n1) -fi - -"${cmd[@]}" ./render-asset.sh < assets.txt diff --git a/common/gtk-3.0/3.20/Makefile.am b/common/gtk-3.0/3.20/Makefile.am new file mode 100644 index 0000000..6a04a37 --- /dev/null +++ b/common/gtk-3.0/3.20/Makefile.am @@ -0,0 +1,35 @@ +include ../common.am + +light/gtk-main.css: gtk.css | light + cp "$<" "$@" +light/gtk-main-dark.css: gtk-dark.css | light + cp "$<" "$@" +darker/gtk-main.css: gtk-darker.css | darker + cp "$<" "$@" +darker/gtk-main-dark.css: gtk-dark.css | darker + cp "$<" "$@" +dark/gtk-main.css: gtk-dark.css | dark + cp "$<" "$@" +dark/gtk-main-dark.css: | dark + touch "$@" + +%/gtk.css %/gtk-dark.css: | % + echo '@import url("resource:///org/gnome/arc-theme/$(subst gtk,gtk-main,$(notdir $@))");' > "$@" + +%/gtk.gresource.xml: | % + echo "$(patsubst %,../%,$(normal) $(hidpi))gtk-main.css$(if $(filter $(dir $@),dark/),,gtk-main-dark.css)" > "$@" + +%/gtk.gresource: %/gtk.gresource.xml %/gtk-main.css %/gtk-main-dark.css $(normal) $(hidpi) + glib-compile-resources --sourcedir="$(dir $<)" --target="$@" "$<" + +if ENABLE_LIGHT +gtk3theme_DATA = light/gtk.css light/gtk-dark.css light/gtk.gresource +endif + +if ENABLE_DARKER +gtk3themedarker_DATA = darker/gtk.css darker/gtk-dark.css darker/gtk.gresource +endif + +if ENABLE_DARK +gtk3themedark_DATA = dark/gtk.css dark/gtk.gresource +endif diff --git a/common/gtk-3.0/3.20/compile-gresources.sh b/common/gtk-3.0/3.20/compile-gresources.sh deleted file mode 100755 index 1e92df5..0000000 --- a/common/gtk-3.0/3.20/compile-gresources.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash - -# Setup -mv gtk.css gtk-main.css -if [ "$1" != "DARK" ]; then - mv gtk-dark.css gtk-main-dark.css -fi - -# Get processed assets lists -ls ./assets | sort > temp_asset_list.txt - - -# Build dynamic gresouce xml spec from css and assets -read -d '' RES_PART1 <<"EOF" - - - -EOF -echo $RES_PART1 > gtk.gresource.xml - - -# Import as nodes the file assets -xargs -i echo 'assets/{}' >> gtk.gresource.xml < temp_asset_list.txt -rm -f temp_asset_list.txt - - -# Write the css file information to the template -if [ "$1" != "DARK" ]; then - read -d '' RES_PART2 <<"EOF" -gtk-main.css -gtk-main-dark.css - - -EOF -else - read -d '' RES_PART2 <<"EOFDARK" -gtk-main.css - - -EOFDARK -fi -echo $RES_PART2 >> gtk.gresource.xml - -# Compile the gresource file -glib-compile-resources gtk.gresource.xml -echo '@import url("resource:///org/gnome/arc-theme/gtk-main.css");' > gtk.css -if [ "$1" != "DARK" ]; then - echo '@import url("resource:///org/gnome/arc-theme/gtk-main-dark.css");' > gtk-dark.css -fi - -# Cleanup -rm -rf assets -rm -f gtk.gresource.xml -rm -f gtk-main.css -rm -f gtk-main-dark.css -rm -f compile-gresources.sh diff --git a/common/gtk-3.0/3.20/render-asset.sh b/common/gtk-3.0/3.20/render-asset.sh deleted file mode 100755 index 3d84f2d..0000000 --- a/common/gtk-3.0/3.20/render-asset.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -set -ueo pipefail - -INKSCAPE="$(which inkscape)" -OPTIPNG="$(which optipng)" - -SRC_FILE="assets.svg" -ASSETS_DIR="assets" - -i="$1" - -result_file="$ASSETS_DIR/$i.png" -if [[ -f "${result_file}" ]] ; then - echo "${result_file} already exists." -else - echo "Rendering '$ASSETS_DIR/$i.png'" - "$INKSCAPE" --export-id="$i" \ - --export-id-only \ - --export-png="$ASSETS_DIR/$i.png" "$SRC_FILE" >/dev/null \ - && "$OPTIPNG" -o7 --quiet "$ASSETS_DIR/$i.png" - - echo "Rendering '$ASSETS_DIR/$i@2.png'" - "$INKSCAPE" --export-id="$i" \ - --export-id-only \ - --export-dpi=192 \ - --export-png="$ASSETS_DIR/$i@2.png" "$SRC_FILE" >/dev/null \ - && "$OPTIPNG" -o7 --quiet "$ASSETS_DIR/$i@2.png" -fi diff --git a/common/gtk-3.0/3.20/render-assets.sh b/common/gtk-3.0/3.20/render-assets.sh deleted file mode 100755 index 6634c78..0000000 --- a/common/gtk-3.0/3.20/render-assets.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -set -ueo pipefail - -# Make sure that parallel is GNU parallel and not moreutils. -# Otherwise, it fails silently. There's no smooth way to detect this. -if [[ "$(which parallel 2> /dev/null)" ]]; then - cmd=(parallel) -else - cmd=(xargs -n1) -fi - -"${cmd[@]}" ./render-asset.sh < assets.txt diff --git a/common/gtk-3.0/3.22 b/common/gtk-3.0/3.22 deleted file mode 120000 index 8b6d177..0000000 --- a/common/gtk-3.0/3.22 +++ /dev/null @@ -1 +0,0 @@ -3.20 \ No newline at end of file diff --git a/common/gtk-3.0/3.24 b/common/gtk-3.0/3.24 deleted file mode 120000 index 8b6d177..0000000 --- a/common/gtk-3.0/3.24 +++ /dev/null @@ -1 +0,0 @@ -3.20 \ No newline at end of file diff --git a/common/gtk-3.0/Makefile.am b/common/gtk-3.0/Makefile.am new file mode 100644 index 0000000..10a56e0 --- /dev/null +++ b/common/gtk-3.0/Makefile.am @@ -0,0 +1,19 @@ +if ENABLE_LIGHT +gtk3theme_DATA = light/thumbnail.png +endif + +if ENABLE_DARKER +gtk3themedarker_DATA = light/thumbnail.png +endif + +if ENABLE_DARK +gtk3themedark_DATA = dark/thumbnail.png +endif + +EXTRA_DIST = \ + light \ + dark \ + _colors.scss.thpl + +SUBDIRS = $(GTK3_VERSION) +DIST_SUBDIRS = 3.18 3.20 diff --git a/common/gtk-3.0/common.am b/common/gtk-3.0/common.am new file mode 100644 index 0000000..9ecd171 --- /dev/null +++ b/common/gtk-3.0/common.am @@ -0,0 +1,39 @@ +VPATH = + +targets := $(shell cat $(srcdir)/assets.txt) +normal := $(patsubst %,assets/%.png,$(targets)) +hidpi := $(patsubst %,assets/%@2.png,$(targets)) + +normal: $(normal) +hidpi: $(hidpi) + +assets light dark darker: + $(MKDIR_P) "$@"/ + +clean: + rm -rf assets/ light/ dark/ darker/ + +$(normal): $(srcdir)/assets.svg | assets + $(INKSCAPE) --export-id-only --export-png="$@" --export-id="$(basename $(notdir $@))" --export-dpi=96 "$<" >/dev/null + $(OPTIPNG) -o7 --quiet "$@" + +$(hidpi): $(srcdir)/assets.svg | assets + $(INKSCAPE) --export-id-only --export-png="$@" --export-id="$(patsubst %@2,%,$(basename $(notdir $@)))" --export-dpi=192 "$<" >/dev/null + $(OPTIPNG) -o7 --quiet "$@" + +.PHONY: normal hidpi clean + +if ENABLE_TRANSPARENCY +%.css: $(srcdir)/sass/%.scss + $(SASSC) "$<" "$@" +else +gtk.css: $(srcdir)/sass/gtk-solid.scss + $(SASSC) "$<" "$@" +gtk-%.css: $(srcdir)/sass/gtk-solid-%.scss + $(SASSC) "$<" "$@" +endif + +EXTRA_DIST = \ + assets.txt \ + assets.svg \ + sass diff --git a/common/gtk-3.0/thumbnail-dark.png b/common/gtk-3.0/dark/thumbnail.png similarity index 100% rename from common/gtk-3.0/thumbnail-dark.png rename to common/gtk-3.0/dark/thumbnail.png diff --git a/common/gtk-3.0/thumbnail.png b/common/gtk-3.0/light/thumbnail.png similarity index 100% rename from common/gtk-3.0/thumbnail.png rename to common/gtk-3.0/light/thumbnail.png diff --git a/common/index.theme-dark b/common/index/dark/index.theme similarity index 100% rename from common/index.theme-dark rename to common/index/dark/index.theme diff --git a/common/index.theme-darker b/common/index/darker/index.theme similarity index 100% rename from common/index.theme-darker rename to common/index/darker/index.theme diff --git a/common/index.theme b/common/index/light/index.theme similarity index 100% rename from common/index.theme rename to common/index/light/index.theme diff --git a/common/xfwm4/Makefile.am b/common/xfwm4/Makefile.am new file mode 100644 index 0000000..d9fc77a --- /dev/null +++ b/common/xfwm4/Makefile.am @@ -0,0 +1,43 @@ +VPATH = + +targets := $(shell cat $(srcdir)/assets.txt) +light := $(patsubst %,light/assets/%.png,$(targets)) +dark := $(patsubst %,dark/assets/%.png,$(targets)) + +light: $(light) +dark: $(dark) + +light/assets dark/assets: + $(MKDIR_P) "$@"/ + +clean: + rm -rf light/assets/ dark/assets/ + +$(light): $(srcdir)/light/assets.svg | light/assets +$(dark): $(srcdir)/dark/assets.svg | dark/assets + +$(light) $(dark): + $(INKSCAPE) --export-id-only --export-png="$@" --export-id="$(basename $(notdir $@))" --export-dpi=$(if $(filter $(OPTION_GTK2_HIDPI),true),192,96) "$<" >/dev/null + $(OPTIPNG) -o7 --quiet "$@" + +.PHONY: light dark clean + +if ENABLE_LIGHT +xfwm4themedir = $(themedir)/xfwm4 +xfwm4theme_DATA = $(srcdir)/light/themerc $(light) +endif + +if ENABLE_DARKER +xfwm4themedarkerdir = $(themedarkerdir)/xfwm4 +xfwm4themedarker_DATA = $(srcdir)/dark/themerc $(dark) +endif + +if ENABLE_DARK +xfwm4themedarkdir = $(themedarkdir)/xfwm4 +xfwm4themedark_DATA = $(srcdir)/dark/themerc $(dark) +endif + +EXTRA_DIST = \ + assets.txt \ + $(patsubst %,%/assets.svg,light dark) \ + $(patsubst %,%/themerc,light dark) diff --git a/common/xfwm4/assets-dark.svg b/common/xfwm4/dark/assets.svg similarity index 100% rename from common/xfwm4/assets-dark.svg rename to common/xfwm4/dark/assets.svg diff --git a/common/xfwm4/themerc-dark b/common/xfwm4/dark/themerc similarity index 100% rename from common/xfwm4/themerc-dark rename to common/xfwm4/dark/themerc diff --git a/common/xfwm4/assets.svg b/common/xfwm4/light/assets.svg similarity index 100% rename from common/xfwm4/assets.svg rename to common/xfwm4/light/assets.svg diff --git a/common/xfwm4/themerc b/common/xfwm4/light/themerc similarity index 100% rename from common/xfwm4/themerc rename to common/xfwm4/light/themerc diff --git a/common/xfwm4/render-asset.sh b/common/xfwm4/render-asset.sh deleted file mode 100755 index 590d3d1..0000000 --- a/common/xfwm4/render-asset.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -set -ueo pipefail - -INKSCAPE="$(which inkscape)" -OPTIPNG="$(which optipng)" - -ASSETS_DIR="$1" -SRC_FILE="${ASSETS_DIR}".svg - -i="$2" - - -result_file="$ASSETS_DIR/$i.png" -if [[ -f "${result_file}" ]] ; then - echo "${result_file} already exists." -else - echo "Rendering '${result_file}'" - if [[ "${OPTION_GTK2_HIDPI:-false}" != "true" ]]; then - "$INKSCAPE" --export-id="$i" \ - --export-id-only \ - --export-png="${result_file}" "$SRC_FILE" >/dev/null - else - "$INKSCAPE" --export-id="$i" \ - --export-id-only \ - --export-dpi=192 \ - --export-png="${result_file}" "$SRC_FILE" >/dev/null - fi - "$OPTIPNG" -o7 --quiet "${result_file}" -fi diff --git a/common/xfwm4/render-assets.sh b/common/xfwm4/render-assets.sh deleted file mode 100755 index 1509033..0000000 --- a/common/xfwm4/render-assets.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -set -ueo pipefail - -# Make sure that parallel is GNU parallel and not moreutils. -# Otherwise, it fails silently. There's no smooth way to detect this. -if [[ "$(which parallel 2> /dev/null)" ]]; then - cmd=(parallel) -else - cmd=(xargs -n1) -fi - -"${cmd[@]}" ./render-asset.sh assets < assets.txt -"${cmd[@]}" ./render-asset.sh assets-dark < assets.txt diff --git a/configure.ac b/configure.ac index 4473944..86fa6e9 100644 --- a/configure.ac +++ b/configure.ac @@ -26,10 +26,37 @@ ARC_ENABLE([TRANSPARENCY], [transparency], [transparency], [disable]) ARC_ENABLE([PLANK], [plank], [Plank theme], [disable]) ARC_ENABLE([OPENBOX], [openbox], [Openbox], [disable]) +AS_IF([test "x$ENABLE_TRANSPARENCY" != xno], [ + AC_SUBST([themedir], [${datadir}/themes/Arc]) + AC_SUBST([themedarkerdir], [${datadir}/themes/Arc-Darker]) + AC_SUBST([themedarkdir], [${datadir}/themes/Arc-Dark]) +], [ + AC_SUBST([themedir], [${datadir}/themes/Arc-solid]) + AC_SUBST([themedarkerdir], [${datadir}/themes/Arc-Darker-solid]) + AC_SUBST([themedarkdir], [${datadir}/themes/Arc-Dark-solid]) +]) + AS_IF([test "x$ENABLE_GTK3" != xno], [ARC_GTK3]) AS_IF([test "x$ENABLE_GNOME_SHELL" != xno], [ARC_GNOME_SHELL]) +AS_IF([test "x$ENABLE_GTK2" != xno -o "x$ENABLE_GTK3" != xno -o "x$ENABLE_XFWM" != xno], [ + AC_PATH_PROG([INKSCAPE], [inkscape]) + AS_IF([test "x$ac_cv_path_INKSCAPE" = x], [AC_MSG_ERROR([inkscape not found])]) + AC_PATH_PROG([OPTIPNG], [optipng]) + AS_IF([test "x$ac_cv_path_OPTIPNG" = x], [AC_MSG_ERROR([optipng not found])]) +]) + +AS_IF([test "x$ENABLE_GTK3" != xno -o "x$ENABLE_CINNAMON" != xno -o "x$ENABLE_GNOME_SHELL" != xno], [ + AC_PATH_PROG([SASSC], [sassc]) + AS_IF([test "x$ac_cv_path_SASSC" = x], [AC_MSG_ERROR([sassc not found])]) +]) + AC_CONFIG_FILES([ + common/gtk-2.0/Makefile + common/gtk-3.0/Makefile + common/gtk-3.0/3.18/Makefile + common/gtk-3.0/3.20/Makefile + common/xfwm4/Makefile common/Makefile extra/Makefile Makefile diff --git a/extra/Makefile.am b/extra/Makefile.am index 2c06227..3007887 100644 --- a/extra/Makefile.am +++ b/extra/Makefile.am @@ -1,13 +1,3 @@ -if !ENABLE_TRANSPARENCY -themedir = $(datadir)/themes/Arc-solid -themedarkerdir = $(datadir)/themes/Arc-Darker-solid -themedarkdir = $(datadir)/themes/Arc-Dark-solid -else -themedir = $(datadir)/themes/Arc -themedarkerdir = $(datadir)/themes/Arc-Darker -themedarkdir = $(datadir)/themes/Arc-Dark -endif - ithemedir = $(DESTDIR)$(themedir) ithemedarkerdir = $(DESTDIR)$(themedarkerdir) ithemedarkdir = $(DESTDIR)$(themedarkdir) @@ -39,4 +29,5 @@ endif # ENABLE_PLANK uninstall-local: -EXTRA_DIST = $(srcdir)/Arc-Plank +EXTRA_DIST = \ + Arc-Plank diff --git a/m4/arc-gtk3.m4 b/m4/arc-gtk3.m4 index 0612543..bf656b7 100644 --- a/m4/arc-gtk3.m4 +++ b/m4/arc-gtk3.m4 @@ -24,15 +24,16 @@ AC_DEFUN([ARC_GTK3], [ GTK3_VERSMJR=`echo $GTK3_VERSION | cut -d. -f1` GTK3_VERSMNR=`echo $GTK3_VERSION | cut -d. -f2` - # Evenize the minor version for stable versions AS_IF( - [test `expr $GTK3_VERSMNR % 2` != "0"], - [GTK3_VERSION="$GTK3_VERSMJR.`expr $GTK3_VERSMNR + 1`"] - ) - AS_IF( - [! test -e "$GTK3DIR/$GTK3_VERSION"], - [AC_MSG_ERROR([Invalid GTK3 version: $GTK3_VERSION])] + [test "x$GTK3_VERSMJR" != x3], [AC_MSG_ERROR([Invalid GTK3 version: $GTK3_VERSION])], + [test "0$GTK3_VERSMNR" -lt 17], [AC_MSG_ERROR([GTK3 version too old: $GTK3_VERSION])], + [test "0$GTK3_VERSMNR" -lt 19], [GTK3_VERSION=3.18], + [test "0$GTK3_VERSMNR" -lt 25], [GTK3_VERSION=3.20], + [AC_MSG_ERROR([GTK3 version too new: $GTK3_VERSION])] ) AC_SUBST([GTK3_VERSION]) + AC_SUBST([gtk3themedir], [${themedir}/gtk-3.0]) + AC_SUBST([gtk3themedarkerdir], [${themedarkerdir}/gtk-3.0]) + AC_SUBST([gtk3themedarkdir], [${themedarkdir}/gtk-3.0]) AC_MSG_RESULT([Building for GTK3 $GTK3_VERSION]) ])