From 29ebbfd6d581032c889401111545a394c6c2bc76 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sat, 30 Jul 2005 07:46:05 +0000 Subject: [PATCH] icons are now part of the theme and themable from the theme (always falls back to default of course if theme doesnt provide them) and this works for EAP icons too - if you give your EAP icons an icon class like "web_browser" and if the theme provides a theme override for icons of class "web_browser" then the theme icon is used instead of the .eap internal image. not surethis is perfect as u want more "specific" and "more general" levels - maybe i should make the eapp icon class a list of classes the icon is part of... SVN revision: 15951 --- TODO | 2 - configure.in | 2 - data/Makefile.am | 2 +- data/icons/.cvsignore | 3 - data/icons/Makefile.am | 24 -- data/icons/default.edc | 396 ------------------ data/icons/images/.cvsignore | 2 - data/icons/images/Makefile.am | 17 - data/icons/images/run.png | Bin 4212 -> 0 bytes data/icons/images/theme_0.png | Bin 1342 -> 0 bytes data/icons/images/theme_glow_0.png | Bin 1301 -> 0 bytes data/themes/Makefile.am | 3 +- data/themes/default.edc | 1 + data/themes/images/Makefile.am | 17 +- .../images/e17_icon_configuration.png} | Bin 6391 -> 6392 bytes .../images/e17_icon_desktop.png} | Bin .../images/e17_icon_e_0.png} | Bin .../images/e17_icon_e_glow_0.png} | Bin .../images/e17_icon_favorites.png} | Bin .../images/e17_icon_gadget.png} | Bin .../images/e17_icon_module.png} | Bin .../images/e17_icon_power_button_0.png} | Bin .../images/e17_icon_power_button_glow_0.png} | Bin .../images/e17_icon_reset_button_0.png} | Bin .../images/e17_icon_reset_button_glow_0.png} | Bin data/themes/images/e17_icon_run.png | Bin 0 -> 4213 bytes data/themes/images/e17_icon_theme_0.png | Bin 0 -> 1343 bytes data/themes/images/e17_icon_theme_glow_0.png | Bin 0 -> 1302 bytes .../images/e17_icon_windows.png} | Bin src/bin/e_apps.c | 51 +-- src/bin/e_apps.h | 3 + src/bin/e_border.c | 3 +- src/bin/e_dnd.c | 2 +- src/bin/e_eapp_main.c | 61 ++- src/bin/e_hints.c | 2 +- src/bin/e_int_menus.c | 49 +-- src/bin/e_theme.c | 1 + src/bin/e_utils.c | 27 ++ src/bin/e_utils.h | 2 + 39 files changed, 139 insertions(+), 531 deletions(-) delete mode 100644 data/icons/.cvsignore delete mode 100644 data/icons/Makefile.am delete mode 100644 data/icons/default.edc delete mode 100644 data/icons/images/.cvsignore delete mode 100644 data/icons/images/Makefile.am delete mode 100644 data/icons/images/run.png delete mode 100644 data/icons/images/theme_0.png delete mode 100644 data/icons/images/theme_glow_0.png rename data/{icons/images/configuration.png => themes/images/e17_icon_configuration.png} (59%) rename data/{icons/images/desktop.png => themes/images/e17_icon_desktop.png} (100%) rename data/{icons/images/e_0.png => themes/images/e17_icon_e_0.png} (100%) rename data/{icons/images/e_glow_0.png => themes/images/e17_icon_e_glow_0.png} (100%) rename data/{icons/images/favorites.png => themes/images/e17_icon_favorites.png} (100%) rename data/{icons/images/gadget.png => themes/images/e17_icon_gadget.png} (100%) rename data/{icons/images/module.png => themes/images/e17_icon_module.png} (100%) rename data/{icons/images/power_button_0.png => themes/images/e17_icon_power_button_0.png} (100%) rename data/{icons/images/power_button_glow_0.png => themes/images/e17_icon_power_button_glow_0.png} (100%) rename data/{icons/images/reset_button_0.png => themes/images/e17_icon_reset_button_0.png} (100%) rename data/{icons/images/reset_button_glow_0.png => themes/images/e17_icon_reset_button_glow_0.png} (100%) create mode 100644 data/themes/images/e17_icon_run.png create mode 100644 data/themes/images/e17_icon_theme_0.png create mode 100644 data/themes/images/e17_icon_theme_glow_0.png rename data/{icons/images/windows.png => themes/images/e17_icon_windows.png} (100%) diff --git a/TODO b/TODO index b9e44738c..36ba6ba2f 100644 --- a/TODO +++ b/TODO @@ -167,8 +167,6 @@ Some of the things (in very short form) that need to be done to E17... locale+encoding) * add input method selector stuff to eapp - same as locale * "run command" typebuffer thing -* icons should be able to be overidden from the theme (eapp and menu stuff - etc.) * setup configs for gnome and kde (as options) if they are installed (eg run gnome-settings-daemon). * check evas has eet support early on. diff --git a/configure.in b/configure.in index 90069cba1..6ce1f665f 100644 --- a/configure.in +++ b/configure.in @@ -258,8 +258,6 @@ data/init/Makefile data/init/images/Makefile data/themes/Makefile data/themes/images/Makefile -data/icons/Makefile -data/icons/images/Makefile data/other/Makefile data/xsession/Makefile data/xsession/enlightenment.desktop diff --git a/data/Makefile.am b/data/Makefile.am index 6e6dccf8b..8c8db8405 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,3 +1,3 @@ MAINTAINERCLEANFILES = Makefile.in -SUBDIRS = fonts images init themes icons other xsession +SUBDIRS = fonts images init themes other xsession diff --git a/data/icons/.cvsignore b/data/icons/.cvsignore deleted file mode 100644 index 89cafbeaf..000000000 --- a/data/icons/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Makefile.in -Makefile -default.edj diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am deleted file mode 100644 index 38427be1c..000000000 --- a/data/icons/Makefile.am +++ /dev/null @@ -1,24 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in -SUBDIRS = images - -EDJE_CC = @edje_cc@ -EDJE_FLAGS = \ --v \ --id $(top_srcdir)/data/icons/images \ --fd $(top_srcdir)/data/fonts \ -@EDJE_DEF@ - -filesdir = $(datadir)/enlightenment/data/icons -files_DATA = \ -default.edj - -EXTRA_DIST = default.edc - -default.edj: Makefile default.edc - $(EDJE_CC) $(EDJE_FLAGS) \ - $(top_srcdir)/data/icons/default.edc \ - $(top_builddir)/data/icons/default.edj - -clean-local: - rm -f *.edj - diff --git a/data/icons/default.edc b/data/icons/default.edc deleted file mode 100644 index f772dd372..000000000 --- a/data/icons/default.edc +++ /dev/null @@ -1,396 +0,0 @@ -images { - image: "e_0.png" LOSSY 90; - image: "e_glow_0.png" LOSSY 90; - - image: "power_button_0.png" LOSSY 90; - image: "power_button_glow_0.png" LOSSY 90; - - image: "reset_button_0.png" LOSSY 90; - image: "reset_button_glow_0.png" LOSSY 90; - - image: "theme_0.png" LOSSY 90; - image: "theme_glow_0.png" LOSSY 90; - - image: "windows.png" LOSSY 90; - - image: "module.png" LOSSY 90; - - image: "favorites.png" LOSSY 90; - - image: "desktop.png" LOSSY 90; - - image: "gadget.png" LOSSY 90; - - image: "configuration.png" LOSSY 90; - image: "run.png" LOSSY 90; -} - -collections { - group { - name: "e"; - max: 64 64; - parts { - part { - name: "e"; - mouse_events: 0; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - max: 64 64; - image { - normal: "e_0.png"; - } - } - } - part { - name: "e_glow"; - mouse_events: 0; - description { - state: "default" 0.0; - visible: 0; - rel1 { - to: "e"; - } - rel2 { - to: "e"; - } - color: 255 255 255 0; - image { - normal: "e_glow_0.png"; - } - } - description { - state: "hilited" 0.0; - inherit: "default" 0.0; - visible: 1; - color: 255 255 255 255; - } - } - } - programs { - program { - name: "e_in"; - signal: "active"; - source: ""; - action: STATE_SET "hilited" 0.0; - transition: LINEAR 0.5; - target: "e_glow"; - } - program { - name: "e_out"; - signal: "passive"; - source: ""; - action: STATE_SET "default" 0.0; - transition: LINEAR 0.5; - target: "e_glow"; - } - } - } - group { - name: "power"; - max: 64 64; - parts { - part { - name: "power_button"; - mouse_events: 0; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - max: 64 64; - image { - normal: "power_button_0.png"; - } - } - } - part { - name: "power_button_glow"; - mouse_events: 0; - description { - state: "default" 0.0; - visible: 0; - rel1 { - to: "power_button"; - } - rel2 { - to: "power_button"; - } - color: 255 255 255 0; - image { - normal: "power_button_glow_0.png"; - } - } - description { - state: "hilited" 0.0; - inherit: "default" 0.0; - visible: 1; - color: 255 255 255 255; - } - } - } - programs { - program { - name: "power_button_in"; - signal: "active"; - source: ""; - action: STATE_SET "hilited" 0.0; - transition: LINEAR 0.5; - target: "power_button_glow"; - } - program { - name: "power_button_out"; - signal: "passive"; - source: ""; - action: STATE_SET "default" 0.0; - transition: LINEAR 0.5; - target: "power_button_glow"; - } - } - } - group { - name: "reset"; - max: 64 64; - parts { - part { - name: "reset_button"; - mouse_events: 0; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - max: 64 64; - image { - normal: "reset_button_0.png"; - } - } - } - part { - name: "reset_button_glow"; - mouse_events: 0; - description { - state: "default" 0.0; - visible: 0; - rel1 { - to: "reset_button"; - } - rel2 { - to: "reset_button"; - } - color: 255 255 255 0; - image { - normal: "reset_button_glow_0.png"; - } - } - description { - state: "hilited" 0.0; - inherit: "default" 0.0; - visible: 1; - color: 255 255 255 255; - } - } - } - programs { - program { - name: "reset_button_in"; - signal: "active"; - source: ""; - action: STATE_SET "hilited" 0.0; - transition: LINEAR 0.5; - target: "reset_button_glow"; - } - program { - name: "reset_button_out"; - signal: "passive"; - source: ""; - action: STATE_SET "default" 0.0; - transition: LINEAR 0.5; - target: "reset_button_glow"; - } - } - } - group { - name: "theme"; - max: 64 64; - parts { - part { - name: "theme_button"; - mouse_events: 0; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - max: 64 64; - image { - normal: "theme_0.png"; - } - } - } - part { - name: "theme_button_glow"; - mouse_events: 0; - description { - state: "default" 0.0; - visible: 0; - rel1 { - to: "theme_button"; - } - rel2 { - to: "theme_button"; - } - color: 255 255 255 0; - image { - normal: "theme_glow_0.png"; - } - } - description { - state: "hilited" 0.0; - inherit: "default" 0.0; - visible: 1; - color: 255 255 255 255; - } - } - } - programs { - program { - name: "theme_button_in"; - signal: "active"; - source: ""; - action: STATE_SET "hilited" 0.0; - transition: LINEAR 0.5; - target: "theme_button_glow"; - } - program { - name: "theme_button_out"; - signal: "passive"; - source: ""; - action: STATE_SET "default" 0.0; - transition: LINEAR 0.5; - target: "theme_button_glow"; - } - } - } - group { - name: "windows"; - max: 64 64; - parts { - part { - name: "icon"; - mouse_events: 0; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - max: 64 64; - image { - normal: "windows.png"; - } - } - } - } - } - group { - name: "module"; - max: 64 64; - parts { - part { - name: "icon"; - mouse_events: 0; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - max: 64 64; - image { - normal: "module.png"; - } - } - } - } - } - group { - name: "favorites"; - max: 64 64; - parts { - part { - name: "icon"; - mouse_events: 0; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - max: 64 64; - image { - normal: "favorites.png"; - } - } - } - } - } - group { - name: "desktops"; - max: 64 64; - parts { - part { - name: "icon"; - mouse_events: 0; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - max: 64 64; - image { - normal: "desktop.png"; - } - } - } - } - } - group { - name: "gadgets"; - max: 64 64; - parts { - part { - name: "icon"; - mouse_events: 0; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - max: 64 64; - image { - normal: "gadget.png"; - } - } - } - } - } - group { - name: "configuration"; - max: 64 64; - parts { - part { - name: "icon"; - mouse_events: 0; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - max: 64 64; - image { - normal: "configuration.png"; - } - } - } - } - } - group { - name: "run"; - max: 64 64; - parts { - part { - name: "icon"; - mouse_events: 0; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - max: 64 64; - image { - normal: "run.png"; - } - } - } - } - } - -} diff --git a/data/icons/images/.cvsignore b/data/icons/images/.cvsignore deleted file mode 100644 index 3dda72986..000000000 --- a/data/icons/images/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile.in -Makefile diff --git a/data/icons/images/Makefile.am b/data/icons/images/Makefile.am deleted file mode 100644 index 2ea665028..000000000 --- a/data/icons/images/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in -EXTRA_DIST = \ -e_0.png \ -e_glow_0.png \ -power_button_0.png \ -power_button_glow_0.png \ -reset_button_0.png \ -reset_button_glow_0.png \ -theme_0.png \ -theme_glow_0.png \ -windows.png \ -module.png \ -favorites.png \ -desktop.png \ -gadget.png \ -configuration.png \ -run.png diff --git a/data/icons/images/run.png b/data/icons/images/run.png deleted file mode 100644 index 791c5007e5a2daddac8f5d65c6c389c8837649a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4212 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 AWB>pF diff --git a/data/icons/images/theme_glow_0.png b/data/icons/images/theme_glow_0.png deleted file mode 100644 index e061bd91e1a746251bb0287e82bcc40628403fef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1301 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

1}Fj z2eEm851e_PH`R?ls(mvty|t{J!H8Pc&Pc0|xJe%|y`4)6T8_LfY-w9~^R}F?YdQ3L zK;_TJhkIF>1i$!p`XuOi9bDJt&aK<`fZu_~$T~ww3xTebi&VwrwNOXJo)k!1s!Efg z^mgtL=t-^ZRI8XAYrI*l9#^#boTRtQy>_4jpbCe+l#5OR)UgbFnCDDTfuPF9`XYn^ zpdewA+f;bmZY%|a0%v8(P-5HF-m$@V0Hh|pRR*B9>K<^x&f>=lFfE=5dvb=A@Dcga=D4ZH}D*NgT#4W08k_A0?*~Vs{x>cuyk8w!pNDpeMgKx zF#w>a@k_NyDvbCN^J;XvV*to?D(o}k`$c&GU@mq#7afkXHWz1lJ5NC*jPWCD2Md;w z^foB~RIG(sJ4jJR(%UE!Wh;7^wS%bloHgEq>8;8HUyA-BsSud7c2GUP)WFU8GbZ8({Xk{QrNlj4iWF>9@00eqTL_t(|+U=XaZ`(!` z$3K!~wo%o zbTDclFr2_7VkV(%sRQ4|CyJ6ui9b$q9zY!VbRzG4dGGFh-yJKYlM4CCm=dHCa~(a( z0$?0-0DRvEcr2HnfY0IzWDS7n z`*r<;djEy>-E^%+ncyazu*6&>-R%LqIEO?vG*0->ptwaZl48g0}W#=%3P|E>2D*+pR|#> zjOy>I_qrb*QC)j)>QN8GH8*BV%bE6o$p^SDm+o{oZnaty=g~4+H>$^V*>6qx2m39i zo+pM^^D;gPz=QaT-gpl19$}dAlFyY z_%r~_C0AAg;5ZJB@jo1Jw;Ll)^jsbE!rtr8qb^h`n!|F6%L1Vg)v4`iN<97nA~}Q0i9Q>2y#^ zO&q4K)9J+48K}YR`-<*KXYyHD0icb)iB2DJM-u6FyAx$pe^&w;2+==@M?w&3?*HpGbXN3N6nrzNRM=uCW}#c z5!u<<$=n6Tl56vgjLC(;oAv5(!^qD8u)DikS`3gi06K9vl5~+5p^lrt_v;)9Y7lhV z*j$9r093?H);1KLwHr$Vp~1PgWGJ`oYG2vlR{#o=@qGqheBXP(4Y#|@R$_HHQJ9-T zKFUmXqd{1C08(a~-vb|vfN%ACK(E((BmCuE#JI81?LUg~r&7path, a); _e_apps_list = evas_list_remove(_e_apps_list, a); _e_app_fields_empty(a); - if (a->path) - free(a->path); + IF_FREE(a->path); free(a); } } @@ -806,6 +805,15 @@ _e_app_fields_fill(E_App *a, const char *path) a->exe = str; free(v); } + v = eet_read(ef, "app/icon/class", &size); + if (v) + { + str = malloc(size + 1); + memcpy(str, v, size); + str[size] = 0; + a->icon_class = str; + free(v); + } v = eet_read(ef, "app/window/name", &size); if (v) { @@ -860,36 +868,15 @@ _e_app_fields_fill(E_App *a, const char *path) static void _e_app_fields_empty(E_App *a) { - if (a->name) - { - free(a->name); - a->name = NULL; - } - if (a->generic) - { - free(a->generic); - a->generic = NULL; - } - if (a->comment) - { - free(a->comment); - a->comment = NULL; - } - if (a->exe) - { - free(a->exe); - a->exe = NULL; - } - if (a->win_name) - { - free(a->win_name); - a->win_name = NULL; - } - if (a->win_class) - { - free(a->win_class); - a->win_class = NULL; - } + IF_FREE(a->name); + IF_FREE(a->generic); + IF_FREE(a->comment); + IF_FREE(a->exe); + IF_FREE(a->icon_class); + IF_FREE(a->win_name); + IF_FREE(a->win_class); + IF_FREE(a->win_title); + IF_FREE(a->win_role); } static Ecore_List * diff --git a/src/bin/e_apps.h b/src/bin/e_apps.h index 3d287fbc6..693a93864 100644 --- a/src/bin/e_apps.h +++ b/src/bin/e_apps.h @@ -33,12 +33,15 @@ struct _E_App char *generic; /* generic app name */ char *comment; /* a longer description */ char *exe; /* command to execute, NULL if directory */ + char *path; /* path to .eet containing icons etc. etc. */ char *win_name; /* window name */ char *win_class; /* window class */ char *win_title; /* window title */ char *win_role; /* window role */ + + char *icon_class; /* icon_class */ Evas_List *subapps; /* if this a directory, a list of more E_App's */ diff --git a/src/bin/e_border.c b/src/bin/e_border.c index 917eb4378..1e2d3d7bd 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -1748,7 +1748,8 @@ e_border_icon_add(E_Border *bd, Evas *evas) if (a) { o = edje_object_add(evas); - edje_object_file_set(o, a->path, "icon"); + if (!e_util_edje_icon_set(o, a->icon_class)) + edje_object_file_set(o, a->path, "icon"); } } else if (bd->client.netwm.icon.data) diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c index f8d13b4c7..83fa7eac6 100644 --- a/src/bin/e_dnd.c +++ b/src/bin/e_dnd.c @@ -811,7 +811,7 @@ _e_dnd_cb_event_dnd_selection(void *data, int type, void *event) int i, size; data = ev->data; - text = data->data; + text = (char *)data->data; size = MIN(data->length, PATH_MAX - 1); /* A moz url _shall_ contain a space */ /* FIXME: The data is two-byte unicode. Somewhere it diff --git a/src/bin/e_eapp_main.c b/src/bin/e_eapp_main.c index 9da397b61..20a97fdb0 100644 --- a/src/bin/e_eapp_main.c +++ b/src/bin/e_eapp_main.c @@ -26,6 +26,7 @@ main(int argc, char **argv) int del_win_class = 0; int del_win_title = 0; int del_win_role = 0; + int del_icon_class = 0; int del_startup_notify = 0; int del_wait_exit = 0; char *file = NULL; @@ -37,6 +38,7 @@ main(int argc, char **argv) char *set_win_class = NULL; char *set_win_title = NULL; char *set_win_role = NULL; + char *set_icon_class = NULL; int set_startup_notify = -1; int set_wait_exit = -1; int get_name = 0; @@ -47,6 +49,7 @@ main(int argc, char **argv) int get_win_class = 0; int get_win_title = 0; int get_win_role = 0; + int get_icon_class = 0; int get_startup_notify = 0; int get_wait_exit = 0; @@ -116,6 +119,13 @@ main(int argc, char **argv) valid_args++; write_ops++; } + else if ((!strcmp(argv[i], "-set-icon-class")) && (i < (argc - 1))) + { + i++; + set_icon_class = argv[i]; + valid_args++; + write_ops++; + } else if ((!strcmp(argv[i], "-set-startup-notify")) && (i < (argc - 1))) { i++; @@ -140,6 +150,7 @@ main(int argc, char **argv) del_win_class = 1; del_win_title = 1; del_win_role = 1; + del_icon_class = 1; del_startup_notify = 1; del_wait_exit = 1; valid_args++; @@ -193,6 +204,12 @@ main(int argc, char **argv) valid_args++; write_ops++; } + else if ((!strcmp(argv[i], "-del-icon-class"))) + { + del_icon_class = 1; + valid_args++; + write_ops++; + } else if ((!strcmp(argv[i], "-del-startup-notify"))) { del_startup_notify = 1; @@ -216,52 +233,57 @@ main(int argc, char **argv) else if ((!strcmp(argv[i], "-get-name"))) { get_name = 1; - valid_args++; + valid_args++; } else if ((!strcmp(argv[i], "-get-generic"))) { get_generic = 1; - valid_args++; + valid_args++; } else if ((!strcmp(argv[i], "-get-comment"))) { get_comment = 1; - valid_args++; + valid_args++; } else if ((!strcmp(argv[i], "-get-exe"))) { get_exe = 1; - valid_args++; + valid_args++; } else if ((!strcmp(argv[i], "-get-win-name"))) { get_win_name = 1; - valid_args++; + valid_args++; } else if ((!strcmp(argv[i], "-get-win-class"))) { get_win_class = 1; - valid_args++; + valid_args++; } else if ((!strcmp(argv[i], "-get-win-title"))) { get_win_title = 1; - valid_args++; + valid_args++; } else if ((!strcmp(argv[i], "-get-win-role"))) { get_win_role = 1; - valid_args++; + valid_args++; + } + else if ((!strcmp(argv[i], "-get-icon-class"))) + { + get_icon_class = 1; + valid_args++; } else if ((!strcmp(argv[i], "-get-startup-notify"))) { get_startup_notify = 1; - valid_args++; + valid_args++; } else if ((!strcmp(argv[i], "-get-wait-exit"))) { get_wait_exit = 1; - valid_args++; + valid_args++; } else file = argv[i]; @@ -321,6 +343,8 @@ main(int argc, char **argv) eet_write(ef, "app/window/title", set_win_title, strlen(set_win_title), 0); if (set_win_role) eet_write(ef, "app/window/role", set_win_role, strlen(set_win_role), 0); + if (set_icon_class) + eet_write(ef, "app/icon/class", set_icon_class, strlen(set_icon_class), 0); if (set_startup_notify >= 0) { unsigned char tmp[1]; @@ -387,6 +411,8 @@ main(int argc, char **argv) eet_delete(ef, "app/window/title"); if (del_win_role) eet_delete(ef, "app/window/role"); + if (del_icon_class) + eet_delete(ef, "app/icon/class"); if (del_startup_notify) eet_delete(ef, "app/info/startup_notify"); if (del_wait_exit) @@ -511,6 +537,18 @@ main(int argc, char **argv) printf("%s\n", str); } } + if (get_icon_class) + { + v = eet_read(ef, "app/icon/class", &size); + if (v) + { + str = malloc(size + 1); + memcpy(str, v, size); + str[size] = 0; + free(v); + printf("%s\n", str); + } + } if (get_startup_notify) { v = eet_read(ef, "app/info/startup_notify", &size); @@ -571,6 +609,7 @@ _e_help(void) " -set-win-class WIN_CLASS Set the application window class glob\n" " -set-win-title WIN_TITLE Set the application window title glob\n" " -set-win-role WIN_ROLE Set the application window role glob\n" + " -set-icon-class CLASS_NAME Set the application icon class for themes\n" " -set-startup-notify [1/0] Set the application startup notify flag\n" " -set-wait-exit [1/0] Set the application wait exit flag\n" " -get-name Get the application name\n" @@ -581,6 +620,7 @@ _e_help(void) " -get-win-class Get the application window class glob\n" " -get-win-title Get the application window title glob\n" " -get-win-role Get the application window role glob\n" + " -get-icon-class Get the application icon class for themes\n" " -get-startup-notify Get the application startup notify flag\n" " -get-wait-exit Get the application wait exit flag\n" " -del-name Delete the application name\n" @@ -591,6 +631,7 @@ _e_help(void) " -del-win-class Delete the application window class\n" " -del-win-title Delete the application window title glob\n" " -del-win-role Delete the application window role glob\n" + " -del-icon-class Delete the application icon class for themes\n" " -del-startup-notify Delete the application startup notify flag\n" " -del-wait-exit Delete the application wait exit flag\n" ); diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c index a382c3ea8..81dcfb05b 100644 --- a/src/bin/e_hints.c +++ b/src/bin/e_hints.c @@ -921,7 +921,7 @@ int e_hints_window_saved_size_get(E_Border *bd) { int ret; - int sizes[4]; + unsigned int sizes[4]; memset(sizes, 0, sizeof(sizes)); ret = ecore_x_window_prop_card32_get(bd->client.win, E_ATOM_SAVED_SIZE, diff --git a/src/bin/e_int_menus.c b/src/bin/e_int_menus.c index 052a6af03..367f9c406 100644 --- a/src/bin/e_int_menus.c +++ b/src/bin/e_int_menus.c @@ -54,7 +54,6 @@ e_int_menus_main_new(void) E_Menu *m, *subm; E_Menu_Item *mi; Main_Data *dat; - char *s; dat = calloc(1, sizeof(Main_Data)); m = e_menu_new(); @@ -66,9 +65,7 @@ e_int_menus_main_new(void) dat->apps = subm; mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Favorite Applications")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "favorites"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/favorites"); e_menu_item_submenu_set(mi, subm); mi = e_menu_item_new(m); @@ -78,54 +75,42 @@ e_int_menus_main_new(void) dat->modules = subm; mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Modules")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "module"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/modules"); e_menu_item_submenu_set(mi, subm); subm = e_int_menus_desktops_new(); dat->desktops = subm; mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Desktops")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "desktops"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/desktops"); e_menu_item_submenu_set(mi, subm); subm = e_int_menus_clients_new(); dat->clients = subm; mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Windows")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "windows"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/windows"); e_menu_item_submenu_set(mi, subm); subm = e_int_menus_lost_clients_new(); dat->lost_clients = subm; mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Lost Windows")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "lost_windows"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/lost_windows"); e_menu_item_submenu_set(mi, subm); subm = e_int_menus_gadgets_new(); dat->gadgets = subm; mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Gadgets")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "gadgets"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/gadgets"); e_menu_item_submenu_set(mi, subm); subm = e_int_menus_themes_new(); dat->themes = subm; mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Themes")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "theme"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/themes"); e_menu_item_submenu_set(mi, subm); mi = e_menu_item_new(m); @@ -133,18 +118,14 @@ e_int_menus_main_new(void) mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("About Enlightenment")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "e"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/e"); e_menu_item_callback_set(mi, _e_int_menus_main_about, NULL); if (ecore_file_app_installed("exige")) { mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Run Command")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "run"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/run"); e_menu_item_callback_set(mi, _e_int_menus_main_run, NULL); } @@ -152,9 +133,7 @@ e_int_menus_main_new(void) dat->config = subm; mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Configuration")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "configuration"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/configuration"); e_menu_item_submenu_set(mi, subm); mi = e_menu_item_new(m); @@ -162,16 +141,12 @@ e_int_menus_main_new(void) mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Restart Enlightenment")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "reset"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/reset"); e_menu_item_callback_set(mi, _e_int_menus_main_restart, NULL); mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Exit Enlightenment")); - s = e_path_find(path_icons, "default.edj"); - e_menu_item_icon_edje_set(mi, s, "power"); - IF_FREE(s); + e_util_menu_item_edje_icon_set(mi, "enlightenment/exit"); e_menu_item_callback_set(mi, _e_int_menus_main_exit, NULL); return m; } diff --git a/src/bin/e_theme.c b/src/bin/e_theme.c index 9915197ad..015cbf6b1 100644 --- a/src/bin/e_theme.c +++ b/src/bin/e_theme.c @@ -54,6 +54,7 @@ e_theme_init(void) * e_theme_file_set("base/theme/error", "default.edj"); * e_theme_file_set("base/theme/gadman", "default.edj"); * e_theme_file_set("base/theme/dnd", "default.edj"); + * e_theme_file_set("base/theme/icons", "default.edj"); * e_theme_file_set("base/theme/modules", "default.edj"); * e_theme_file_set("base/theme/modules/pager", "default.edj"); * e_theme_file_set("base/theme/modules/ibar", "default.edj"); diff --git a/src/bin/e_utils.c b/src/bin/e_utils.c index 2b4b4b980..83e9e31ff 100644 --- a/src/bin/e_utils.c +++ b/src/bin/e_utils.c @@ -255,3 +255,30 @@ e_util_immortal_check(void) } return 0; } + +int +e_util_edje_icon_set(Evas_Object *obj, char *name) +{ + char *file; + char buf[4096]; + + if (!name) return 0; + snprintf(buf, sizeof(buf), "icons/%s", name); + file = (char *)e_theme_edje_file_get("base/theme/icons", buf); + if (!file[0]) return; + edje_object_file_set(obj, file, buf); + return 1; +} + +void +e_util_menu_item_edje_icon_set(E_Menu_Item *mi, char *name) +{ + char *file; + char buf[4096]; + + if (!name) return; + snprintf(buf, sizeof(buf), "icons/%s", name); + file = (char *)e_theme_edje_file_get("base/theme/icons", buf); + if (!file[0]) return; + e_menu_item_icon_edje_set(mi, file, buf); +} diff --git a/src/bin/e_utils.h b/src/bin/e_utils.h index 980b2aab9..43eb613a9 100644 --- a/src/bin/e_utils.h +++ b/src/bin/e_utils.h @@ -20,6 +20,8 @@ EAPI int e_util_head_exec(int head, char *cmd); EAPI int e_util_strcmp(char *s1, char *s2); EAPI int e_util_both_str_empty(char *s1, char *s2); EAPI int e_util_immortal_check(void); +EAPI int e_util_edje_icon_set(Evas_Object *obj, char *name); +EAPI void e_util_menu_item_edje_icon_set(E_Menu_Item *mi, char *name); #endif #endif