diff --git a/Makefile.am b/Makefile.am
index b015c7818..153d5de3d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -8,3 +8,6 @@ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \
bin_SCRIPTS = enlightenment-config
EXTRA_DIST = README AUTHORS COPYING COPYING-PLAIN enlightenment.spec
+
+filesdir = $(datadir)/enlightenment/
+files_DATA = AUTHORS COPYING
diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am
index d973fa67d..4124cce60 100644
--- a/data/themes/Makefile.am
+++ b/data/themes/Makefile.am
@@ -34,7 +34,8 @@ default_transitions.edc \
default_dialog.edc \
default_icons.edc \
default_pointer.edc \
-default_randr.edc
+default_randr.edc \
+default_about.edc
default.edj: Makefile $(EXTRA_DIST)
$(EDJE_CC) $(EDJE_FLAGS) \
diff --git a/data/themes/default.edc b/data/themes/default.edc
index dedf30b1e..480a159ae 100644
--- a/data/themes/default.edc
+++ b/data/themes/default.edc
@@ -44,5 +44,6 @@ collections {
#include "default_icons.edc"
#include "default_randr.edc"
#include "default_pointer.edc"
+#include "default_about.edc"
}
diff --git a/data/themes/default_about.edc b/data/themes/default_about.edc
new file mode 100644
index 000000000..5d787f6ea
--- /dev/null
+++ b/data/themes/default_about.edc
@@ -0,0 +1,598 @@
+images {
+ image: "e17_menu_bg_border.png" COMP;
+ image: "e17_button2.png" COMP;
+ image: "e17_button.png" COMP;
+ image: "e17_dialog_watermark.png" COMP;
+ image: "e17_about_bg_v.png" COMP;
+ image: "e17_about_over_v.png" COMP;
+ image: "e17_logo.png" COMP;
+ image: "e17_about_sky0.png" LOSSY 70;
+ image: "e17_about_sky1.png" LOSSY 70;
+ image: "e17_about_sky2.png" LOSSY 70;
+ image: "e17_about_sky3.png" LOSSY 70;
+ image: "e17_about_sky4.png" LOSSY 70;
+ image: "e17_about_sky_overlay.png" COMP;
+}
+
+styles
+{
+ style {
+ name: "about_style";
+ base: "font=Edje-Vera font_size=10 align=center color=#000 style=shadow shadow_color=#ffffff80 wrap=word";
+
+ tag: "br" "\n";
+ tag: "hilight" "+ font=Edje-Vera-Bold style=glow color=#fff glow2_color=#fe87 glow_color=#fa14";
+ tag: "title" "+ font_size=12 font=Edje-Vera-Bold style=glow color=#fff glow2_color=#0003 glow_color=#0002";
+ tag: "/title" "- \n \n";
+ }
+}
+
+group {
+ name: "widgets/about/main";
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 1 1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ color: 221 221 221 255;
+ }
+ }
+ part {
+ name: "sky";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 400 160;
+ max: 400 160;
+ align: 0.5 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 7 -1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -8 -1;
+ }
+ image {
+ normal: "e17_about_sky0.png";
+ }
+ }
+ }
+ part {
+ name: "sky1";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "sky";
+ }
+ rel2 {
+ to: "sky";
+ }
+ image {
+ normal: "e17_about_sky1.png";
+ }
+ fill {
+ smooth: 0;
+ size {
+ relative: 1.1075 1.0;
+ }
+ }
+ }
+ description {
+ state: "drift" 0.0;
+ inherit: "default" 0.0;
+ fill {
+ origin {
+ relative: -1.1075 0.0;
+ }
+ }
+ }
+ }
+ part {
+ name: "sky4";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "sky";
+ }
+ rel2 {
+ to: "sky";
+ }
+ image {
+ normal: "e17_about_sky4.png";
+ }
+ fill {
+ smooth: 0;
+ size {
+ relative: 1.12 1.0;
+ }
+ }
+ }
+ description {
+ state: "drift" 0.0;
+ inherit: "default" 0.0;
+ fill {
+ origin {
+ relative: -1.12 0.0;
+ }
+ }
+ }
+ }
+ part {
+ name: "sky2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "sky";
+ }
+ rel2 {
+ to: "sky";
+ }
+ image {
+ normal: "e17_about_sky2.png";
+ }
+ fill {
+ smooth: 0;
+ size {
+ relative: 1.1765 1.0;
+ }
+ }
+ }
+ description {
+ state: "drift" 0.0;
+ inherit: "default" 0.0;
+ fill {
+ origin {
+ relative: -1.1765 0.0;
+ }
+ }
+ }
+ }
+ part {
+ name: "sky3";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "sky";
+ }
+ rel2 {
+ to: "sky";
+ }
+ image {
+ normal: "e17_about_sky3.png";
+ }
+ fill {
+ smooth: 0;
+ size {
+ relative: 2.1325 1.0;
+ }
+ }
+ }
+ description {
+ state: "drift" 0.0;
+ inherit: "default" 0.0;
+ fill {
+ origin {
+ relative: -2.1325 0.0;
+ }
+ }
+ }
+ }
+ part {
+ name: "sky_over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "sky";
+ }
+ rel2 {
+ to: "sky";
+ }
+ image {
+ normal: "e17_about_sky_overlay.png";
+ }
+ }
+ }
+ part {
+ name: "about_bg";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "about";
+ offset: -7 -7;
+ }
+ rel2 {
+ to: "about";
+ offset: 6 6;
+ }
+ image {
+ normal: "e17_about_bg_v.png";
+ border: 7 7 7 7;
+ }
+ }
+ }
+ part {
+ name: "authors_bg";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "authors";
+ offset: -7 -7;
+ }
+ rel2 {
+ to: "authors";
+ offset: 6 6;
+ }
+ image {
+ normal: "e17_about_bg_v.png";
+ border: 7 7 7 7;
+ }
+ }
+ }
+ part {
+ name: "base2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 200 138;
+ max: 200 138;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "e17_dialog_watermark.png";
+ }
+ }
+ }
+ part {
+ name: "base3";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ image {
+ normal: "e17_menu_bg_border.png";
+ border: 1 1 1 1;
+ middle: 0;
+ }
+ fill {
+ smooth: 0;
+ }
+ }
+ }
+ part {
+ name: "about";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ max: 200 1000;
+ min: 200 0;
+ rel1 {
+ to_y: "logo";
+ relative: 0.0 1.0;
+ offset: 8 8;
+ }
+ rel2 {
+ to_y: "sky";
+ relative: 0.5 0.4;
+ offset: -9 -9;
+ }
+ text {
+ style: "about_style";
+ min: 0 1;
+ }
+ }
+ }
+ part {
+ name: "authors";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ max: 1000 1000;
+ min: 200 0;
+ rel1 {
+ to_y: "logo";
+ relative: 0.5 1.0;
+ offset: 8 8;
+ }
+ rel2 {
+ to_y: "sky";
+ relative: 1.0 0.4;
+ offset: -9 -9;
+ }
+ text {
+ style: "about_style";
+ min: 1 1;
+ }
+ }
+ }
+ part {
+ name: "about_over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "about_bg";
+ }
+ rel2 {
+ to: "about_bg";
+ }
+ image {
+ normal: "e17_about_over_v.png";
+ border: 13 13 13 13;
+ }
+ }
+ }
+ part {
+ name: "authors_over";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to: "authors_bg";
+ }
+ rel2 {
+ to: "authors_bg";
+ }
+ image {
+ normal: "e17_about_over_v.png";
+ border: 13 13 13 13;
+ }
+ }
+ }
+ part {
+ name: "title";
+ type: TEXT;
+ effect: SOFT_SHADOW;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 {
+ to_y: "logo";
+ relative: 0.0 0.0;
+ offset: 6 0;
+ }
+ rel2 {
+ to_y: "logo";
+ relative: 1.0 0.0;
+ offset: -7 6;
+ }
+ color: 255 255 255 255;
+ color3: 0 0 0 32;
+ text {
+ text: "Enlightenment";
+ font: "Edje-Vera-Bold";
+ size: 16;
+ min: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+ }
+ part {
+ name: "version";
+ type: TEXT;
+ effect: SOFT_SHADOW;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ rel1 {
+ to: "title";
+ relative: 0.0 1.0;
+ offset: 6 2;
+ }
+ rel2 {
+ to: "title";
+ relative: 1.0 1.0;
+ offset: -7 2;
+ }
+ color: 255 255 255 255;
+ color3: 0 0 0 32;
+ text {
+ text: "0.17.0.000";
+ font: "Edje-Vera-Bold";
+ size: 12;
+ min: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+ }
+ part {
+ name: "logo";
+ type: IMAGE;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 63 63;
+ max: 63 63;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 8 8;
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ offset: 8 8;
+ }
+ image {
+ normal: "e17_logo.png";
+ }
+ }
+ }
+ part {
+ name: "button";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ min: 64 32;
+ align: 0.5 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.5 1.0;
+ offset: 0 -7;
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ offset: 0 -7;
+ }
+ image {
+ normal: "e17_button.png";
+ border: 8 8 8 8;
+ }
+ }
+ description {
+ state: "clicked" 0.0;
+ inherit: "default" 0.0;
+ image {
+ normal: "e17_button2.png";
+ }
+ }
+ }
+ part {
+ name: "button_text";
+ type: TEXT;
+ effect: SHADOW;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 6 6;
+ to: "button";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -7 -7;
+ to: "button";
+ }
+ color: 0 0 0 255;
+ color3: 255 255 255 128;
+ text {
+ text: "OK";
+ font: "Edje-Vera";
+ size: 10;
+ min: 1 1;
+ align: 0.5 0.5;
+ }
+ }
+ }
+ }
+ programs {
+ program {
+ name: "button_click";
+ signal: "mouse,down,1";
+ source: "button";
+ action: STATE_SET "clicked" 0.0;
+ target: "button";
+ }
+ program {
+ name: "button_unclick";
+ signal: "mouse,up,1";
+ source: "button";
+ action: STATE_SET "default" 0.0;
+ target: "button";
+ }
+ program {
+ name: "button_unclick2";
+ signal: "mouse,clicked,1";
+ source: "button";
+ action: SIGNAL_EMIT "close" "";
+ }
+
+ program {
+ name: "anim_sky1a";
+ signal: "show";
+ source: "";
+ action: STATE_SET "drift" 0.0;
+ transition: LINEAR 20.0;
+ target: "sky1";
+ after: "anim_sky1b";
+ }
+ program {
+ name: "anim_sky1b";
+ action: STATE_SET "default" 0.0;
+ target: "sky1";
+ after: "anim_sky1a";
+ }
+
+ program {
+ name: "anim_sky4a";
+ signal: "show";
+ source: "";
+ action: STATE_SET "drift" 0.0;
+ transition: LINEAR 15.0;
+ target: "sky4";
+ after: "anim_sky4b";
+ }
+ program {
+ name: "anim_sky4b";
+ action: STATE_SET "default" 0.0;
+ target: "sky4";
+ after: "anim_sky4a";
+ }
+
+ program {
+ name: "anim_sky2a";
+ signal: "show";
+ source: "";
+ action: STATE_SET "drift" 0.0;
+ transition: LINEAR 15.0;
+ target: "sky2";
+ after: "anim_sky2b";
+ }
+ program {
+ name: "anim_sky2b";
+ action: STATE_SET "default" 0.0;
+ target: "sky2";
+ after: "anim_sky2a";
+ }
+
+ program {
+ name: "anim_sky3a";
+ signal: "show";
+ source: "";
+ action: STATE_SET "drift" 0.0;
+ transition: LINEAR 15.0;
+ target: "sky3";
+ after: "anim_sky3b";
+ }
+ program {
+ name: "anim_sky3b";
+ action: STATE_SET "default" 0.0;
+ target: "sky3";
+ after: "anim_sky3a";
+ }
+
+ }
+}
diff --git a/data/themes/default_dialog.edc b/data/themes/default_dialog.edc
index d1f4b26fe..c71f2102e 100644
--- a/data/themes/default_dialog.edc
+++ b/data/themes/default_dialog.edc
@@ -1,5 +1,6 @@
images {
- image: "e17_menu_bg.png" COMP;
+ image: "e17_menu_bg_border.png" COMP;
+// image: "e17_menu_bg.png" COMP;
// image: "e17_winlist_top.png" COMP;
image: "e17_winlist_bottom.png" COMP;
image: "e17_button2.png" COMP;
@@ -47,6 +48,7 @@ group {
min: 200 138;
max: 200 138;
align: 1.0 1.0;
+ fixed: 1 1;
rel1 {
relative: 1.0 1.0;
offset: -1 -1;
diff --git a/data/themes/default_ibar.edc b/data/themes/default_ibar.edc
index 83750eb64..44ffb5434 100644
--- a/data/themes/default_ibar.edc
+++ b/data/themes/default_ibar.edc
@@ -48,6 +48,9 @@ group {
description {
state: "vert" 0.0;
inherit: "default" 0.0;
+ image {
+ normal: "e17_ibar_bg_v.png";
+ }
}
}
part {
diff --git a/data/themes/images/Makefile.am b/data/themes/images/Makefile.am
index e36889c4c..7b5414fef 100644
--- a/data/themes/images/Makefile.am
+++ b/data/themes/images/Makefile.am
@@ -313,4 +313,12 @@ e17_icon_windows.png \
e17_icon_lost_windows.png \
e17_pointer.png \
e17_pointer_mono.png \
-e17_dialog_watermark.png
+e17_dialog_watermark.png \
+e17_about_bg_v.png \
+e17_about_over_v.png \
+e17_about_sky0.png \
+e17_about_sky1.png \
+e17_about_sky2.png \
+e17_about_sky3.png \
+e17_about_sky4.png \
+e17_about_sky_overlay.png
diff --git a/data/themes/images/e17_about_bg_v.png b/data/themes/images/e17_about_bg_v.png
new file mode 100644
index 000000000..c48359c48
Binary files /dev/null and b/data/themes/images/e17_about_bg_v.png differ
diff --git a/data/themes/images/e17_about_over_v.png b/data/themes/images/e17_about_over_v.png
new file mode 100644
index 000000000..4332ed90d
Binary files /dev/null and b/data/themes/images/e17_about_over_v.png differ
diff --git a/data/themes/images/e17_about_sky0.png b/data/themes/images/e17_about_sky0.png
new file mode 100644
index 000000000..d93bb2bf3
Binary files /dev/null and b/data/themes/images/e17_about_sky0.png differ
diff --git a/data/themes/images/e17_about_sky1.png b/data/themes/images/e17_about_sky1.png
new file mode 100644
index 000000000..70372268f
Binary files /dev/null and b/data/themes/images/e17_about_sky1.png differ
diff --git a/data/themes/images/e17_about_sky2.png b/data/themes/images/e17_about_sky2.png
new file mode 100644
index 000000000..0e0f109be
Binary files /dev/null and b/data/themes/images/e17_about_sky2.png differ
diff --git a/data/themes/images/e17_about_sky3.png b/data/themes/images/e17_about_sky3.png
new file mode 100644
index 000000000..802c848ca
Binary files /dev/null and b/data/themes/images/e17_about_sky3.png differ
diff --git a/data/themes/images/e17_about_sky4.png b/data/themes/images/e17_about_sky4.png
new file mode 100644
index 000000000..834a12d8a
Binary files /dev/null and b/data/themes/images/e17_about_sky4.png differ
diff --git a/data/themes/images/e17_about_sky_overlay.png b/data/themes/images/e17_about_sky_overlay.png
new file mode 100644
index 000000000..8eae44ac8
Binary files /dev/null and b/data/themes/images/e17_about_sky_overlay.png differ
diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 9e9ea471e..cd43d0037 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -70,7 +70,8 @@ e_remember.h \
e_win.h \
e_pan.h \
e_dialog.h \
-e_configure.h
+e_configure.h \
+e_about.h
enlightenment_SOURCES = \
e_main.c \
@@ -129,6 +130,7 @@ e_win.c \
e_pan.c \
e_dialog.c \
e_configure.c \
+e_about.c \
$(ENLIGHTENMENTHEADERS)
enlightenment_LDFLAGS = -export-dynamic @e_libs@ @x_libs@ @dlopen_libs@ @cf_libs@
diff --git a/src/bin/e_about.c b/src/bin/e_about.c
new file mode 100644
index 000000000..9f835add8
--- /dev/null
+++ b/src/bin/e_about.c
@@ -0,0 +1,167 @@
+/*
+ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
+ */
+#include "e.h"
+
+/* local subsystem functions */
+static void _e_about_free(E_About *about);
+static void _e_about_cb_delete(E_Win *win);
+static void _e_dialog_cb_close(void *data, Evas_Object *obj, const char *emission, const char *source);
+
+/* local subsystem globals */
+
+/* externally accessible functions */
+
+E_About *
+e_about_new(E_Container *con)
+{
+ E_About *about;
+ E_Manager *man;
+ Evas_Object *o;
+
+ if (!con)
+ {
+ man = e_manager_current_get();
+ if (!man) return NULL;
+ con = e_container_current_get(man);
+ if (!con) con = e_container_number_get(man, 0);
+ if (!con) return NULL;
+ }
+ about = E_OBJECT_ALLOC(E_About, E_ABOUT_TYPE, _e_about_free);
+ if (!about) return NULL;
+ about->win = e_win_new(con);
+ if (!about->win)
+ {
+ free(about);
+ return NULL;
+ }
+ e_win_delete_callback_set(about->win, _e_about_cb_delete);
+ about->win->data = about;
+ e_win_name_class_set(about->win, "E", "_about");
+ e_win_title_set(about->win, _("About Enlightenment"));
+
+ o = edje_object_add(e_win_evas_get(about->win));
+ about->bg_object = o;
+ e_theme_edje_object_set(o, "base/theme/about",
+ "widgets/about/main");
+ evas_object_move(o, 0, 0);
+ evas_object_show(o);
+
+ edje_object_part_text_set(about->bg_object, "title", _("Enlightenment"));
+ edje_object_part_text_set(about->bg_object, "version", VERSION);
+ edje_object_part_text_set
+ (about->bg_object, "about",
+ _(
+ "Copyright © 1999-2005, by the Enlightenment Dev Team.
"
+ "
"
+ "We hope you enjoy using this software as much as we enjoyed writing it.
"
+ "
"
+ "Please think of the aardvarks. They need some love too."
+ )
+ );
+ edje_object_signal_callback_add(about->bg_object, "close", "",
+ _e_dialog_cb_close, about);
+ {
+ FILE *f;
+ char buf[4096], buf2[4096], *tbuf;
+
+ snprintf(buf, sizeof(buf), "%s/AUTHORS", e_prefix_data_get());
+ f = fopen(buf, "r");
+ if (f)
+ {
+ tbuf = strdup(_("