From f15dd2881a5e87e7f3b03594983826f7480c12e7 Mon Sep 17 00:00:00 2001 From: Boris Faure Date: Sun, 13 Sep 2020 23:39:34 +0200 Subject: [PATCH] generate colorschemes.eet --- data/colorschemes/Nord.desc | 211 ++++++++++++++++++++++++++++++ data/colorschemes/PaperColor.desc | 211 ++++++++++++++++++++++++++++++ data/colorschemes/builder.sh | 28 ++++ data/colorschemes/meson.build | 18 +++ data/meson.build | 1 + meson.build | 10 +- meson_options.txt | 3 + 7 files changed, 481 insertions(+), 1 deletion(-) create mode 100644 data/colorschemes/Nord.desc create mode 100644 data/colorschemes/PaperColor.desc create mode 100755 data/colorschemes/builder.sh create mode 100644 data/colorschemes/meson.build diff --git a/data/colorschemes/Nord.desc b/data/colorschemes/Nord.desc new file mode 100644 index 00000000..6878791e --- /dev/null +++ b/data/colorschemes/Nord.desc @@ -0,0 +1,211 @@ +group "Color_Scheme" struct { + value "version" int: 1; + value "md.version" int: 1; + value "md.name" string: "Nord"; + value "md.author" string: "Arctic Ice Studio"; + value "md.website" string: "https://git.io/nord"; + value "md.license" string: "MIT"; + group "def" struct { + group "Color" struct { + value "r" uchar: 216; + value "g" uchar: 222; + value "b" uchar: 233; + value "a" uchar: 255; + } + } + group "bg" struct { + group "Color" struct { + value "r" uchar: 46; + value "g" uchar: 52; + value "b" uchar: 64; + value "a" uchar: 255; + } + } + group "fg" struct { + group "Color" struct { + value "r" uchar: 216; + value "g" uchar: 222; + value "b" uchar: 233; + value "a" uchar: 255; + } + } + group "main" struct { + group "Color" struct { + value "r" uchar: 136; + value "g" uchar: 192; + value "b" uchar: 208; + value "a" uchar: 255; + } + } + group "hl" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 255; + value "b" uchar: 255; + value "a" uchar: 255; + } + } + group "end_sel" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 51; + value "b" uchar: 0; + value "a" uchar: 255; + } + } + group "tab_missed_1" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 153; + value "b" uchar: 51; + value "a" uchar: 255; + } + } + group "tab_missed_2" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 51; + value "b" uchar: 0; + value "a" uchar: 255; + } + } + group "tab_missed_3" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 0; + value "b" uchar: 0; + value "a" uchar: 255; + } + } + group "tab_missed_over_1" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 255; + value "b" uchar: 64; + value "a" uchar: 255; + } + } + group "tab_missed_over_2" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 153; + value "b" uchar: 51; + value "a" uchar: 255; + } + } + group "tab_missed_over_3" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 0; + value "b" uchar: 0; + value "a" uchar: 255; + } + } + group "tab_title_2" struct { + group "Color" struct { + value "r" uchar: 0; + value "g" uchar: 0; + value "b" uchar: 0; + value "a" uchar: 255; + } + } + group "ansi" array { + count 16; + group "Color" struct { + value "r" uchar: 59; + value "g" uchar: 66; + value "b" uchar: 82; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 191; + value "g" uchar: 97; + value "b" uchar: 106; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 163; + value "g" uchar: 190; + value "b" uchar: 140; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 235; + value "g" uchar: 203; + value "b" uchar: 139; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 129; + value "g" uchar: 161; + value "b" uchar: 193; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 180; + value "g" uchar: 142; + value "b" uchar: 173; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 136; + value "g" uchar: 192; + value "b" uchar: 208; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 229; + value "g" uchar: 233; + value "b" uchar: 248; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 76; + value "g" uchar: 86; + value "b" uchar: 106; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 191; + value "g" uchar: 97; + value "b" uchar: 106; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 163; + value "g" uchar: 190; + value "b" uchar: 140; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 235; + value "g" uchar: 203; + value "b" uchar: 139; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 129; + value "g" uchar: 161; + value "b" uchar: 193; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 180; + value "g" uchar: 142; + value "b" uchar: 173; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 143; + value "g" uchar: 188; + value "b" uchar: 187; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 236; + value "g" uchar: 239; + value "b" uchar: 244; + value "a" uchar: 255; + } + } +} diff --git a/data/colorschemes/PaperColor.desc b/data/colorschemes/PaperColor.desc new file mode 100644 index 00000000..93d1a446 --- /dev/null +++ b/data/colorschemes/PaperColor.desc @@ -0,0 +1,211 @@ +group "Color_Scheme" struct { + value "version" int: 1; + value "md.version" int: 1; + value "md.name" string: "PaperColor"; + value "md.author" string: "Nikyle Nguyen"; + value "md.website" string: "https://github.com/NLKNguyen/papercolor-theme"; + value "md.license" string: "MIT"; + group "def" struct { + group "Color" struct { + value "r" uchar: 68; + value "g" uchar: 68; + value "b" uchar: 68; + value "a" uchar: 255; + } + } + group "bg" struct { + group "Color" struct { + value "r" uchar: 238; + value "g" uchar: 238; + value "b" uchar: 238; + value "a" uchar: 255; + } + } + group "fg" struct { + group "Color" struct { + value "r" uchar: 68; + value "g" uchar: 68; + value "b" uchar: 68; + value "a" uchar: 255; + } + } + group "main" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 2; + value "b" uchar: 102; + value "a" uchar: 255; + } + } + group "hl" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 255; + value "b" uchar: 255; + value "a" uchar: 255; + } + } + group "end_sel" struct { + group "Color" struct { + value "r" uchar: 136; + value "g" uchar: 0; + value "b" uchar: 61; + value "a" uchar: 255; + } + } + group "tab_missed_1" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 153; + value "b" uchar: 51; + value "a" uchar: 255; + } + } + group "tab_missed_2" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 51; + value "b" uchar: 0; + value "a" uchar: 255; + } + } + group "tab_missed_3" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 0; + value "b" uchar: 0; + value "a" uchar: 255; + } + } + group "tab_missed_over_1" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 255; + value "b" uchar: 64; + value "a" uchar: 255; + } + } + group "tab_missed_over_2" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 153; + value "b" uchar: 51; + value "a" uchar: 255; + } + } + group "tab_missed_over_3" struct { + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 0; + value "b" uchar: 0; + value "a" uchar: 255; + } + } + group "tab_title_2" struct { + group "Color" struct { + value "r" uchar: 0; + value "g" uchar: 0; + value "b" uchar: 0; + value "a" uchar: 255; + } + } + group "ansi" array { + count 16; + group "Color" struct { + value "r" uchar: 242; + value "g" uchar: 242; + value "b" uchar: 242; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 198; + value "g" uchar: 40; + value "b" uchar: 40; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 85; + value "g" uchar: 139; + value "b" uchar: 46; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 143; + value "b" uchar: 1; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 21; + value "g" uchar: 101; + value "b" uchar: 192; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 106; + value "g" uchar: 30; + value "b" uchar: 154; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 0; + value "g" uchar: 131; + value "b" uchar: 143; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 44; + value "g" uchar: 44; + value "b" uchar: 44; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 251; + value "g" uchar: 251; + value "b" uchar: 251; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 225; + value "g" uchar: 126; + value "b" uchar: 133; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 97; + value "g" uchar: 186; + value "b" uchar: 134; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 255; + value "g" uchar: 182; + value "b" uchar: 142; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 76; + value "g" uchar: 178; + value "b" uchar: 255; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 190; + value "g" uchar: 134; + value "b" uchar: 227; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 45; + value "g" uchar: 206; + value "b" uchar: 208; + value "a" uchar: 255; + } + group "Color" struct { + value "r" uchar: 84; + value "g" uchar: 99; + value "b" uchar: 134; + value "a" uchar: 255; + } + } +} diff --git a/data/colorschemes/builder.sh b/data/colorschemes/builder.sh new file mode 100755 index 00000000..6ad59b70 --- /dev/null +++ b/data/colorschemes/builder.sh @@ -0,0 +1,28 @@ +#!/bin/sh +set -e +set -u + +COMPRESS=1 + +EET=$1 +shift +OUTPUT=$1 +shift + +# work on a temporary file till every insertion worked +TMP_EET=$(mktemp "$OUTPUT-XXXXXX") +# trap to avoid creating orphan files +trap 'rm -f "$TMPFILE"' INT TERM HUP EXIT + +for DESC in "$@" +do + # use the name, without extension as key in eet + KEY=$(basename "$DESC" ".desc") + $EET -e "$TMP_EET" "$KEY" "$DESC" "$COMPRESS" +done + +# atomic rename to the expected output file +mv "$TMP_EET" "$OUTPUT" + +# file successfully renamed, so need to trap to rename temp file +trap - INT TERM HUP EXIT diff --git a/data/colorschemes/meson.build b/data/colorschemes/meson.build new file mode 100644 index 00000000..b1e368dc --- /dev/null +++ b/data/colorschemes/meson.build @@ -0,0 +1,18 @@ +colorschemes_desc = [ + 'Nord.desc', + 'PaperColor.desc', +] +cs_builder = [join_paths(meson.source_root(), + 'data', 'colorschemes', 'builder.sh'), + eet_bin, '@OUTPUT@', '@INPUT@'] +cs_install_dir = join_paths(get_option('datadir'), + meson.project_name()) + + +custom_target('colorschemes.eet', + install:true, + install_dir: cs_install_dir, + install_mode: 'rw-r--r--', + command: cs_builder, + input: colorschemes_desc, + output: 'colorschemes.eet') diff --git a/data/meson.build b/data/meson.build index 8eec325f..62e897c9 100644 --- a/data/meson.build +++ b/data/meson.build @@ -4,3 +4,4 @@ subdir('images') subdir('fonts') subdir('themes') subdir('backgrounds') +subdir('colorschemes') diff --git a/meson.build b/meson.build index 9b890904..47078a98 100644 --- a/meson.build +++ b/meson.build @@ -59,6 +59,7 @@ efl_deps = ['edje', 'ethumb_client'] terminology_dependencies = [ m_dep ] edje_cc_path = '' +eet_path = '' edj_targets = [] edj_files = [] @@ -73,6 +74,9 @@ foreach efl_dep: efl_deps if efl_dep == 'edje' edje_cc_path = dep.get_pkgconfig_variable('prefix') + '/bin/edje_cc' endif + if efl_dep == 'eet' + eet_path = dep.get_pkgconfig_variable('prefix') + '/bin/eet' + endif endforeach if cc.has_function('mkstemps') @@ -96,8 +100,12 @@ endif message('Checking for ecore_con_url_head: ' + found) -edje_cc = get_option('edje-cc') +eet_bin = get_option('eet') +if eet_bin == '' + eet_bin = eet_path +endif +edje_cc = get_option('edje-cc') if edje_cc == '' edje_cc = edje_cc_path endif diff --git a/meson_options.txt b/meson_options.txt index ac57a666..9da74a2a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,6 +1,9 @@ option('edje-cc', type: 'string', description: 'A path to a edje_cc. Defaults to system\'s edje_cc') +option('eet', + type: 'string', + description: 'A path to a eet. Defaults to system\'s eet') option('fuzzing', type: 'boolean', value: false,