From 1a867c180df4124a7771e0ff785af80e4fe2d48c Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Wed, 9 Oct 2019 18:36:54 +0100 Subject: [PATCH] e alert - use the provided font ttf for the alert this enforces the look i wanted, and also makes this work when no sans or mono font exist. --- data/fonts/README.txt | 16 ++++++++++++++++ data/fonts/Topaz_a500_v1.0.ttf | Bin 0 -> 21840 bytes data/fonts/meson.build | 4 ++++ meson.build | 1 + src/bin/e_alert_main.c | 30 +++++++++++++++++++++++------- src/bin/e_start_main.c | 6 +++++- 6 files changed, 49 insertions(+), 8 deletions(-) create mode 100644 data/fonts/README.txt create mode 100644 data/fonts/Topaz_a500_v1.0.ttf create mode 100644 data/fonts/meson.build diff --git a/data/fonts/README.txt b/data/fonts/README.txt new file mode 100644 index 000000000..727dae250 --- /dev/null +++ b/data/fonts/README.txt @@ -0,0 +1,16 @@ +Comes from: + +https://github.com/rewtnull/amigafonts + +These fonts are released under the Creative Commons v3.0 license: + +http://creativecommons.org/licenses/by-nc-sa/3.0/ + +From 2013-02-06 you are also allowed to use them according to +the GPL-FE: + +http://www.gnu.org/licenses/gpl-faq.html#FontException + +This licensing change was done for bundled resource compatibility. +You are now allowed to bundle any of these fonts with your WordPress +themes, and what have you. diff --git a/data/fonts/Topaz_a500_v1.0.ttf b/data/fonts/Topaz_a500_v1.0.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d1413877623b8e4776e50b05015dd49cd35e39a7 GIT binary patch literal 21840 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 z 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 literal 0 HcmV?d00001 diff --git a/data/fonts/meson.build b/data/fonts/meson.build new file mode 100644 index 000000000..5b7289e87 --- /dev/null +++ b/data/fonts/meson.build @@ -0,0 +1,4 @@ +install_data([ 'Topaz_a500_v1.0.ttf', + ], + install_dir: join_paths(dir_data, 'enlightenment/data/fonts') + ) diff --git a/meson.build b/meson.build index cc7cb826b..773adebcf 100644 --- a/meson.build +++ b/meson.build @@ -360,6 +360,7 @@ subdir('data/desktop') subdir('data/etc') subdir('data/favorites') subdir('data/flags') +subdir('data/fonts') subdir('data/icons') subdir('data/images') subdir('data/input_methods') diff --git a/src/bin/e_alert_main.c b/src/bin/e_alert_main.c index eaf7586ee..6adbf6b77 100644 --- a/src/bin/e_alert_main.c +++ b/src/bin/e_alert_main.c @@ -12,7 +12,10 @@ static pid_t pid; static Eina_Bool tainted = EINA_FALSE; static const char *backtrace_str = NULL; -#define FONT "Mono" +//#define FONT "TopazPlus_a500_v1.0.pcf" +//#define FONT "terminus-16.pcf" +#define FONT "Topaz_a500_v1.0.ttf" +#define FONT_FALLBACK "Mono" #define COL_BG 0, 0, 0, 255 #define COL_FG 255, 0, 0, 255 #define HDIV 10 @@ -85,10 +88,22 @@ key_down(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *o EINA_UNUSED } } +static const char * +font_get(void) +{ + const char *s = getenv("E_ALERT_FONT_DIR"); + static char buf[4096]; + + if (s) snprintf(buf, sizeof(buf), "%s/"FONT, s); + else snprintf(buf, sizeof(buf), "%s", FONT_FALLBACK); + return buf; +} + static void resize(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *o, void *info EINA_UNUSED) { Evas_Coord w, h, tw, th; + const char *font = font_get(); evas_object_geometry_get(o, NULL, NULL, &w, &h); h = w / HDIV; @@ -99,15 +114,15 @@ resize(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *o, void *info E evas_object_geometry_set(obj_inner, (2 * h) / PDIV, (2 * h) / PDIV, w - ((h * 4) / PDIV), h - ((h * 4) / PDIV)); - evas_object_text_font_set(obj_line1, FONT, h / 8); + evas_object_text_font_set(obj_line1, font, h / 8); evas_object_geometry_get(obj_line1, NULL, NULL, &tw, &th); evas_object_move(obj_line1, (w - tw) / 2, (3 * h) / PDIV); - evas_object_text_font_set(obj_line2, FONT, h / 8); + evas_object_text_font_set(obj_line2, font, h / 8); evas_object_geometry_get(obj_line2, NULL, NULL, &tw, &th); evas_object_move(obj_line2, (w - tw) / 2, (h - th) / 2); - evas_object_text_font_set(obj_line3, FONT, h / 8); + evas_object_text_font_set(obj_line3, font, h / 8); evas_object_geometry_get(obj_line3, NULL, NULL, &tw, &th); evas_object_move(obj_line3, (w - tw) / 2, h - th - (3 * h) / PDIV); } @@ -125,6 +140,7 @@ setup_display(void) { Evas *e; Evas_Object *win, *o; + const char *font = font_get(); win = o = elm_win_add(NULL, "e-alert", ELM_WIN_SPLASH); if (!win) return EINA_FALSE; @@ -147,21 +163,21 @@ setup_display(void) obj_line1 = o = evas_object_text_add(e); evas_object_color_set(o, COL_FG); - evas_object_text_font_set(o, FONT, 10); + evas_object_text_font_set(o, font, 10); evas_object_text_text_set(o, title1()); evas_object_pass_events_set(o, EINA_TRUE); evas_object_show(o); obj_line2 = o = evas_object_text_add(e); evas_object_color_set(o, COL_FG); - evas_object_text_font_set(o, FONT, 10); + evas_object_text_font_set(o, font, 10); evas_object_text_text_set(o, title2()); evas_object_pass_events_set(o, EINA_TRUE); evas_object_show(o); obj_line3 = o = evas_object_text_add(e); evas_object_color_set(o, COL_FG); - evas_object_text_font_set(o, FONT, 10); + evas_object_text_font_set(o, font, 10); evas_object_text_text_set(o, title3()); evas_object_pass_events_set(o, EINA_TRUE); evas_object_show(o); diff --git a/src/bin/e_start_main.c b/src/bin/e_start_main.c index ff94d56fa..c967e2696 100644 --- a/src/bin/e_start_main.c +++ b/src/bin/e_start_main.c @@ -484,6 +484,7 @@ _e_call_alert(int child, siginfo_t sig, int exit_gdb, const char *backtrace_str, Eina_Bool susr1) { char buf[4096]; + snprintf(buf, sizeof(buf), backtrace_str ? "%s/enlightenment/utils/enlightenment_alert %i %i %i '%s'" : @@ -552,7 +553,7 @@ main(int argc, char **argv) int i, valgrind_mode = 0; int valgrind_tool = 0; int valgrind_gdbserver = 0; - char buf[16384], **args, *home; + char buf[8192], buf2[4096], **args, *home; char valgrind_path[PATH_MAX] = ""; const char *valgrind_log = NULL; const char *bindir; @@ -659,6 +660,9 @@ main(int argc, char **argv) if (really_know) _env_path_append("PATH", bindir); else _env_path_prepend("PATH", bindir); } + snprintf(buf2, sizeof(buf2), + "E_ALERT_FONT_DIR=%s/data/fonts", eina_prefix_data_get(pfx)); + putenv(buf2); if ((valgrind_mode || valgrind_tool) && !find_valgrind(valgrind_path, sizeof(valgrind_path)))