forked from enlightenment/enlightenment
metric's first 2 patches - with 1 slight mod for xterm default cmd.
SVN revision: 25976
This commit is contained in:
parent
db01dd2672
commit
b4cd6e0dce
|
@ -457,6 +457,7 @@ e_config_init(void)
|
|||
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);
|
||||
E_CONFIG_VAL(D, T, cfgdlg_auto_apply, INT); /**/
|
||||
|
@ -653,6 +654,7 @@ e_config_init(void)
|
|||
e_config->exebuf_pos_min_h = 160;
|
||||
e_config->exebuf_pos_max_w = 400;
|
||||
e_config->exebuf_pos_max_h = 320;
|
||||
e_config->exebuf_term_cmd = evas_stringshare_add("xterm -hold -e");
|
||||
e_config->color_classes = NULL;
|
||||
e_config->use_app_icon = 0;
|
||||
e_config->cfgdlg_auto_apply = 0;
|
||||
|
|
|
@ -209,6 +209,7 @@ struct _E_Config
|
|||
int exebuf_pos_min_h; // GUI
|
||||
int exebuf_pos_max_w; // GUI
|
||||
int exebuf_pos_max_h; // GUI
|
||||
const char *exebuf_term_cmd; // GUI
|
||||
Evas_List *color_classes;
|
||||
int use_app_icon; // GUI
|
||||
int cfgdlg_auto_apply; // GUI
|
||||
|
|
|
@ -35,6 +35,7 @@ static int _e_exebuf_cb_sort_eap(void *data1, void *data2);
|
|||
static int _e_exebuf_cb_sort_exe(void *data1, 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);
|
||||
|
@ -427,6 +428,42 @@ _e_exebuf_exec(void)
|
|||
e_exebuf_hide();
|
||||
}
|
||||
|
||||
static void
|
||||
_e_exebuf_exec_term(void)
|
||||
{
|
||||
char tmp[EXEBUFLEN];
|
||||
char *active_cmd;
|
||||
|
||||
if (exe_sel)
|
||||
{
|
||||
if (exe_sel->app)
|
||||
{
|
||||
if (exe_sel->app->exe)
|
||||
active_cmd = exe_sel->app->exe;
|
||||
else
|
||||
{
|
||||
e_zone_app_exec(exebuf->zone, exe_sel->app);
|
||||
e_exehist_add("exebuf", exe_sel->app->exe);
|
||||
}
|
||||
}
|
||||
else
|
||||
active_cmd = exe_sel->file;
|
||||
}
|
||||
else
|
||||
active_cmd = cmd_buf;
|
||||
|
||||
if (strlen(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_zone_exec(exebuf->zone, tmp);
|
||||
e_exehist_add("exebuf", tmp);
|
||||
}
|
||||
|
||||
e_exebuf_hide();
|
||||
}
|
||||
|
||||
static void
|
||||
_e_exebuf_exe_sel(E_Exebuf_Exe *exe)
|
||||
{
|
||||
|
@ -984,8 +1021,12 @@ _e_exebuf_cb_key_down(void *data, int type, void *event)
|
|||
_e_exebuf_complete();
|
||||
else if (!strcmp(ev->keysymbol, "Tab"))
|
||||
_e_exebuf_complete();
|
||||
else if (!strcmp(ev->keysymbol, "Return") && (ev->modifiers & ECORE_X_MODIFIER_CTRL))
|
||||
_e_exebuf_exec_term();
|
||||
else if (!strcmp(ev->keysymbol, "Return"))
|
||||
_e_exebuf_exec();
|
||||
else if (!strcmp(ev->keysymbol, "KP_Enter") && (ev->modifiers & ECORE_X_MODIFIER_CTRL))
|
||||
_e_exebuf_exec_term();
|
||||
else if (!strcmp(ev->keysymbol, "KP_Enter"))
|
||||
_e_exebuf_exec();
|
||||
else if (!strcmp(ev->keysymbol, "Escape"))
|
||||
|
|
|
@ -58,6 +58,7 @@ struct _E_Fm2_Smart_Data
|
|||
unsigned char iconlist_changed : 1;
|
||||
unsigned char order_file : 1;
|
||||
unsigned char typebuf_visible : 1;
|
||||
unsigned char show_hidden_files : 1;
|
||||
|
||||
E_Fm2_Config *config;
|
||||
|
||||
|
@ -200,6 +201,7 @@ static void _e_fm2_menu_post_cb(void *data, E_Menu *m);
|
|||
static void _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp);
|
||||
static void _e_fm2_icon_menu_post_cb(void *data, E_Menu *m);
|
||||
static void _e_fm2_refresh(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||
static void _e_fm2_toggle_hidden_files(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||
static void _e_fm2_new_directory(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||
static void _e_fm2_new_directory_delete_cb(void *obj);
|
||||
static void _e_fm2_new_directory_yes_cb(char *text, void *data);
|
||||
|
@ -234,6 +236,7 @@ e_fm2_init(void)
|
|||
}
|
||||
else return 0;
|
||||
|
||||
|
||||
_e_fm2_smart = evas_smart_new("e_fm",
|
||||
_e_fm2_smart_add, /* add */
|
||||
_e_fm2_smart_del, /* del */
|
||||
|
@ -3190,10 +3193,10 @@ _e_fm2_cb_scan_idler(void *data)
|
|||
{
|
||||
dp = readdir(sd->dir);
|
||||
if (!dp) goto endscan;
|
||||
/* no - you don't want the cuirrent and parent dir links listed */
|
||||
/* no - you don't want the current and parent dir links listed */
|
||||
if ((!strcmp(dp->d_name, ".")) || (!strcmp(dp->d_name, ".."))) return 1;
|
||||
/* skip dotfiles */
|
||||
if (dp->d_name[0] == '.') return 1;
|
||||
/* skip dotfiles if we're not showing hidden files */
|
||||
if (dp->d_name[0] == '.' && !sd->show_hidden_files) return 1;
|
||||
_e_fm2_file_add(data, dp->d_name);
|
||||
}
|
||||
return 1;
|
||||
|
@ -3511,6 +3514,16 @@ _e_fm2_menu(Evas_Object *obj, unsigned int timestamp)
|
|||
"e/fileman/button/refresh");
|
||||
e_menu_item_callback_set(mi, _e_fm2_refresh, sd);
|
||||
|
||||
mi = e_menu_item_new(mn);
|
||||
e_menu_item_label_set(mi, _("Show Hidden Files"));
|
||||
e_menu_item_icon_edje_set(mi,
|
||||
e_theme_edje_file_get("base/theme/fileman",
|
||||
"e/fileman/button/hidden_files"),
|
||||
"e/fileman/button/hidden_files");
|
||||
e_menu_item_check_set(mi, 1);
|
||||
e_menu_item_toggle_set(mi, sd->show_hidden_files);
|
||||
e_menu_item_callback_set(mi, _e_fm2_toggle_hidden_files, sd);
|
||||
|
||||
if (ecore_file_can_write(sd->realpath))
|
||||
{
|
||||
mi = e_menu_item_new(mn);
|
||||
|
@ -3592,6 +3605,16 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp)
|
|||
"e/fileman/button/refresh");
|
||||
e_menu_item_callback_set(mi, _e_fm2_refresh, ic->sd);
|
||||
|
||||
mi = e_menu_item_new(mn);
|
||||
e_menu_item_label_set(mi, _("Show Hidden Files"));
|
||||
e_menu_item_icon_edje_set(mi,
|
||||
e_theme_edje_file_get("base/theme/fileman",
|
||||
"e/fileman/button/hidden_files"),
|
||||
"e/fileman/button/hidden_files");
|
||||
e_menu_item_check_set(mi, 1);
|
||||
e_menu_item_toggle_set(mi, sd->show_hidden_files);
|
||||
e_menu_item_callback_set(mi, _e_fm2_toggle_hidden_files, sd);
|
||||
|
||||
if (ecore_file_can_write(sd->realpath))
|
||||
{
|
||||
mi = e_menu_item_new(mn);
|
||||
|
@ -3718,6 +3741,20 @@ _e_fm2_refresh(void *data, E_Menu *m, E_Menu_Item *mi)
|
|||
sd->refresh_job = ecore_job_add(_e_fm2_refresh_job_cb, sd->obj);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_toggle_hidden_files(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||
{
|
||||
E_Fm2_Smart_Data *sd;
|
||||
|
||||
sd = data;
|
||||
if (sd->show_hidden_files)
|
||||
sd->show_hidden_files = 0;
|
||||
else
|
||||
sd->show_hidden_files = 1;
|
||||
|
||||
_e_fm2_refresh(data, m, mi);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_new_directory(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||
{
|
||||
|
|
|
@ -23,6 +23,7 @@ struct _E_Config_Dialog_Data
|
|||
int pos_min_h;
|
||||
int pos_max_w;
|
||||
int pos_max_h;
|
||||
char * term_cmd;
|
||||
};
|
||||
|
||||
EAPI E_Config_Dialog *
|
||||
|
@ -63,6 +64,9 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
|||
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 *
|
||||
|
@ -99,11 +103,11 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
|||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("General Settings"), 0);
|
||||
ob = e_widget_label_add(evas, _("Maximum Number Of Matched Eaps To List"));
|
||||
ob = e_widget_label_add(evas, _("Maximum Number of Matched Eaps to List"));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 10, 50, 5, 0, NULL, &(cfdata->max_eap_list), 200);
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_label_add(evas, _("Maximum Number Of Matched Exes To List"));
|
||||
ob = e_widget_label_add(evas, _("Maximum Number of Matched Exes to List"));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 10, 50, 5, 0, NULL, &(cfdata->max_exe_list), 200);
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
|
@ -129,6 +133,13 @@ _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
|||
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;
|
||||
if (e_config->exebuf_term_cmd)
|
||||
evas_stringshare_del(e_config->exebuf_term_cmd);
|
||||
e_config->exebuf_term_cmd = NULL;
|
||||
if (cfdata->term_cmd)
|
||||
{
|
||||
e_config->exebuf_term_cmd = evas_stringshare_add(cfdata->term_cmd);
|
||||
}
|
||||
e_config_save_queue();
|
||||
|
||||
return 1;
|
||||
|
@ -192,6 +203,13 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
|||
e_widget_framelist_object_append(of, ob);
|
||||
e_widget_table_object_append(ot, of, 1, 0, 1, 2, 1, 0, 1, 0);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Terminal Settings"), 0);
|
||||
ob = e_widget_label_add(evas, _("Terminal Command"));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_entry_add(evas, &(cfdata->term_cmd));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
e_widget_table_object_append(ot, of, 1, 2, 1, 1, 1, 1, 1, 1);
|
||||
|
||||
e_widget_list_object_append(o, ot, 1, 1, 0.5);
|
||||
return o;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue