diff --git a/config/default/e.src b/config/default/e.src index 33588540a..1300ea40f 100644 --- a/config/default/e.src +++ b/config/default/e.src @@ -422,19 +422,6 @@ group "E_Config" struct { value "menu_eap_generic_show" int: 1; value "menu_eap_comment_show" int: 0; value "fullscreen_policy" int: 0; - value "exebuf_max_exe_list" int: 20; - value "exebuf_max_eap_list" int: 20; - value "exebuf_max_hist_list" int: 20; - value "exebuf_scroll_animate" int: 1; - value "exebuf_scroll_speed" double: 0.1000000014901161193847656; - value "exebuf_pos_align_x" double: 0.5000000000000000000000000; - value "exebuf_pos_align_y" double: 0.5000000000000000000000000; - value "exebuf_pos_size_w" double: 0.7500000000000000000000000; - value "exebuf_pos_size_h" double: 0.2500000000000000000000000; - value "exebuf_pos_min_w" int: 200; - value "exebuf_pos_min_h" int: 160; - value "exebuf_pos_max_w" int: 400; - value "exebuf_pos_max_h" int: 320; value "exebuf_term_cmd" string: "xterm -hold -e"; value "use_app_icon" int: 0; value "cnfmdlg_disabled" int: 0; diff --git a/config/illume-home/e.src b/config/illume-home/e.src index da44c1d39..75b362e7b 100644 --- a/config/illume-home/e.src +++ b/config/illume-home/e.src @@ -1349,19 +1349,6 @@ group "E_Config" struct { value "menu_eap_generic_show" int: 0; value "menu_eap_comment_show" int: 0; value "fullscreen_policy" int: 0; - value "exebuf_max_exe_list" int: 20; - value "exebuf_max_eap_list" int: 20; - value "exebuf_max_hist_list" int: 20; - value "exebuf_scroll_animate" int: 1; - value "exebuf_scroll_speed" double: 0.1000000000000000055511151; - value "exebuf_pos_align_x" double: 0.5000000000000000000000000; - value "exebuf_pos_align_y" double: 0.5000000000000000000000000; - value "exebuf_pos_size_w" double: 0.7500000000000000000000000; - value "exebuf_pos_size_h" double: 0.2500000000000000000000000; - value "exebuf_pos_min_w" int: 200; - value "exebuf_pos_min_h" int: 160; - value "exebuf_pos_max_w" int: 400; - value "exebuf_pos_max_h" int: 320; value "exebuf_term_cmd" string: "xterm -hold -e"; value "use_app_icon" int: 0; value "cnfmdlg_disabled" int: 0; diff --git a/config/minimalist/e.src b/config/minimalist/e.src index 6a27eb943..9a23cc19c 100644 --- a/config/minimalist/e.src +++ b/config/minimalist/e.src @@ -1453,19 +1453,6 @@ group "E_Config" struct { value "menu_eap_generic_show" int: 1; value "menu_eap_comment_show" int: 0; value "fullscreen_policy" int: 0; - value "exebuf_max_exe_list" int: 20; - value "exebuf_max_eap_list" int: 20; - value "exebuf_max_hist_list" int: 20; - value "exebuf_scroll_animate" int: 1; - value "exebuf_scroll_speed" double: 0.1000000000000000055511151; - value "exebuf_pos_align_x" double: 0.5000000000000000000000000; - value "exebuf_pos_align_y" double: 0.5000000000000000000000000; - value "exebuf_pos_size_w" double: 0.7500000000000000000000000; - value "exebuf_pos_size_h" double: 0.2500000000000000000000000; - value "exebuf_pos_min_w" int: 200; - value "exebuf_pos_min_h" int: 160; - value "exebuf_pos_max_w" int: 400; - value "exebuf_pos_max_h" int: 320; value "exebuf_term_cmd" string: "xterm -hold -e"; value "use_app_icon" int: 0; value "cnfmdlg_disabled" int: 0; diff --git a/config/netbook/e.src b/config/netbook/e.src index c7894bdf2..0b86c01de 100644 --- a/config/netbook/e.src +++ b/config/netbook/e.src @@ -1517,19 +1517,6 @@ group "E_Config" struct { value "menu_eap_generic_show" int: 1; value "menu_eap_comment_show" int: 0; value "fullscreen_policy" int: 0; - value "exebuf_max_exe_list" int: 20; - value "exebuf_max_eap_list" int: 20; - value "exebuf_max_hist_list" int: 20; - value "exebuf_scroll_animate" int: 1; - value "exebuf_scroll_speed" double: 0.1000000000000000055511151; - value "exebuf_pos_align_x" double: 0.5000000000000000000000000; - value "exebuf_pos_align_y" double: 0.5000000000000000000000000; - value "exebuf_pos_size_w" double: 0.7500000000000000000000000; - value "exebuf_pos_size_h" double: 0.2500000000000000000000000; - value "exebuf_pos_min_w" int: 200; - value "exebuf_pos_min_h" int: 160; - value "exebuf_pos_max_w" int: 400; - value "exebuf_pos_max_h" int: 320; value "exebuf_term_cmd" string: "xterm -hold -e"; value "use_app_icon" int: 0; value "cnfmdlg_disabled" int: 0; diff --git a/config/standard/e.src b/config/standard/e.src index 09fa666f6..c6e1b53d0 100644 --- a/config/standard/e.src +++ b/config/standard/e.src @@ -1625,19 +1625,6 @@ group "E_Config" struct { value "menu_eap_generic_show" int: 1; value "menu_eap_comment_show" int: 0; value "fullscreen_policy" int: 0; - value "exebuf_max_exe_list" int: 20; - value "exebuf_max_eap_list" int: 20; - value "exebuf_max_hist_list" int: 20; - value "exebuf_scroll_animate" int: 1; - value "exebuf_scroll_speed" double: 0.1000000000000000055511151; - value "exebuf_pos_align_x" double: 0.5000000000000000000000000; - value "exebuf_pos_align_y" double: 0.5000000000000000000000000; - value "exebuf_pos_size_w" double: 0.7500000000000000000000000; - value "exebuf_pos_size_h" double: 0.2500000000000000000000000; - value "exebuf_pos_min_w" int: 200; - value "exebuf_pos_min_h" int: 160; - value "exebuf_pos_max_w" int: 400; - value "exebuf_pos_max_h" int: 320; value "exebuf_term_cmd" string: "xterm -hold -e"; value "use_app_icon" int: 0; value "cnfmdlg_disabled" int: 0; diff --git a/configure.ac b/configure.ac index dd42578bc..489b57ee4 100644 --- a/configure.ac +++ b/configure.ac @@ -476,7 +476,6 @@ AC_E_OPTIONAL_MODULE([temperature], true, [CHECK_MODULE_TEMPERATURE]) AC_E_OPTIONAL_MODULE([cpufreq], true) AC_E_OPTIONAL_MODULE([ibox], true) AC_E_OPTIONAL_MODULE([start], true) -AC_E_OPTIONAL_MODULE([exebuf], true) AC_E_OPTIONAL_MODULE([winlist], true) AC_E_OPTIONAL_MODULE([fileman], true) AC_E_OPTIONAL_MODULE([fileman_opinfo], true) @@ -518,7 +517,6 @@ AC_E_OPTIONAL_MODULE([conf_clientlist], true) AC_E_OPTIONAL_MODULE([conf_dialogs], true) AC_E_OPTIONAL_MODULE([conf_performance], true) AC_E_OPTIONAL_MODULE([conf_winlist], true) -AC_E_OPTIONAL_MODULE([conf_exebuf], true) AC_E_OPTIONAL_MODULE([conf_paths], true) AC_E_OPTIONAL_MODULE([conf_mime], true) AC_E_OPTIONAL_MODULE([conf_interaction], true) @@ -567,8 +565,6 @@ src/modules/ibox/Makefile src/modules/ibox/module.desktop src/modules/start/Makefile src/modules/start/module.desktop -src/modules/exebuf/Makefile -src/modules/exebuf/module.desktop src/modules/winlist/Makefile src/modules/winlist/module.desktop src/modules/fileman/Makefile @@ -651,8 +647,6 @@ src/modules/conf_performance/Makefile src/modules/conf_performance/module.desktop src/modules/conf_winlist/Makefile src/modules/conf_winlist/module.desktop -src/modules/conf_exebuf/Makefile -src/modules/conf_exebuf/module.desktop src/modules/conf_paths/Makefile src/modules/conf_paths/module.desktop src/modules/conf_mime/Makefile diff --git a/data/themes/default.edc b/data/themes/default.edc index fa78b8b7f..fc1414f11 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -33567,7 +33567,7 @@ collections { color3: 255 255 255 128; text { font: "Sans:style=Bold"; - size: 14; + size: 12; align: 0.0 0.5; min: 1 1; } diff --git a/po/POTFILES.in b/po/POTFILES.in index 58e3b102e..eb6a52083 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -156,8 +156,6 @@ src/modules/conf_edgebindings/e_int_config_edgebindings.c src/modules/conf_edgebindings/e_mod_main.c src/modules/conf_engine/e_int_config_engine.c src/modules/conf_engine/e_mod_main.c -src/modules/conf_exebuf/e_int_config_exebuf.c -src/modules/conf_exebuf/e_mod_main.c src/modules/conf_fonts/e_int_config_fonts.c src/modules/conf_fonts/e_mod_main.c src/modules/conf_icon_theme/e_int_config_icon_themes.c @@ -238,8 +236,6 @@ src/modules/everything-files/e_mod_main.c src/modules/everything-settings/e_mod_main.c src/modules/everything-wallpaper/e_mod_main.c src/modules/everything-windows/e_mod_main.c -src/modules/exebuf/e_mod_main.c -src/modules/exebuf/e_exebuf.c src/modules/fileman/e_mod_main.c src/modules/fileman/e_mod_config.c src/modules/fileman/e_fwin.c diff --git a/src/bin/e_config.c b/src/bin/e_config.c index 4492053fe..99d19b132 100644 --- a/src/bin/e_config.c +++ b/src/bin/e_config.c @@ -593,19 +593,6 @@ e_config_init(void) E_CONFIG_VAL(D, T, fullscreen_policy, INT); /**/ E_CONFIG_VAL(D, T, input_method, STR); /**/ E_CONFIG_LIST(D, T, path_append_messages, _e_config_path_append_edd); /**/ - E_CONFIG_VAL(D, T, exebuf_max_exe_list, INT); - E_CONFIG_VAL(D, T, exebuf_max_eap_list, INT); - E_CONFIG_VAL(D, T, exebuf_max_hist_list, INT); - E_CONFIG_VAL(D, T, exebuf_scroll_animate, INT); - E_CONFIG_VAL(D, T, exebuf_scroll_speed, DOUBLE); - E_CONFIG_VAL(D, T, exebuf_pos_align_x, DOUBLE); - E_CONFIG_VAL(D, T, exebuf_pos_align_y, DOUBLE); - E_CONFIG_VAL(D, T, exebuf_pos_size_w, DOUBLE); - E_CONFIG_VAL(D, T, exebuf_pos_size_h, DOUBLE); - E_CONFIG_VAL(D, T, exebuf_pos_min_w, INT); - E_CONFIG_VAL(D, T, exebuf_pos_min_h, INT); - E_CONFIG_VAL(D, T, exebuf_pos_max_w, INT); - E_CONFIG_VAL(D, T, exebuf_pos_max_h, INT); E_CONFIG_VAL(D, T, exebuf_term_cmd, STR); E_CONFIG_LIST(D, T, color_classes, _e_config_color_class_edd); E_CONFIG_VAL(D, T, use_app_icon, INT); diff --git a/src/bin/e_config.h b/src/bin/e_config.h index b616db9d4..222dfe3af 100644 --- a/src/bin/e_config.h +++ b/src/bin/e_config.h @@ -189,19 +189,6 @@ struct _E_Config int menu_favorites_show; // GUI int menu_apps_show; // GUI int fullscreen_policy; // GUI - int exebuf_max_exe_list; // GUI - int exebuf_max_eap_list; // GUI - int exebuf_max_hist_list; // GUI - int exebuf_scroll_animate; // GUI - double exebuf_scroll_speed; // GUI - double exebuf_pos_align_x; // GUI - double exebuf_pos_align_y; // GUI - double exebuf_pos_size_w; // GUI - double exebuf_pos_size_h; // GUI - int exebuf_pos_min_w; // GUI - int exebuf_pos_min_h; // GUI - int exebuf_pos_max_w; // GUI - int exebuf_pos_max_h; // GUI const char *exebuf_term_cmd; // GUI Eina_List *color_classes; // GUI int use_app_icon; // GUI diff --git a/src/bin/e_exehist.c b/src/bin/e_exehist.c index fbd8df335..3e3823296 100644 --- a/src/bin/e_exehist.c +++ b/src/bin/e_exehist.c @@ -208,7 +208,6 @@ e_exehist_sorted_list_get(E_Exehist_Sort sort_type, int max) int count = 1; E_Exehist_Item *prev = NULL; - if (!max) max = e_config->exebuf_max_hist_list; if (!max) max = 20; _e_exehist_load(); switch(sort_type) diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c index f873cd891..060853104 100644 --- a/src/bin/e_shelf.c +++ b/src/bin/e_shelf.c @@ -1518,7 +1518,7 @@ _e_shelf_cb_hide_animator(void *data) case E_GADCON_ORIENT_FLOAT: case E_GADCON_ORIENT_HORIZ: case E_GADCON_ORIENT_VERT: - break; + goto end; } step = (hide_max / e_config->framerate) / es->cfg->hide_duration; diff --git a/src/bin/e_utils.h b/src/bin/e_utils.h index f4940cf85..908e784fe 100644 --- a/src/bin/e_utils.h +++ b/src/bin/e_utils.h @@ -71,6 +71,7 @@ EAPI int e_util_dir_check(const char *dir); EAPI void e_util_defer_object_del(E_Object *obj); EAPI const char *e_util_winid_str_get(Ecore_X_Window win); EAPI void e_util_win_auto_resize_fill(E_Win *win); +EAPI Eina_Bool e_util_module_config_check(const char *module_name, int required, int version); EAPI E_Dialog *e_util_image_import_settings_new(const char *path, void (*cb)(void *data, const char *path, Eina_Bool ok, Eina_Bool external, int quality, E_Image_Import_Mode mode), const void *data); EAPI E_Util_Image_Import_Handle *e_util_image_import(const char *image_path, const char *edje_path, const char *edje_group, Eina_Bool external, int quality, E_Image_Import_Mode mode, void (*cb)(void *data, Eina_Bool ok, const char *image_path, const char *edje_path), const void *data); diff --git a/src/modules/Makefile.am b/src/modules/Makefile.am index 390f99bf2..033829e4b 100644 --- a/src/modules/Makefile.am +++ b/src/modules/Makefile.am @@ -38,10 +38,6 @@ if USE_MODULE_START SUBDIRS += start endif -if USE_MODULE_EXEBUF -SUBDIRS += exebuf -endif - if USE_MODULE_WINLIST SUBDIRS += winlist endif @@ -206,10 +202,6 @@ if USE_MODULE_CONF_WINLIST SUBDIRS += conf_winlist endif -if USE_MODULE_CONF_EXEBUF -SUBDIRS += conf_exebuf -endif - if USE_MODULE_CONF_PATHS SUBDIRS += conf_paths endif @@ -312,7 +304,6 @@ temperature \ cpufreq \ ibox \ start \ -exebuf \ winlist \ fileman \ fileman_opinfo \ @@ -354,7 +345,6 @@ conf_clientlist \ conf_dialogs \ conf_performance \ conf_winlist \ -conf_exebuf \ conf_paths \ conf_mime \ conf_interaction \ diff --git a/src/modules/conf_exebuf/.cvsignore b/src/modules/conf_exebuf/.cvsignore deleted file mode 100644 index 06d064a84..000000000 --- a/src/modules/conf_exebuf/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -.deps -.libs -Makefile -Makefile.in -*.lo -module.la -module.desktop diff --git a/src/modules/conf_exebuf/Makefile.am b/src/modules/conf_exebuf/Makefile.am deleted file mode 100644 index f8302178f..000000000 --- a/src/modules/conf_exebuf/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in -MODULE = conf_exebuf - -# data files for the module -filesdir = $(libdir)/enlightenment/modules/$(MODULE) -files_DATA = \ -e-module-$(MODULE).edj module.desktop - -EXTRA_DIST = $(files_DATA) - -# the module .so file -INCLUDES = -I. \ - -I$(top_srcdir) \ - -I$(top_srcdir)/src/modules/$(MODULE) \ - -I$(top_srcdir)/src/bin \ - -I$(top_srcdir)/src/lib \ - -I$(top_srcdir)/src/modules \ - @e_cflags@ -pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH) -pkg_LTLIBRARIES = module.la -module_la_SOURCES = e_mod_main.c \ - e_mod_main.h \ - e_int_config_exebuf.c \ - e_int_config_exebuf.h - -module_la_LIBADD = @e_libs@ @dlopen_libs@ -module_la_LDFLAGS = -module -avoid-version -module_la_DEPENDENCIES = $(top_builddir)/config.h - -uninstall: - rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE) diff --git a/src/modules/conf_exebuf/e-module-conf_exebuf.edj b/src/modules/conf_exebuf/e-module-conf_exebuf.edj deleted file mode 100644 index 98c5eef7f..000000000 Binary files a/src/modules/conf_exebuf/e-module-conf_exebuf.edj and /dev/null differ diff --git a/src/modules/conf_exebuf/e_int_config_exebuf.c b/src/modules/conf_exebuf/e_int_config_exebuf.c deleted file mode 100644 index d5e463cf8..000000000 --- a/src/modules/conf_exebuf/e_int_config_exebuf.c +++ /dev/null @@ -1,293 +0,0 @@ -#include "e.h" - -/* local function prototypes */ -static void *_create_data(E_Config_Dialog *cfd __UNUSED__); -static void _fill_data(E_Config_Dialog_Data *cfdata); -static void _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata); -static int _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata); -static Evas_Object *_basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data *cfdata); -static int _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata); -static int _adv_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata); -static Evas_Object *_adv_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data *cfdata); -static int _adv_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata); -static void _cb_animate_changed(void *data, Evas_Object *obj __UNUSED__); - -struct _E_Config_Dialog_Data -{ - /* Basic */ - int max_exe_list, max_eap_list, max_hist_list; - int scroll_animate; - /* Advanced */ - double scroll_speed, pos_align_x, pos_align_y; - double pos_size_w, pos_size_h; - int pos_min_w, pos_min_h, pos_max_w, pos_max_h; - char *term_cmd; - struct - { - Evas_Object *scroll_speed_lbl, *scroll_speed_slider; - } gui; -}; - -E_Config_Dialog * -e_int_config_exebuf(E_Container *con, const char *params __UNUSED__) -{ - E_Config_Dialog *cfd; - E_Config_Dialog_View *v; - - if (e_config_dialog_find("E", "advanced/run_command")) return NULL; - - v = E_NEW(E_Config_Dialog_View, 1); - v->create_cfdata = _create_data; - v->free_cfdata = _free_data; - v->basic.create_widgets = _basic_create; - v->basic.apply_cfdata = _basic_apply; - v->basic.check_changed = _basic_check_changed; - v->advanced.create_widgets = _adv_create; - v->advanced.apply_cfdata = _adv_apply; - v->advanced.check_changed = _adv_check_changed; - - cfd = e_config_dialog_new(con, _("Run Command Settings"), "E", - "advanced/run_command", "system-run", 0, v, NULL); - return cfd; -} - -/* local function prototypes */ -static void * -_create_data(E_Config_Dialog *cfd __UNUSED__) -{ - E_Config_Dialog_Data *cfdata; - - cfdata = E_NEW(E_Config_Dialog_Data, 1); - _fill_data(cfdata); - return cfdata; -} - -static void -_fill_data(E_Config_Dialog_Data *cfdata) -{ - cfdata->max_exe_list = e_config->exebuf_max_exe_list; - cfdata->max_eap_list = e_config->exebuf_max_eap_list; - cfdata->max_hist_list = e_config->exebuf_max_hist_list; - cfdata->scroll_animate = e_config->exebuf_scroll_animate; - cfdata->scroll_speed = e_config->exebuf_scroll_speed; - cfdata->pos_align_x = e_config->exebuf_pos_align_x; - cfdata->pos_align_y = e_config->exebuf_pos_align_y; - cfdata->pos_size_w = e_config->exebuf_pos_size_w; - cfdata->pos_size_h = e_config->exebuf_pos_size_h; - cfdata->pos_min_w = e_config->exebuf_pos_min_w; - cfdata->pos_min_h = e_config->exebuf_pos_min_h; - cfdata->pos_max_w = e_config->exebuf_pos_max_w; - cfdata->pos_max_h = e_config->exebuf_pos_max_h; - if (e_config->exebuf_term_cmd) - cfdata->term_cmd = strdup(e_config->exebuf_term_cmd); -} - -static void -_free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) -{ - E_FREE(cfdata->term_cmd); - E_FREE(cfdata); -} - -static int -_basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) -{ - e_config->exebuf_max_exe_list = cfdata->max_exe_list; - e_config->exebuf_max_eap_list = cfdata->max_eap_list; - e_config->exebuf_max_hist_list = cfdata->max_hist_list; - e_config->exebuf_scroll_animate = cfdata->scroll_animate; - e_config_save_queue(); - return 1; -} - -static Evas_Object * -_basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data *cfdata) -{ - Evas_Object *o, *of, *ow; - - o = e_widget_list_add(evas, 0, 0); - - of = e_widget_framelist_add(evas, _("General"), 0); - ow = e_widget_label_add(evas, _("Maximum Apps to List")); - e_widget_framelist_object_append(of, ow); - ow = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 10, 50, 5, 0, NULL, - &(cfdata->max_eap_list), 100); - e_widget_framelist_object_append(of, ow); - ow = e_widget_label_add(evas, _("Maximum Exes to List")); - e_widget_framelist_object_append(of, ow); - ow = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 10, 50, 5, 0, NULL, - &(cfdata->max_exe_list), 100); - e_widget_framelist_object_append(of, ow); - ow = e_widget_label_add(evas, _("Maximum History to List")); - e_widget_framelist_object_append(of, ow); - ow = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 10, 200, 5, 0, NULL, - &(cfdata->max_hist_list), 100); - e_widget_framelist_object_append(of, ow); - e_widget_list_object_append(o, of, 1, 0, 0.5); - - of = e_widget_framelist_add(evas, _("Animations"), 0); - ow = e_widget_check_add(evas, _("Animate"), &(cfdata->scroll_animate)); - e_widget_framelist_object_append(of, ow); - e_widget_list_object_append(o, of, 1, 0, 0.5); - - return o; -} - -static int -_basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) -{ -#define CHK_CHG(_e_config, _cfdata) \ - if (e_config->exebuf_##_e_config != cfdata->_cfdata) return 1; - - CHK_CHG(max_exe_list, max_exe_list); - CHK_CHG(max_eap_list, max_eap_list); - CHK_CHG(max_hist_list, max_hist_list); - CHK_CHG(scroll_animate, scroll_animate); - -#undef CHK_CHG - - return 0; -} - -static int -_adv_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) -{ - e_config->exebuf_max_exe_list = cfdata->max_exe_list; - e_config->exebuf_max_eap_list = cfdata->max_eap_list; - e_config->exebuf_max_hist_list = cfdata->max_hist_list; - e_config->exebuf_scroll_animate = cfdata->scroll_animate; - e_config->exebuf_scroll_speed = cfdata->scroll_speed; - e_config->exebuf_pos_align_x = cfdata->pos_align_x; - e_config->exebuf_pos_align_y = cfdata->pos_align_y; - e_config->exebuf_pos_min_w = cfdata->pos_min_w; - e_config->exebuf_pos_min_h = cfdata->pos_min_h; - e_config->exebuf_pos_max_w = cfdata->pos_max_w; - e_config->exebuf_pos_max_h = cfdata->pos_max_h; - eina_stringshare_replace(&e_config->exebuf_term_cmd, cfdata->term_cmd); - e_config_save_queue(); - return 1; -} - -static Evas_Object * -_adv_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data *cfdata) -{ - Evas_Object *otb, *ol, *ow; - - otb = e_widget_toolbook_add(evas, (48 * e_scale), (48 * e_scale)); - - /* General Page */ - ol = e_widget_list_add(evas, 0, 0); - ow = e_widget_label_add(evas, _("Maximum Apps to List")); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 10, 50, 5, 0, NULL, - &(cfdata->max_eap_list), 100); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_label_add(evas, _("Maximum Exes to List")); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 10, 50, 5, 0, NULL, - &(cfdata->max_exe_list), 100); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_label_add(evas, _("Maximum History to List")); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 10, 200, 5, 0, NULL, - &(cfdata->max_hist_list), 100); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - e_widget_toolbook_page_append(otb, NULL, _("General"), ol, 1, 0, 1, 0, - 0.5, 0.0); - - /* Scroll Page */ - ol = e_widget_list_add(evas, 0, 0); - ow = e_widget_check_add(evas, _("Animate"), &(cfdata->scroll_animate)); - e_widget_on_change_hook_set(ow, _cb_animate_changed, cfdata); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_label_add(evas, _("Speed")); - cfdata->gui.scroll_speed_lbl = ow; - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_slider_add(evas, 1, 0, _("%1.2f"), 0.0, 1.0, 0.01, 0, - &(cfdata->scroll_speed), NULL, 100); - cfdata->gui.scroll_speed_slider = ow; - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - e_widget_toolbook_page_append(otb, NULL, _("Animations"), ol, 1, 0, 1, 0, - 0.5, 0.0); - - /* Size Page */ - ol = e_widget_list_add(evas, 0, 0); - ow = e_widget_label_add(evas, _("Minimum Width")); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_slider_add(evas, 1, 0, _("%4.0f"), 0, 4000, 50, 0, - NULL, &(cfdata->pos_min_w), 100); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_label_add(evas, _("Minimum Height")); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_slider_add(evas, 1, 0, _("%4.0f"), 0, 4000, 50, 0, - NULL, &(cfdata->pos_min_h), 100); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_label_add(evas, _("Maximum Width")); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_slider_add(evas, 1, 0, _("%4.0f"), 0, 4000, 50, 0, - NULL, &(cfdata->pos_max_w), 100); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_label_add(evas, _("Maximum Height")); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_slider_add(evas, 1, 0, _("%4.0f"), 0, 4000, 50, 0, - NULL, &(cfdata->pos_max_h), 100); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_label_add(evas, _("X-Axis Alignment")); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_slider_add(evas, 1, 0, _("%1.2f"), 0.0, 1.0, 0.01, 0, - &(cfdata->pos_align_x), NULL, 100); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_label_add(evas, _("Y-Axis Alignment")); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_slider_add(evas, 1, 0, _("%1.2f"), 0.0, 1.0, 0.01, 0, - &(cfdata->pos_align_y), NULL, 100); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - e_widget_toolbook_page_append(otb, NULL, _("Geometry"), ol, 1, 0, 1, 0, - 0.5, 0.0); - - /* Terminal Page */ - ol = e_widget_list_add(evas, 0, 0); - ow = e_widget_label_add(evas, _("Command (CTRL+RETURN to utilize)")); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - ow = e_widget_entry_add(evas, &(cfdata->term_cmd), NULL, NULL, NULL); - e_widget_list_object_append(ol, ow, 1, 0, 0.5); - e_widget_toolbook_page_append(otb, NULL, _("Terminal"), ol, 1, 0, 1, 0, - 0.5, 0.0); - - e_widget_toolbook_page_show(otb, 0); - return otb; -} - -static int -_adv_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) -{ -#define CHK_CHG(_e_config, _cfdata) \ - if (e_config->exebuf_##_e_config != cfdata->_cfdata) return 1; - - CHK_CHG(max_exe_list, max_exe_list); - CHK_CHG(max_eap_list, max_eap_list); - CHK_CHG(max_hist_list, max_hist_list); - CHK_CHG(scroll_animate, scroll_animate); - CHK_CHG(scroll_speed, scroll_speed); - CHK_CHG(pos_align_x, pos_align_x); - CHK_CHG(pos_align_y, pos_align_y); - CHK_CHG(pos_min_w, pos_min_w); - CHK_CHG(pos_min_h, pos_min_h); - CHK_CHG(pos_max_w, pos_max_w); - CHK_CHG(pos_max_h, pos_max_h); - - if (strcmp(e_config->exebuf_term_cmd, cfdata->term_cmd)) return 1; -#undef CHK_CHG - - return 0; -} - -static void -_cb_animate_changed(void *data, Evas_Object *obj __UNUSED__) -{ - E_Config_Dialog_Data *cfdata; - - if (!(cfdata = data)) return; - e_widget_disabled_set(cfdata->gui.scroll_speed_lbl, !cfdata->scroll_animate); - e_widget_disabled_set(cfdata->gui.scroll_speed_slider, !cfdata->scroll_animate); -} diff --git a/src/modules/conf_exebuf/e_int_config_exebuf.h b/src/modules/conf_exebuf/e_int_config_exebuf.h deleted file mode 100644 index 710308b2b..000000000 --- a/src/modules/conf_exebuf/e_int_config_exebuf.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifdef E_TYPEDEFS -#else -#ifndef E_INT_CONFIG_EXEBUF_H -#define E_INT_CONFIG_EXEBUF_H - -E_Config_Dialog *e_int_config_exebuf(E_Container *con, const char *params __UNUSED__); - -#endif -#endif diff --git a/src/modules/conf_exebuf/e_mod_main.c b/src/modules/conf_exebuf/e_mod_main.c deleted file mode 100644 index b3587c74f..000000000 --- a/src/modules/conf_exebuf/e_mod_main.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 - */ -#include "e.h" -#include "e_mod_main.h" - -/* actual module specifics */ -static E_Module *conf_module = NULL; - -/* module setup */ -EAPI E_Module_Api e_modapi = -{ - E_MODULE_API_VERSION, - "Settings - Run Command" -}; - -EAPI void * -e_modapi_init(E_Module *m) -{ - e_configure_registry_category_add("advanced", 80, _("Advanced"), NULL, "preferences-advanced"); - e_configure_registry_item_add("advanced/run_command", 40, _("Run Command"), NULL, "system-run", e_int_config_exebuf); - conf_module = m; - e_module_delayed_set(m, 1); - return m; -} - -EAPI int -e_modapi_shutdown(E_Module *m) -{ - E_Config_Dialog *cfd; - while ((cfd = e_config_dialog_get("E", "advanced/run_command"))) e_object_del(E_OBJECT(cfd)); - e_configure_registry_item_del("advanced/run_command"); - e_configure_registry_category_del("advanced"); - conf_module = NULL; - return 1; -} - -EAPI int -e_modapi_save(E_Module *m) -{ - return 1; -} diff --git a/src/modules/conf_exebuf/e_mod_main.h b/src/modules/conf_exebuf/e_mod_main.h deleted file mode 100644 index 4229ba055..000000000 --- a/src/modules/conf_exebuf/e_mod_main.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 - */ -#ifndef E_MOD_MAIN_H -#define E_MOD_MAIN_H - -#define E_TYPEDEFS 1 -#include "e_int_config_exebuf.h" - -#undef E_TYPEDEFS -#include "e_int_config_exebuf.h" - -EAPI extern E_Module_Api e_modapi; - -EAPI void *e_modapi_init (E_Module *m); -EAPI int e_modapi_shutdown (E_Module *m); -EAPI int e_modapi_save (E_Module *m); - -#endif diff --git a/src/modules/conf_exebuf/module.desktop.in b/src/modules/conf_exebuf/module.desktop.in deleted file mode 100644 index 74ff07db9..000000000 --- a/src/modules/conf_exebuf/module.desktop.in +++ /dev/null @@ -1,32 +0,0 @@ -[Desktop Entry] -Type=Link -Name=Settings - Run Command -Name[cs]=Nastavení - dialog Spustit -Name[de]= -Name[eo]=Agordo - Lanĉi komandon -Name[es]=Configuración - Ejecutar comando -Name[fr]=Configuration - Ligne de commande -Name[hu]=Beállítások - Parancs futtatása -Name[it]=Configurazione - Lanciacomandi -Name[ja]= -Name[pt]= -Name[pt_BR]= -Name[tr]=Ayarlar - Komut Çalıştır -Name[zh_CN]= -Name[zh_TW]= -Icon=e-module-conf_exebuf -Comment=Used to configure the settings of the run command GUI. -Comment[cs]=Použit pro nastavení voleb dialogu Spustit. -Comment[de]= -Comment[eo]=Agordi la parametrojn de la uzulinterfaco por la lanĉo de komandoj. -Comment[es]=Usado para configurar las opciones de la GUI para ejecutar un comando. -Comment[fr]=Permet de configurer l'interface de l'exécution de commande. -Comment[hu]=Itt beállíthadot a "Parancs futtatása" ablak tulajdonságait. -Comment[it]=Usato per configurare le impostazioni della GUI per l'esecuzione di comandi. -Comment[ja]= -Comment[pt]= -Comment[pt_BR]= -Comment[tr]=Komut çalıştırma arayüzünün ayarlarını yapılandırır. -Comment[zh_CN]= -Comment[zh_TW]= -X-Enlightenment-ModuleType=config diff --git a/src/modules/conf_keybindings/e_int_config_keybindings.c b/src/modules/conf_keybindings/e_int_config_keybindings.c index 86dd319fe..f4b0f2189 100644 --- a/src/modules/conf_keybindings/e_int_config_keybindings.c +++ b/src/modules/conf_keybindings/e_int_config_keybindings.c @@ -581,7 +581,7 @@ _restore_key_binding_defaults_cb(void *data, void *data2) "logout", NULL); CFG_KEYBIND_DFLT(E_BINDING_CONTEXT_ANY, "Escape", E_BINDING_MODIFIER_ALT, 0, - "exebuf", NULL); + "everything", NULL); CFG_KEYBIND_DFLT(E_BINDING_CONTEXT_ANY, "l", E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0, "desk_lock", NULL); diff --git a/src/modules/exebuf/.cvsignore b/src/modules/exebuf/.cvsignore deleted file mode 100644 index 06d064a84..000000000 --- a/src/modules/exebuf/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -.deps -.libs -Makefile -Makefile.in -*.lo -module.la -module.desktop diff --git a/src/modules/exebuf/Makefile.am b/src/modules/exebuf/Makefile.am deleted file mode 100644 index de32f8ed7..000000000 --- a/src/modules/exebuf/Makefile.am +++ /dev/null @@ -1,31 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in -MODULE = exebuf - -# data files for the module -filesdir = $(libdir)/enlightenment/modules/$(MODULE) -files_DATA = \ -e-module-$(MODULE).edj module.desktop - -EXTRA_DIST = $(files_DATA) - -# the module .so file -INCLUDES = -I. \ - -I$(top_srcdir) \ - -I$(top_srcdir)/src/modules/$(MODULE) \ - -I$(top_srcdir)/src/bin \ - -I$(top_srcdir)/src/lib \ - -I$(top_srcdir)/src/modules \ - @e_cflags@ -pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH) -pkg_LTLIBRARIES = module.la -module_la_SOURCES = e_mod_main.c \ - e_mod_main.h \ - e_exebuf.c \ - e_exebuf.h - -module_la_LIBADD = @e_libs@ @dlopen_libs@ -module_la_LDFLAGS = -module -avoid-version -module_la_DEPENDENCIES = $(top_builddir)/config.h - -uninstall: - rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE) diff --git a/src/modules/exebuf/e-module-exebuf.edj b/src/modules/exebuf/e-module-exebuf.edj deleted file mode 100644 index 98c5eef7f..000000000 Binary files a/src/modules/exebuf/e-module-exebuf.edj and /dev/null differ diff --git a/src/modules/exebuf/e_exebuf.c b/src/modules/exebuf/e_exebuf.c deleted file mode 100644 index 8cc251dbc..000000000 --- a/src/modules/exebuf/e_exebuf.c +++ /dev/null @@ -1,1727 +0,0 @@ -/* - * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 - */ -#include "e.h" -#include "e_mod_main.h" - -/* currently default bind is alt+esc but alt+space has been suggested */ - -/* local subsystem functions */ -typedef struct _E_Exebuf_Exe E_Exebuf_Exe; - -struct _E_Exebuf_Exe -{ - Evas_Object *bg_object; - Evas_Object *icon_object; - Efreet_Desktop *desktop; - char *file; -}; - -typedef struct _E_Exe E_Exe; -typedef struct _E_Exe_List E_Exe_List; - -struct _E_Exe -{ - const char *path; -}; - -struct _E_Exe_List -{ - Eina_List *list; -}; - -static void _e_exebuf_exe_free(E_Exebuf_Exe *exe); -static void _e_exebuf_matches_clear(void); -static int _e_exebuf_cb_sort_eap(const void *data1, const void *data2); -static int _e_exebuf_cb_sort_exe(const void *data1, const void *data2); -static void _e_exebuf_update(void); -static void _e_exebuf_exec(void); -static void _e_exebuf_exec_term(void); -static void _e_exebuf_exe_sel(E_Exebuf_Exe *exe); -static void _e_exebuf_exe_desel(E_Exebuf_Exe *exe); -static void _e_exebuf_exe_scroll_to(int i); -static void _e_exebuf_eap_scroll_to(int i); -static void _e_exebuf_next(void); -static void _e_exebuf_prev(void); -static void _e_exebuf_complete(void); -static void _e_exebuf_backspace(void); -static void _e_exebuf_clear(void); -static void _e_exebuf_matches_update(void); -static void _e_exebuf_hist_update(Eina_List *hist_matches); -static void _e_exebuf_hist_clear(void); -static void _e_exebuf_cb_eap_item_mouse_in(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void _e_exebuf_cb_eap_item_mouse_out(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void _e_exebuf_cb_exe_item_mouse_in(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void _e_exebuf_cb_exe_item_mouse_out(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static int _e_exebuf_cb_key_down(void *data, int type, void *event); -static int _e_exebuf_cb_mouse_down(void *data, int type, void *event); -static int _e_exebuf_cb_mouse_up(void *data, int type, void *event); -static int _e_exebuf_cb_mouse_move(void *data, int type, void *event); -static int _e_exebuf_cb_mouse_wheel(void *data, int type, void *event); -static int _e_exebuf_exe_scroll_timer(void *data); -static int _e_exebuf_eap_scroll_timer(void *data); -static int _e_exebuf_animator(void *data); -static int _e_exebuf_idler(void *data); -static int _e_exebuf_update_timer(void *data); - -/* local subsystem globals */ -static E_Config_DD *exelist_exe_edd = NULL; -static E_Config_DD *exelist_edd = NULL; -static E_Popup *exebuf = NULL; -static Evas_Object *bg_object = NULL; -static Evas_Object *icon_object = NULL; -static Evas_Object *exe_list_object = NULL; -static Evas_Object *eap_list_object = NULL; -static Eina_List *handlers = NULL; -static Ecore_X_Window input_window = 0; -static char *cmd_buf = NULL; -static Eina_List *history = NULL; -static Eina_List *eap_matches = NULL; -static Eina_List *exe_matches = NULL; -static Eina_List *exe_path = NULL; -static DIR *exe_dir = NULL; -static Eina_List *exe_list = NULL; -static Eina_List *exe_list2 = NULL; -static Ecore_Idler *exe_list_idler = NULL; -static Eina_List *exes = NULL; -static Eina_List *eaps = NULL; -#define NO_LIST 0 -#define EAP_LIST 1 -#define EXE_LIST 2 -#define HIST_LIST 3 -static int which_list = NO_LIST; -static E_Exebuf_Exe *exe_sel = NULL; -static int exe_scroll_to = 0; -static double exe_scroll_align_to = 0.0; -static double exe_scroll_align = 0.0; -static Ecore_Timer *exe_scroll_timer = NULL; -static int eap_scroll_to = 0; -static double eap_scroll_align_to = 0.0; -static double eap_scroll_align = 0.0; -static Ecore_Timer *eap_scroll_timer = NULL; -static Ecore_Animator *animator = NULL; -static Ecore_Timer *update_timer = NULL; -static int ev_last_is_mouse = 1; -static E_Exebuf_Exe *ev_last_mouse_exe = NULL; -static int ev_last_which_list = NO_LIST; - -#define MATCH_LAG 0.33 -#define EXEBUFLEN 2048 - -/* externally accessible functions */ -int -e_exebuf_init(void) -{ - exelist_exe_edd = E_CONFIG_DD_NEW("E_Exe", E_Exe); -#undef T -#undef D -#define T E_Exe -#define D exelist_exe_edd - E_CONFIG_VAL(D, T, path, STR); - - exelist_edd = E_CONFIG_DD_NEW("E_Exe_List", E_Exe_List); -#undef T -#undef D -#define T E_Exe_List -#define D exelist_edd - E_CONFIG_LIST(D, T, list, exelist_exe_edd); - - return 1; -} - -int -e_exebuf_shutdown(void) -{ - E_CONFIG_DD_FREE(exelist_edd); - E_CONFIG_DD_FREE(exelist_exe_edd); - e_exebuf_hide(); - return 1; -} - -int -e_exebuf_show(E_Zone *zone) -{ - Evas_Object *o; - int x, y, w, h; - Evas_Coord mw, mh; - char *path, *p, *last; - E_Exe_List *el; - - E_OBJECT_CHECK_RETURN(zone, 0); - E_OBJECT_TYPE_CHECK_RETURN(zone, E_ZONE_TYPE, 0); - - if (exebuf) return 0; - - input_window = ecore_x_window_input_new(zone->container->win, zone->x, - zone->y, zone->w, zone->h); - ecore_x_window_show(input_window); - if (!e_grabinput_get(input_window, 1, input_window)) - { - ecore_x_window_free(input_window); - input_window = 0; - return 0; - } - - x = zone->x + 20; - y = zone->y + 20 + ((zone->h - 20 - 20 - 20) / 2); - w = zone->w - 20 - 20; - h = 20; - - exebuf = e_popup_new(zone, x, y, w, h); - if (!exebuf) return 0; - - cmd_buf = malloc(EXEBUFLEN); - if (!cmd_buf) - { - e_object_del(E_OBJECT(exebuf)); - return 0; - } - cmd_buf[0] = 0; - - e_popup_layer_set(exebuf, 255); - evas_event_freeze(exebuf->evas); - evas_event_feed_mouse_in(exebuf->evas, ecore_x_current_time_get(), NULL); - evas_event_feed_mouse_move(exebuf->evas, -1000000, -1000000, ecore_x_current_time_get(), NULL); - o = edje_object_add(exebuf->evas); - bg_object = o; - e_theme_edje_object_set(o, "base/theme/exebuf", - "e/widgets/exebuf/main"); - edje_object_part_text_set(o, "e.text.label", cmd_buf); - - o = e_box_add(exebuf->evas); - exe_list_object = o; - e_box_align_set(o, 0.5, 1.0); - e_box_orientation_set(o, 0); - e_box_homogenous_set(o, 1); - edje_object_part_swallow(bg_object, "e.swallow.exe_list", o); - evas_object_show(o); - - o = e_box_add(exebuf->evas); - eap_list_object = o; - e_box_align_set(o, 0.5, 0.0); - e_box_orientation_set(o, 0); - e_box_homogenous_set(o, 1); - edje_object_part_swallow(bg_object, "e.swallow.eap_list", o); - evas_object_show(o); - - o = bg_object; - edje_object_size_min_calc(o, &mw, &mh); - - w = (double)zone->w * e_config->exebuf_pos_size_w; - if (w > e_config->exebuf_pos_max_w) w = e_config->exebuf_pos_max_w; - else if (w < e_config->exebuf_pos_min_w) w = e_config->exebuf_pos_min_w; - if (w < mw) w = mw; - if (w > zone->w) w = zone->w; - x = (double)(zone->w - w) * e_config->exebuf_pos_align_x; - - h = (double)zone->h * e_config->exebuf_pos_size_h; - if (h > e_config->exebuf_pos_max_h) h = e_config->exebuf_pos_max_h; - else if (h < e_config->exebuf_pos_min_h) h = e_config->exebuf_pos_min_h; - if (h < mh) h = mh; - if (h > zone->h) h = zone->h; - y = (double)(zone->h - h) * e_config->exebuf_pos_align_y; - - e_popup_move_resize(exebuf, x, y, w, h); - evas_object_move(o, 0, 0); - evas_object_resize(o, w, h); - evas_object_show(o); - e_popup_edje_bg_object_set(exebuf, o); - - evas_event_thaw(exebuf->evas); - - handlers = eina_list_append - (handlers, ecore_event_handler_add - (ECORE_EVENT_KEY_DOWN, _e_exebuf_cb_key_down, NULL)); - handlers = eina_list_append - (handlers, ecore_event_handler_add - (ECORE_EVENT_MOUSE_BUTTON_DOWN, _e_exebuf_cb_mouse_down, NULL)); - handlers = eina_list_append - (handlers, ecore_event_handler_add - (ECORE_EVENT_MOUSE_BUTTON_UP, _e_exebuf_cb_mouse_up, NULL)); - handlers = eina_list_append - (handlers, ecore_event_handler_add - (ECORE_EVENT_MOUSE_MOVE, _e_exebuf_cb_mouse_move, NULL)); - handlers = eina_list_append - (handlers, ecore_event_handler_add - (ECORE_EVENT_MOUSE_WHEEL, _e_exebuf_cb_mouse_wheel, NULL)); - - el = e_config_domain_load("exebuf_exelist_cache", exelist_edd); - if (el) - { - E_Exe *ee; - - EINA_LIST_FREE(el->list, ee) - { - exe_list = eina_list_append(exe_list, strdup(ee->path)); - eina_stringshare_del(ee->path); - free(ee); - } - free(el); - } - path = getenv("PATH"); - if (path) - { - path = strdup(path); - last = path; - for (p = path; p[0]; p++) - { - if (p[0] == ':') p[0] = '\0'; - if (p[0] == 0) - { - exe_path = eina_list_append(exe_path, strdup(last)); - last = p + 1; - } - } - if (p > last) - exe_path = eina_list_append(exe_path, strdup(last)); - free(path); - } - exe_list_idler = ecore_idler_add(_e_exebuf_idler, NULL); - - e_popup_show(exebuf); - return 1; -} - -void -e_exebuf_hide(void) -{ - Ecore_Event_Handler *ev; - char *str; - - if (!exebuf) return; - - evas_event_freeze(exebuf->evas); - _e_exebuf_matches_clear(); - e_popup_hide(exebuf); - if (exe_scroll_timer) ecore_timer_del(exe_scroll_timer); - exe_scroll_timer = NULL; - if (eap_scroll_timer) ecore_timer_del(eap_scroll_timer); - eap_scroll_timer = NULL; - if (animator) ecore_animator_del(animator); - if (update_timer) ecore_timer_del(update_timer); - update_timer = NULL; - animator = NULL; - exe_scroll_to = 0; - exe_scroll_align_to = 0.0; - exe_scroll_align = 0.0; - eap_scroll_to = 0; - eap_scroll_align_to = 0.0; - eap_scroll_align = 0.0; - evas_object_del(eap_list_object); - eap_list_object = NULL; - evas_object_del(exe_list_object); - exe_list_object = NULL; - evas_object_del(bg_object); - bg_object = NULL; - if (icon_object) evas_object_del(icon_object); - icon_object = NULL; - evas_event_thaw(exebuf->evas); - e_object_del(E_OBJECT(exebuf)); - exebuf = NULL; - - EINA_LIST_FREE(handlers, ev) - ecore_event_handler_del(ev); - - ecore_x_window_free(input_window); - e_grabinput_release(input_window, input_window); - input_window = 0; - free(cmd_buf); - cmd_buf = NULL; - if (exe_dir) - { - closedir(exe_dir); - exe_dir = NULL; - } - EINA_LIST_FREE(exe_path, str) - free(str); - - if (exe_list_idler) - { - ecore_idler_del(exe_list_idler); - exe_list_idler = NULL; - } - EINA_LIST_FREE(exe_list, str) - free(str); - EINA_LIST_FREE(exe_list2, str) - free(str); - history = eina_list_free(history); - which_list = NO_LIST; - exe_sel = NULL; -} - -/* local subsystem functions */ - -static void -_e_exebuf_exe_free(E_Exebuf_Exe *exe) -{ - if (ev_last_mouse_exe == exe) - ev_last_mouse_exe = NULL; - - evas_object_del(exe->bg_object); - if (exe->icon_object) evas_object_del(exe->icon_object); - if (exe->desktop) efreet_desktop_free(exe->desktop); - free(exe); -} - -static void -_e_exebuf_matches_clear(void) -{ - Efreet_Desktop *desktop; - E_Exebuf_Exe *exe; - char *file; - - EINA_LIST_FREE(eap_matches, desktop) - efreet_desktop_free(desktop); - EINA_LIST_FREE(exe_matches, file) - free(file); - - evas_event_freeze(exebuf->evas); - e_box_freeze(eap_list_object); - e_box_freeze(exe_list_object); - EINA_LIST_FREE(exes, exe) - _e_exebuf_exe_free(exe); - EINA_LIST_FREE(eaps, exe) - _e_exebuf_exe_free(exe); - e_box_thaw(exe_list_object); - e_box_thaw(eap_list_object); - evas_event_thaw(exebuf->evas); - - e_box_align_set(eap_list_object, 0.5, 0.0); - e_box_align_set(exe_list_object, 0.5, 1.0); - exe_sel = NULL; - which_list = NO_LIST; -} - -static void -_e_exebuf_update(void) -{ - Efreet_Desktop *desktop; - Evas_Object *o; - - edje_object_part_text_set(bg_object, "e.text.label", cmd_buf); - if (icon_object) evas_object_del(icon_object); - icon_object = NULL; - - if (!cmd_buf[0]) return; - - desktop = efreet_util_desktop_exec_find(cmd_buf); - fprintf(stderr, "0 %p\n", desktop); - if (desktop) fprintf(stderr, "[%s]\n", desktop->icon); - if (!desktop) desktop = efreet_util_desktop_name_find(cmd_buf); - fprintf(stderr, "1 %p\n", desktop); - if (desktop) fprintf(stderr, "[%s]\n", desktop->icon); - if (!desktop) desktop = efreet_util_desktop_generic_name_find(cmd_buf); - fprintf(stderr, "2 %p\n", desktop); - if (desktop) fprintf(stderr, "[%s]\n", desktop->icon); - if (desktop) - { - o = e_util_desktop_icon_add(desktop, 24, exebuf->evas); - icon_object = o; - edje_object_part_swallow(bg_object, "e.swallow.icons", o); - evas_object_show(o); - efreet_desktop_free(desktop); - } -} - -static void -_e_exebuf_exec(void) -{ - if (exe_sel) - { - if (exe_sel->desktop && which_list != EXE_LIST) - e_exec(exebuf->zone, exe_sel->desktop, NULL, NULL, "exebuf"); - else - e_exec(exebuf->zone, NULL, exe_sel->file, NULL, "exebuf"); - } - else - e_exec(exebuf->zone, NULL, cmd_buf, NULL, "exebuf"); - - e_exebuf_hide(); -} - -static void -_e_exebuf_exec_term(void) -{ - char tmp[EXEBUFLEN]; - const char *active_cmd = NULL; - - if (exe_sel) - { - if (exe_sel->desktop) - e_exec(exebuf->zone, exe_sel->desktop, NULL, NULL, "exebuf"); - else - active_cmd = exe_sel->file; - } - else - active_cmd = cmd_buf; - - if (active_cmd && active_cmd[0]) - { - /* Copy the terminal command to the start of the string... - * making sure it has a null terminator if greater than EXEBUFLEN */ - snprintf(tmp, EXEBUFLEN, "%s %s", e_config->exebuf_term_cmd, active_cmd); - e_exec(exebuf->zone, NULL, tmp, NULL, "exebuf"); - } - - e_exebuf_hide(); -} - -static void -_e_exebuf_exe_sel(E_Exebuf_Exe *exe) -{ - edje_object_signal_emit(exe->bg_object, "e,state,selected", "e"); - if (exe->icon_object) - edje_object_signal_emit(exe->icon_object, "e,state,selected", "e"); -} - -static void -_e_exebuf_exe_desel(E_Exebuf_Exe *exe) -{ - edje_object_signal_emit(exe->bg_object, "e,state,unselected", "e"); - if (exe->icon_object) - edje_object_signal_emit(exe->icon_object, "e,state,unselected", "e"); -} - -static void -_e_exebuf_exe_scroll_to(int i) -{ - int n; - - n = eina_list_count(exes); - if (n > 1) - { - exe_scroll_align_to = (double)i / (double)(n - 1); - if (e_config->exebuf_scroll_animate) - { - exe_scroll_to = 1; - if (!exe_scroll_timer) - exe_scroll_timer = ecore_timer_add(0.01, _e_exebuf_exe_scroll_timer, NULL); - if (!animator) - animator = ecore_animator_add(_e_exebuf_animator, NULL); - } - else - { - exe_scroll_align = exe_scroll_align_to; - e_box_align_set(exe_list_object, 0.5, 1.0 - exe_scroll_align); - } - } - else - e_box_align_set(exe_list_object, 0.5, 1.0); -} - -static void -_e_exebuf_eap_scroll_to(int i) -{ - int n; - - n = eina_list_count(eaps); - if (n > 1) - { - eap_scroll_align_to = (double)i / (double)(n - 1); - if (e_config->exebuf_scroll_animate) - { - eap_scroll_to = 1; - if (!eap_scroll_timer) - eap_scroll_timer = ecore_timer_add(0.01, _e_exebuf_eap_scroll_timer, NULL); - if (!animator) - animator = ecore_animator_add(_e_exebuf_animator, NULL); - } - else - { - eap_scroll_align = eap_scroll_align_to; - e_box_align_set(eap_list_object, 0.5, eap_scroll_align); - } - } - else - e_box_align_set(eap_list_object, 0.5, 0.0); -} - -static void -_e_exebuf_next(void) -{ - Eina_List *l; - int i; - - if (which_list == NO_LIST) - { - if (exes) - { - exe_sel = exes->data; - which_list = EXE_LIST; - if (exe_sel) - { - _e_exebuf_exe_sel(exe_sel); - _e_exebuf_exe_scroll_to(0); - } - } - } - else - { - if (which_list == EXE_LIST) - { - if (exe_sel) - { - for (i = 0, l = exes; l; l = l->next, i++) - { - if (l->data == exe_sel) - { - if (l->next) - { - _e_exebuf_exe_desel(exe_sel); - exe_sel = l->next->data; - _e_exebuf_exe_sel(exe_sel); - _e_exebuf_exe_scroll_to(i + 1); - } - break; - } - } - } - } - else if (which_list == EAP_LIST) - { - if (exe_sel) - { - for (i = 0, l = eaps; l; l = l->next, i++) - { - if (l->data == exe_sel) - { - _e_exebuf_exe_desel(exe_sel); - if (l->prev) - { - exe_sel = l->prev->data; - _e_exebuf_exe_sel(exe_sel); - _e_exebuf_eap_scroll_to(i - 1); - } - else - { - exe_sel = NULL; - which_list = NO_LIST; - } - break; - } - } - } - } - else if (which_list == HIST_LIST) - { - if (exe_sel) - { - for (i = 0, l = eaps; l; l = l->next, i++) - { - if (l->data == exe_sel) - { - _e_exebuf_exe_desel(exe_sel); - if (l->prev) - { - exe_sel = l->prev->data; - _e_exebuf_exe_sel(exe_sel); - _e_exebuf_eap_scroll_to(i - 1); - } - else - { - exe_sel = NULL; - which_list = NO_LIST; - _e_exebuf_hist_clear(); - } - break; - } - } - } - } - } -} - -static void -_e_exebuf_prev(void) -{ - Eina_List *l; - int i; - - if (which_list == NO_LIST) - { - if (eaps) - { - exe_sel = eaps->data; - which_list = EAP_LIST; - if (exe_sel) - { - _e_exebuf_exe_sel(exe_sel); - _e_exebuf_eap_scroll_to(0); - } - } - else - { - _e_exebuf_hist_update(NULL); - if (eaps) - { - which_list = HIST_LIST; - ev_last_which_list = HIST_LIST; - exe_sel = eaps->data; - if (exe_sel) - { - _e_exebuf_exe_sel(exe_sel); - _e_exebuf_eap_scroll_to(0); - } - } - } - } - else - { - if (which_list == EXE_LIST) - { - if (exe_sel) - { - for (i = 0, l = exes; l; l = l->next, i++) - { - if (l->data == exe_sel) - { - _e_exebuf_exe_desel(exe_sel); - if (l->prev) - { - exe_sel = l->prev->data; - _e_exebuf_exe_sel(exe_sel); - _e_exebuf_exe_scroll_to(i - 1); - } - else - { - exe_sel = NULL; - which_list = NO_LIST; - } - break; - } - } - } - } - else if (which_list == EAP_LIST) - { - if (exe_sel) - { - for (i = 0, l = eaps; l; l = l->next, i++) - { - if (l->data == exe_sel) - { - if (l->next) - { - _e_exebuf_exe_desel(exe_sel); - exe_sel = l->next->data; - _e_exebuf_exe_sel(exe_sel); - _e_exebuf_eap_scroll_to(i + 1); - } - break; - } - } - } - } - else if (which_list == HIST_LIST) - { - if (exe_sel) - { - for (i = 0, l = eaps; l; l = l->next, i++) - { - if (l->data == exe_sel) - { - if (l->next) - { - _e_exebuf_exe_desel(exe_sel); - exe_sel = l->next->data; - _e_exebuf_exe_sel(exe_sel); - _e_exebuf_eap_scroll_to(i + 1); - } - break; - } - } - } - } - } -} - -static void -_e_exebuf_complete(void) -{ - char common[EXEBUFLEN], *exe = NULL; - Eina_List *l; - int orig_len = 0, common_len = 0, exe_len, next_char, val, matches; - int clear_hist = 0; - - if (!(strlen(cmd_buf))) - clear_hist = 1; - if (exe_sel) - { - if (exe_sel->desktop) - { - char *exe; - - exe = ecore_file_app_exe_get(exe_sel->desktop->exec); - if (exe) - { - eina_strlcpy(cmd_buf, exe, EXEBUFLEN); - free(exe); - } - } - else if (exe_sel->file) - { - eina_strlcpy(cmd_buf, exe_sel->file, EXEBUFLEN); - } - } - else - { - strcpy(common, cmd_buf); - orig_len = common_len = strlen(common); - matches = 1; - while (matches) - { - next_char = 0; - matches = 0; - for (l = exe_matches; l; l = l->next) - { - matches = 1; - exe = l->data; - exe_len = strlen(exe); - if (exe_len > common_len) - { - val = 0; - if (!next_char) - next_char = val; - else if (next_char != val) - { - matches = 0; - break; - } - } - else - { - matches = 0; - break; - } - } - if (matches) common_len++; - } - } - if ((exe) && (orig_len < common_len) && (common_len < (EXEBUFLEN - 1))) - { - eina_strlcpy(cmd_buf, exe, common_len + 1); - } - if (clear_hist) - _e_exebuf_hist_clear(); - _e_exebuf_update(); - if (!update_timer) - update_timer = ecore_timer_add(MATCH_LAG, _e_exebuf_update_timer, NULL); -} - -static void -_e_exebuf_backspace(void) -{ - int len, val, pos; - - len = strlen(cmd_buf); - if (len > 0) - { - pos = evas_string_char_prev_get(cmd_buf, len, &val); - if ((pos < len) && (pos >= 0)) - { - cmd_buf[pos] = 0; - _e_exebuf_update(); - if (!update_timer) - update_timer = ecore_timer_add(MATCH_LAG, _e_exebuf_update_timer, NULL); - } - } -} - -/* unused */ -#if 0 -static void -_e_exebuf_delete(void) -{ - E_Exebuf_Exe *exe_del, *exe_l = NULL, *exe_p = NULL; - Eina_List *list = NULL, *l = NULL; - int i; - - if ((which_list != HIST_LIST) || !exe_sel) return; - - exe_del = exe_sel; - e_exehist_del(exe_del->file); - - list = e_exehist_list_get(); - if (!list) - { - _e_exebuf_hist_clear(); - return; - } - - l = eina_list_last(eaps); - if (l) - { - exe_l = l->data; - l = l->prev; - if (l) exe_p = l->data; - } - l = eina_list_last(list); - - if ((!exe_l) || (strcmp(exe_l->file, l->data) && - ((!exe_p) || strcmp(exe_p->file, l->data)))) - { - E_Exebuf_Exe *exe; - Evas_Coord mw, mh; - Evas_Object *o; - - exe = calloc(1, sizeof(E_Exebuf_Exe)); - exe->file = l->data; - eaps = eina_list_append(eaps, exe); - o = edje_object_add(exebuf->evas); - exe->bg_object = o; - e_theme_edje_object_set(o, "base/theme/exebuf", - "e/widgets/exebuf/item"); - edje_object_part_text_set(o, "e.text.title", exe->file); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, - _e_exebuf_cb_exe_item_mouse_in, exe); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, - _e_exebuf_cb_exe_item_mouse_out, exe); - evas_object_show(o); - if (edje_object_part_exists(exe->bg_object, "e.swallow.icons")) - { - Efreet_Desktop *desktop; - - desktop = efreet_util_desktop_exec_find(exe->file); - if (desktop) - { - o = e_util_desktop_icon_add(desktop, 24, exebuf->evas); - exe->icon_object = o; - edje_object_part_swallow(exe->bg_object, "e.swallow.icons", - o); - evas_object_show(o); - exe->desktop = desktop; - } - } - edje_object_size_min_calc(exe->bg_object, &mw, &mh); - e_box_pack_start(eap_list_object, exe->bg_object); - e_box_pack_options_set(exe->bg_object, - 1, 1, /* fill */ - 1, 0, /* expand */ - 0.5, 0.5, /* align */ - mw, mh, /* min */ - 9999, mh /* max */ - ); - } - eina_list_free(list); - - _e_exebuf_prev(); - if (exe_sel == exe_del) _e_exebuf_next(); - if (exe_sel) - { - evas_event_freeze(exebuf->evas); - e_box_freeze(eap_list_object); - e_box_freeze(exe_list_object); - _e_exebuf_exe_free(exe_del); - eaps = eina_list_remove(eaps, exe_del); - e_box_thaw(exe_list_object); - e_box_thaw(eap_list_object); - evas_event_thaw(exebuf->evas); - for (l = eaps, i = 0; l; l = l->next, i++) - { - if (l->data == exe_sel) - { - _e_exebuf_eap_scroll_to(i); - break; - } - } - } -} -#endif - -static void -_e_exebuf_clear(void) -{ - if (cmd_buf[0] != 0) - { - cmd_buf[0] = 0; - _e_exebuf_update(); - if (!update_timer) - update_timer = ecore_timer_add(MATCH_LAG, _e_exebuf_update_timer, NULL); - } -} - -static int -_e_exebuf_cb_sort_eap(const void *data1, const void *data2) -{ - const Efreet_Desktop *a1, *a2; - const char *e1, *e2; - double t1, t2; - - a1 = data1; - a2 = data2; - e1 = a1->exec; - e2 = a2->exec; - t1 = e_exehist_newest_run_get(e1); - t2 = e_exehist_newest_run_get(e2); - return (int)(t2 - t1); -} - -static int -_e_exebuf_cb_sort_exe(const void *data1, const void *data2) -{ - const char *e1, *e2; - double t1, t2; - - e1 = data1; - e2 = data2; - t1 = e_exehist_newest_run_get(e1); - t2 = e_exehist_newest_run_get(e2); - return (int)(t2 - t1); -} - -static void -_e_exebuf_matches_update(void) -{ - char *path, *file, buf[4096]; - Efreet_Desktop *desktop, *desktop2; - Eina_Hash *added = NULL; - Eina_List *list; - Eina_List *l; - Eina_Bool hist = EINA_FALSE; - char *exe; - int i, max; - - hist = (which_list == HIST_LIST); - _e_exebuf_matches_clear(); - if (!cmd_buf[0]) return; - - if (hist && eina_list_count(history)) - { - Eina_List *hist_matches = NULL; - - snprintf(buf, sizeof(buf), "%s*", cmd_buf); - EINA_LIST_FOREACH(history, l, file) - { - if (e_util_glob_match(file, buf)) - { - if (!eina_hash_find(added, file)) - { - hist_matches = eina_list_append(hist_matches, file); - if (!added) - added = eina_hash_string_superfast_new(NULL); - eina_hash_direct_add(added, file, file); - } - } - } - if (added) eina_hash_free(added); - added = NULL; - - if (hist_matches) - { - _e_exebuf_hist_update(hist_matches); - eina_list_free(hist_matches); - exe_sel = eaps->data; - if (exe_sel) - { - _e_exebuf_exe_sel(exe_sel); - _e_exebuf_eap_scroll_to(0); - } - } - - which_list = HIST_LIST; - return; - } - - snprintf(buf, sizeof(buf), "*%s*", cmd_buf); - list = efreet_util_desktop_name_glob_list(buf); - EINA_LIST_FREE(list, desktop) - { - exe = ecore_file_app_exe_get(desktop->exec); - if (exe) - { - desktop2 = eina_hash_find(added, exe); - if ((!desktop2) || (desktop2 != desktop)) - { - eap_matches = eina_list_append(eap_matches, desktop); - if (!added) - added = eina_hash_string_superfast_new(NULL); - eina_hash_add(added, exe, desktop); - } - else - efreet_desktop_free(desktop); - free(exe); - } - else - efreet_desktop_free(desktop); - } - - snprintf(buf, sizeof(buf), "%s*", cmd_buf); - list = efreet_util_desktop_exec_glob_list(buf); - EINA_LIST_FREE(list, desktop) - { - exe = ecore_file_app_exe_get(desktop->exec); - if (exe) - { - desktop2 = eina_hash_find(added, exe); - if ((!desktop2) || (desktop2 != desktop)) - { - eap_matches = eina_list_append(eap_matches, desktop); - if (!added) - added = eina_hash_string_superfast_new(NULL); - eina_hash_add(added, exe, desktop); - } - else - efreet_desktop_free(desktop); - free(exe); - } - else - efreet_desktop_free(desktop); - } - - snprintf(buf, sizeof(buf), "*%s*", cmd_buf); - list = efreet_util_desktop_generic_name_glob_list(buf); - EINA_LIST_FREE(list, desktop) - { - exe = ecore_file_app_exe_get(desktop->exec); - if (exe) - { - desktop2 = eina_hash_find(added, exe); - if ((!desktop2) || (desktop2 != desktop)) - { - eap_matches = eina_list_append(eap_matches, desktop); - if (!added) - added = eina_hash_string_superfast_new(NULL); - eina_hash_add(added, exe, desktop); - } - else - efreet_desktop_free(desktop); - free(exe); - } - else - efreet_desktop_free(desktop); - } - - snprintf(buf, sizeof(buf), "*%s*", cmd_buf); - list = efreet_util_desktop_comment_glob_list(buf); - EINA_LIST_FREE(list, desktop) - { - exe = ecore_file_app_exe_get(desktop->exec); - if (exe) - { - desktop2 = eina_hash_find(added, exe); - if ((!desktop2) || (desktop2 != desktop)) - { - eap_matches = eina_list_append(eap_matches, desktop); - if (!added) - added = eina_hash_string_superfast_new(NULL); - eina_hash_add(added, exe, desktop); - } - else - efreet_desktop_free(desktop); - free(exe); - } - else - efreet_desktop_free(desktop); - } - - if (added) eina_hash_free(added); - added = NULL; - - snprintf(buf, sizeof(buf), "%s*", cmd_buf); - EINA_LIST_FOREACH(exe_list, l, path) - { - file = (char *)ecore_file_file_get(path); - if (file) - { - if (e_util_glob_match(file, buf)) - { - if (!eina_hash_find(added, file)) - { - exe_matches = eina_list_append(exe_matches, strdup(file)); - if (!added) - added = eina_hash_string_superfast_new(NULL); - eina_hash_direct_add(added, file, file); - } - } - } - } - if (added) eina_hash_free(added); - added = NULL; - - eap_matches = eina_list_sort(eap_matches, eina_list_count(eap_matches), _e_exebuf_cb_sort_eap); - - max = e_config->exebuf_max_eap_list; - evas_event_thaw(exebuf->evas); - e_box_freeze(eap_list_object); - for (i = 0, l = eap_matches; l && (i < max); l = l->next, i++) - { - Efreet_Desktop *desktop; - E_Exebuf_Exe *exe; - Evas_Coord mw, mh; - Evas_Object *o; - int opt = 0; - - exe = calloc(1, sizeof(E_Exebuf_Exe)); - eaps = eina_list_append(eaps, exe); - desktop = eina_list_data_get(l); - exe->desktop = desktop; - efreet_desktop_ref(desktop); - - o = edje_object_add(exebuf->evas); - exe->bg_object = o; - e_theme_edje_object_set(o, "base/theme/exebuf", - "e/widgets/exebuf/item"); - if (e_config->menu_eap_name_show && exe->desktop->name) opt |= 0x4; - if (e_config->menu_eap_generic_show && exe->desktop->generic_name) opt |= 0x2; - if (e_config->menu_eap_comment_show && exe->desktop->comment) opt |= 0x1; - if (opt == 0x7) snprintf(buf, sizeof(buf), "%s (%s) [%s]", exe->desktop->name, exe->desktop->generic_name, exe->desktop->comment); - else if (opt == 0x6) snprintf(buf, sizeof(buf), "%s (%s)", exe->desktop->name, exe->desktop->generic_name); - else if (opt == 0x5) snprintf(buf, sizeof(buf), "%s [%s]", exe->desktop->name, exe->desktop->comment); - else if (opt == 0x4) snprintf(buf, sizeof(buf), "%s", exe->desktop->name); - else if (opt == 0x3) snprintf(buf, sizeof(buf), "%s [%s]", exe->desktop->generic_name, exe->desktop->comment); - else if (opt == 0x2) snprintf(buf, sizeof(buf), "%s", exe->desktop->generic_name); - else if (opt == 0x1) snprintf(buf, sizeof(buf), "%s", exe->desktop->comment); - else snprintf(buf, sizeof(buf), "%s", exe->desktop->name); - edje_object_part_text_set(o, "e.text.title", buf); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, - _e_exebuf_cb_eap_item_mouse_in, exe); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, - _e_exebuf_cb_eap_item_mouse_out, exe); - evas_object_show(o); - if (edje_object_part_exists(exe->bg_object, "e.swallow.icons")) - { - o = e_util_desktop_icon_add(exe->desktop, 24, exebuf->evas); - exe->icon_object = o; - edje_object_part_swallow(exe->bg_object, "e.swallow.icons", o); - evas_object_show(o); - } - edje_object_size_min_calc(exe->bg_object, &mw, &mh); - e_box_pack_start(eap_list_object, exe->bg_object); - e_box_pack_options_set(exe->bg_object, - 1, 1, /* fill */ - 1, 0, /* expand */ - 0.5, 0.5, /* align */ - mw, mh, /* min */ - 9999, mh /* max */ - ); - } - e_box_thaw(eap_list_object); - - exe_matches = eina_list_sort(exe_matches, eina_list_count(exe_matches), _e_exebuf_cb_sort_exe); - - max = e_config->exebuf_max_exe_list; - e_box_freeze(exe_list_object); - for (i = 0, l = exe_matches; l && (i < max); l = l->next, i++) - { - E_Exebuf_Exe *exe; - Evas_Coord mw, mh; - Evas_Object *o; - - exe = calloc(1, sizeof(E_Exebuf_Exe)); - exe->file = l->data; - exes = eina_list_append(exes, exe); - o = edje_object_add(exebuf->evas); - exe->bg_object = o; - e_theme_edje_object_set(o, "base/theme/exebuf", - "e/widgets/exebuf/item"); - edje_object_part_text_set(o, "e.text.title", exe->file); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, - _e_exebuf_cb_exe_item_mouse_in, exe); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, - _e_exebuf_cb_exe_item_mouse_out, exe); - evas_object_show(o); - if (edje_object_part_exists(exe->bg_object, "e.swallow.icons")) - { - Efreet_Desktop *desktop; - - desktop = efreet_util_desktop_exec_find(exe->file); - if (desktop) - { - o = e_util_desktop_icon_add(desktop, 24, exebuf->evas); - exe->icon_object = o; - edje_object_part_swallow(exe->bg_object, "e.swallow.icons", o); - evas_object_show(o); - exe->desktop = desktop; - } - } - edje_object_size_min_calc(exe->bg_object, &mw, &mh); - e_box_pack_end(exe_list_object, exe->bg_object); - e_box_pack_options_set(exe->bg_object, - 1, 1, /* fill */ - 1, 0, /* expand */ - 0.5, 0.5, /* align */ - mw, mh, /* min */ - 9999, mh /* max */ - ); - } - e_box_thaw(exe_list_object); - evas_event_thaw(exebuf->evas); -} - -static void -_e_exebuf_hist_update(Eina_List *hist_matches) -{ - Eina_List *list, *l; - char *file; - - edje_object_signal_emit(bg_object, "e,action,show,history", "e"); - if (hist_matches) - list = hist_matches; - else - { - history = eina_list_free(history); - history = list = eina_list_reverse(e_exehist_list_get()); - } - EINA_LIST_FOREACH(list, l, file) - { - E_Exebuf_Exe *exe; - Evas_Coord mw, mh; - Evas_Object *o; - Efreet_Desktop *desktop; - Efreet_Desktop *found = NULL; - int len; - char *tmp; - char match[4096]; - Eina_List *ll; - - exe = calloc(1, sizeof(E_Exebuf_Exe)); - exe->file = file; - eaps = eina_list_prepend(eaps, exe); - o = edje_object_add(exebuf->evas); - exe->bg_object = o; - e_theme_edje_object_set(o, "base/theme/exebuf", - "e/widgets/exebuf/item"); - edje_object_part_text_set(o, "e.text.title", exe->file); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, - _e_exebuf_cb_exe_item_mouse_in, exe); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, - _e_exebuf_cb_exe_item_mouse_out, exe); - evas_object_show(o); - - len = strlen(file); - tmp = ecore_file_app_exe_get(exe->file); - snprintf(match, sizeof(match), "%s*", tmp); - ll = efreet_util_desktop_exec_glob_list(match); - - EINA_LIST_FREE(ll, desktop) - { - if (desktop->exec && !strncmp(file, desktop->exec, len)) - found = desktop; - else - efreet_desktop_free(desktop); - } - - if (found) - { - exe->desktop = found; - edje_object_part_text_set(o, "e.text.title", exe->desktop->name); - - if (edje_object_part_exists(exe->bg_object, "e.swallow.icons")) - { - o = e_util_desktop_icon_add(exe->desktop, 24, exebuf->evas); - exe->icon_object = o; - edje_object_part_swallow(exe->bg_object, "e.swallow.icons", o); - evas_object_show(o); - } - } - - edje_object_size_min_calc(exe->bg_object, &mw, &mh); - e_box_pack_end(eap_list_object, exe->bg_object); - e_box_pack_options_set(exe->bg_object, - 1, 1, /* fill */ - 1, 0, /* expand */ - 0.5, 0.5, /* align */ - mw, mh, /* min */ - 9999, mh /* max */ - ); - } -} - -static void -_e_exebuf_hist_clear(void) -{ - E_Exebuf_Exe *exe; - - edje_object_signal_emit(bg_object, "e,action,hide,history", "e"); - evas_event_freeze(exebuf->evas); - e_box_freeze(eap_list_object); - e_box_freeze(exe_list_object); - EINA_LIST_FREE(eaps, exe) - _e_exebuf_exe_free(exe); - e_box_thaw(exe_list_object); - e_box_thaw(eap_list_object); - evas_event_thaw(exebuf->evas); - - e_box_align_set(eap_list_object, 0.5, 0.0); - e_box_align_set(exe_list_object, 0.5, 1.0); - exe_sel = NULL; - which_list = NO_LIST; - _e_exebuf_clear(); -} - -static void -_e_exebuf_cb_eap_item_mouse_in(void *data, Evas *evas, Evas_Object *obj, - void *event_info) -{ - ev_last_mouse_exe = data; - ev_last_which_list = EAP_LIST; - if (!ev_last_is_mouse) return; - - if (exe_sel) _e_exebuf_exe_desel(exe_sel); - if (!(exe_sel = data)) return; - which_list = EAP_LIST; - _e_exebuf_exe_sel(exe_sel); -} - -static void -_e_exebuf_cb_eap_item_mouse_out(void *data, Evas *evas, Evas_Object *obj, - void *event_info) -{ - ev_last_mouse_exe = NULL; -} - -static void -_e_exebuf_cb_exe_item_mouse_in(void *data, Evas *evas, Evas_Object *obj, - void *event_info) -{ - ev_last_mouse_exe = data; - - if (which_list == HIST_LIST) - ev_last_which_list = HIST_LIST; - else - ev_last_which_list = EXE_LIST; - if (!ev_last_is_mouse) return; - - if (exe_sel) _e_exebuf_exe_desel(exe_sel); - if (!(exe_sel = data)) return; - if (which_list != HIST_LIST) - which_list = EXE_LIST; - _e_exebuf_exe_sel(exe_sel); -} - -static void -_e_exebuf_cb_exe_item_mouse_out(void *data, Evas *evas, Evas_Object *obj, - void *event_info) -{ - ev_last_mouse_exe = NULL; -} - -static int -_e_exebuf_cb_key_down(void *data, int type, void *event) -{ - Ecore_Event_Key *ev; - - ev_last_is_mouse = 0; - - ev = event; - if (ev->event_window != input_window) return 1; - if (!strcmp(ev->key, "Up")) - _e_exebuf_prev(); - else if (!strcmp(ev->key, "Down")) - _e_exebuf_next(); - else if (!strcmp(ev->key, "Prior")) - _e_exebuf_prev(); - else if (!strcmp(ev->key, "Next")) - _e_exebuf_next(); - else if (!strcmp(ev->key, "Left")) - _e_exebuf_prev(); - else if (!strcmp(ev->key, "Right")) - _e_exebuf_complete(); - else if (!strcmp(ev->key, "Tab")) - _e_exebuf_complete(); - else if (!strcmp(ev->key, "Return") && (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL)) - _e_exebuf_exec_term(); - else if (!strcmp(ev->key, "Return")) - _e_exebuf_exec(); - else if (!strcmp(ev->key, "KP_Enter") && (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL)) - _e_exebuf_exec_term(); - else if (!strcmp(ev->key, "KP_Enter")) - _e_exebuf_exec(); - else if (!strcmp(ev->key, "u") && (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL)) - _e_exebuf_clear(); - else if (!strcmp(ev->key, "Escape")) - e_exebuf_hide(); - else if (!strcmp(ev->key, "BackSpace")) - _e_exebuf_backspace(); - else if (!strcmp(ev->key, "Delete")) - _e_exebuf_backspace(); - else - { - if (ev->compose) - { - if ((strlen(cmd_buf) < (EXEBUFLEN - strlen(ev->compose)))) - { - strcat(cmd_buf, ev->compose); - _e_exebuf_update(); - if (!update_timer) - update_timer = ecore_timer_add(MATCH_LAG, _e_exebuf_update_timer, NULL); - } - } - } - return 1; -} - -static int -_e_exebuf_cb_mouse_down(void *data, int type, void *event) -{ - Ecore_Event_Mouse_Button *ev; - - ev = event; - if (ev->event_window != input_window) return 1; - - if (ev_last_mouse_exe && (exe_sel != ev_last_mouse_exe)) - { - if (exe_sel) _e_exebuf_exe_desel(exe_sel); - exe_sel = ev_last_mouse_exe; - _e_exebuf_exe_sel(exe_sel); - } - - return 1; -} - -static int -_e_exebuf_cb_mouse_up(void *data, int type, void *event) -{ - Ecore_Event_Mouse_Button *ev; - - ev = event; - if (ev->event_window != input_window) return 1; - if (ev->buttons == 1) - _e_exebuf_exec(); - else if (ev->buttons == 2) - _e_exebuf_complete(); - - return 1; -} - -static int -_e_exebuf_cb_mouse_move(void *data, int type, void *event) -{ - Ecore_Event_Mouse_Move *ev; - - ev = event; - if (ev->event_window != input_window) return 1; - - if (!ev_last_is_mouse) - { - ev_last_is_mouse = 1; - if (ev_last_mouse_exe) - { - if (exe_sel && (exe_sel != ev_last_mouse_exe)) - _e_exebuf_exe_desel(exe_sel); - if (!exe_sel || (exe_sel != ev_last_mouse_exe)) - { - exe_sel = ev_last_mouse_exe; - which_list = ev_last_which_list; - _e_exebuf_exe_sel(exe_sel); - } - } - } - - evas_event_feed_mouse_move(exebuf->evas, ev->x - exebuf->x, - ev->y - exebuf->y, ev->timestamp, NULL); - - return 1; -} - -static int -_e_exebuf_cb_mouse_wheel(void *data, int type, void *event) -{ - Ecore_Event_Mouse_Wheel *ev; - - ev = event; - if (ev->event_window != input_window) return 1; - - ev_last_is_mouse = 0; - - if (ev->z < 0) /* up */ - { - int i; - - for (i = ev->z; i < 0; i++) _e_exebuf_prev(); - } - else if (ev->z > 0) /* down */ - { - int i; - - for (i = ev->z; i > 0; i--) _e_exebuf_next(); - } - return 1; -} - -static int -_e_exebuf_exe_scroll_timer(void *data) -{ - if (exe_scroll_to) - { - double spd; - - spd = e_config->exebuf_scroll_speed; - exe_scroll_align = (exe_scroll_align * (1.0 - spd)) + (exe_scroll_align_to * spd); - return 1; - } - exe_scroll_timer = NULL; - return 0; -} - -static int -_e_exebuf_eap_scroll_timer(void *data) -{ - if (eap_scroll_to) - { - double spd; - - spd = e_config->exebuf_scroll_speed; - eap_scroll_align = (eap_scroll_align * (1.0 - spd)) + (eap_scroll_align_to * spd); - return 1; - } - eap_scroll_timer = NULL; - return 0; -} - -static int -_e_exebuf_animator(void *data) -{ - if (exe_scroll_to) - { - double da; - - da = exe_scroll_align - exe_scroll_align_to; - if (da < 0.0) da = -da; - if (da < 0.01) - { - exe_scroll_align = exe_scroll_align_to; - exe_scroll_to = 0; - } - e_box_align_set(exe_list_object, 0.5, 1.0 - exe_scroll_align); - } - if (eap_scroll_to) - { - double da; - - da = eap_scroll_align - eap_scroll_align_to; - if (da < 0.0) da = -da; - if (da < 0.01) - { - eap_scroll_align = eap_scroll_align_to; - eap_scroll_to = 0; - } - e_box_align_set(eap_list_object, 0.5, eap_scroll_align); - } - if ((exe_scroll_to) || (eap_scroll_to)) return 1; - animator = NULL; - return 0; -} - -static int -_e_exebuf_idler(void *data) -{ - struct stat st; - struct dirent *dp; - char *dir; - char buf[4096]; - - /* no more path items left - stop scanning */ - if (!exe_path) - { - Eina_List *l, *l2; - E_Exe_List *el; - E_Exe *ee; - int different = 0; - - /* FIXME: check theat they match or not */ - for (l = exe_list, l2 = exe_list2; l && l2; l = l->next, l2 = l2->next) - { - if (strcmp(l->data, l2->data)) - { - different = 1; - break; - } - } - if ((l) || (l2)) different = 1; - if (exe_list2) - { - while (exe_list) - { - free(eina_list_data_get(exe_list)); - exe_list = eina_list_remove_list(exe_list, exe_list); - } - exe_list = exe_list2; - exe_list2 = NULL; - } - if (different) - { - el = calloc(1, sizeof(E_Exe_List)); - if (el) - { - el->list = NULL; - for (l = exe_list; l; l = l->next) - { - ee = malloc(sizeof(E_Exe)); - if (ee) - { - ee->path = eina_stringshare_add(l->data); - el->list = eina_list_append(el->list, ee); - } - } - e_config_domain_save("exebuf_exelist_cache", exelist_edd, el); - while (el->list) - { - ee = eina_list_data_get(el->list); - eina_stringshare_del(ee->path); - free(ee); - el->list = eina_list_remove_list(el->list, el->list); - } - free(el); - } - } - exe_list_idler = NULL; - return 0; - } - /* no dir is open - open the first path item */ - if (!exe_dir) - { - dir = exe_path->data; - exe_dir = opendir(dir); - } - /* if we have an opened dir - scan the next item */ - if (exe_dir) - { - dir = exe_path->data; - - dp = readdir(exe_dir); - if (dp) - { - if ((strcmp(dp->d_name, ".")) && (strcmp(dp->d_name, ".."))) - { - snprintf(buf, sizeof(buf), "%s/%s", dir, dp->d_name); - if ((stat(buf, &st) == 0) && - ((!S_ISDIR(st.st_mode)) && - (!access(buf, X_OK)))) - { - if (!exe_list) - exe_list = eina_list_append(exe_list, strdup(buf)); - else - exe_list2 = eina_list_append(exe_list2, strdup(buf)); - } - } - } - else - { - /* we reached the end of a dir - remove the dir at the head - * of the path list so we advance and next loop we will pick up - * the next item, or if null- abort - */ - closedir(exe_dir); - exe_dir = NULL; - free(eina_list_data_get(exe_path)); - exe_path = eina_list_remove_list(exe_path, exe_path); - } - } - /* obviously the dir open failed - so remove the first path item */ - else - { - free(eina_list_data_get(exe_path)); - exe_path = eina_list_remove_list(exe_path, exe_path); - } - /* we have mroe scannign to do */ - return 1; -} - -static int -_e_exebuf_update_timer(void *data) -{ - _e_exebuf_matches_update(); - update_timer = NULL; - return 0; -} diff --git a/src/modules/exebuf/e_exebuf.h b/src/modules/exebuf/e_exebuf.h deleted file mode 100644 index 4004fda67..000000000 --- a/src/modules/exebuf/e_exebuf.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 - */ -#ifdef E_TYPEDEFS - -#else -#ifndef E_EXEBUF_H -#define E_EXEBUF_H - -int e_exebuf_init(void); -int e_exebuf_shutdown(void); - -int e_exebuf_show(E_Zone *zone); -void e_exebuf_hide(void); - -#endif -#endif diff --git a/src/modules/exebuf/e_mod_main.c b/src/modules/exebuf/e_mod_main.c deleted file mode 100644 index ab1fb3772..000000000 --- a/src/modules/exebuf/e_mod_main.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 - */ -#include "e.h" -#include "e_mod_main.h" - -/* actual module specifics */ -static void _e_mod_action_exebuf_cb(E_Object *obj, const char *params); -static int _e_mod_run_defer_cb(void *data); -static void _e_mod_run_cb(void *data, E_Menu *m, E_Menu_Item *mi); -static void _e_mod_menu_add(void *data, E_Menu *m); - -static E_Module *conf_module = NULL; -static E_Action *act = NULL; -static E_Int_Menu_Augmentation *maug = NULL; - -/* module setup */ -EAPI E_Module_Api e_modapi = -{ - E_MODULE_API_VERSION, - "Exebuf" -}; - -EAPI void * -e_modapi_init(E_Module *m) -{ - conf_module = m; - e_exebuf_init(); - /* add module supplied action */ - act = e_action_add("exebuf"); - if (act) - { - act->func.go = _e_mod_action_exebuf_cb; - e_action_predef_name_set(_("Launch"), _("Run Command Dialog"), "exebuf", - NULL, NULL, 0); - } - maug = e_int_menus_menu_augmentation_add_sorted - ("main/1", _("Run Command"), _e_mod_menu_add, NULL, NULL, NULL); - e_module_delayed_set(m, 1); - return m; -} - -EAPI int -e_modapi_shutdown(E_Module *m) -{ - /* remove module-supplied menu additions */ - if (maug) - { - e_int_menus_menu_augmentation_del("main/1", maug); - maug = NULL; - } - /* remove module-supplied action */ - if (act) - { - e_action_predef_name_del(_("Launch"), _("Run Command Dialog")); - e_action_del("exebuf"); - act = NULL; - } - e_exebuf_shutdown(); - conf_module = NULL; - return 1; -} - -EAPI int -e_modapi_save(E_Module *m) -{ - return 1; -} - -/* action callback */ -static void -_e_mod_action_exebuf_cb(E_Object *obj, const char *params) -{ - E_Zone *zone = NULL; - - if (obj) - { - if (obj->type == E_MANAGER_TYPE) - zone = e_util_zone_current_get((E_Manager *)obj); - else if (obj->type == E_CONTAINER_TYPE) - zone = e_util_zone_current_get(((E_Container *)obj)->manager); - else if (obj->type == E_ZONE_TYPE) - zone = e_util_zone_current_get(((E_Zone *)obj)->container->manager); - else - zone = e_util_zone_current_get(e_manager_current_get()); - } - if (!zone) zone = e_util_zone_current_get(e_manager_current_get()); - if (zone) e_exebuf_show(zone); -} - -/* menu item callback(s) */ -static int -_e_mod_run_defer_cb(void *data) -{ - E_Zone *zone; - - zone = data; - if (zone) e_exebuf_show(zone); - return 0; -} - -static void -_e_mod_run_cb(void *data, E_Menu *m, E_Menu_Item *mi) -{ - ecore_idle_enterer_add(_e_mod_run_defer_cb, m->zone); -} - -/* menu item add hook */ -static void -_e_mod_menu_add(void *data, E_Menu *m) -{ - E_Menu_Item *mi; - - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, _("Run Command")); - e_util_menu_item_theme_icon_set(mi, "system-run"); - e_menu_item_callback_set(mi, _e_mod_run_cb, NULL); -} diff --git a/src/modules/exebuf/e_mod_main.h b/src/modules/exebuf/e_mod_main.h deleted file mode 100644 index f92a53a25..000000000 --- a/src/modules/exebuf/e_mod_main.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 - */ -#ifndef E_MOD_MAIN_H -#define E_MOD_MAIN_H - -#define E_TYPEDEFS 1 -#include "e_exebuf.h" - -#undef E_TYPEDEFS -#include "e_exebuf.h" - -EAPI extern E_Module_Api e_modapi; - -EAPI void *e_modapi_init (E_Module *m); -EAPI int e_modapi_shutdown (E_Module *m); -EAPI int e_modapi_save (E_Module *m); - -#endif diff --git a/src/modules/exebuf/module.desktop.in b/src/modules/exebuf/module.desktop.in deleted file mode 100644 index 21f15818d..000000000 --- a/src/modules/exebuf/module.desktop.in +++ /dev/null @@ -1,32 +0,0 @@ -[Desktop Entry] -Type=Link -Name=Run Command -Name[cs]=Dialog Spustit -Name[de]= -Name[eo]=Lanĉi komandojn -Name[es]=Ejecutar comando -Name[fr]=Ligne de commande -Name[hu]=Parancs futtatása -Name[it]=Lanciacomandi -Name[ja]= -Name[pt]= -Name[pt_BR]= -Name[tr]=Komut Çalıştır -Name[zh_CN]= -Name[zh_TW]= -Icon=e-module-exebuf -Comment=The run command module provides an application launcher dialog. -Comment[cs]=Poskytuje dialog pro spuštění aplikací. -Comment[de]= -Comment[eo]=La modulo de lanĉo de komandoj provizas dialogon de lanĉilo de aplikaĵoj. -Comment[es]=El módulo de ejecutar comandos provee un diálogo para ejecutar aplicaciones. -Comment[fr]=Fournit une fenêtre de commande pour lancer des applications. -Comment[hu]=A parancs futtató modul egy alkalmazásindítót biztosít a számunkra. -Comment[it]=Questo modulo fornisce una finestra di dialogo per l'esecuzione di comandi. -Comment[ja]= -Comment[pt]= -Comment[pt_BR]= -Comment[tr]=Komut çalıştır modülü program çalıştırma penceresi açar. -Comment[zh_CN]= -Comment[zh_TW]= -X-Enlightenment-ModuleType=system