summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-10-09 18:36:54 +0100
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-10-09 18:47:16 +0100
commit1a867c180df4124a7771e0ff785af80e4fe2d48c (patch)
treeb4d1ddd20b7694d53b7a5dcec00fdf5c6d7093ae
parentacee84c8eb31777bda51a93f01cae53abe81572a (diff)
downloadenlightenment-1a867c180df4124a7771e0ff785af80e4fe2d48c.tar.gz
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.
-rw-r--r--data/fonts/README.txt16
-rw-r--r--data/fonts/Topaz_a500_v1.0.ttfbin0 -> 21840 bytes
-rw-r--r--data/fonts/meson.build4
-rw-r--r--meson.build1
-rw-r--r--src/bin/e_alert_main.c30
-rw-r--r--src/bin/e_start_main.c6
6 files changed, 49 insertions, 8 deletions
diff --git a/data/fonts/README.txt b/data/fonts/README.txt
new file mode 100644
index 0000000000..727dae2503
--- /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 0000000000..d141387762
--- /dev/null
+++ b/data/fonts/Topaz_a500_v1.0.ttf
Binary files differ
diff --git a/data/fonts/meson.build b/data/fonts/meson.build
new file mode 100644
index 0000000000..5b7289e878
--- /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 cc7cb826b5..773adebcfc 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 eaf7586ee5..6adbf6b77b 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 ff94d56fa2..c967e26966 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)))