void exec_run(Efreet_Desktop *desk, Efm_File *f) { Eina_List *lst = NULL; const char *file; eo_do(f, file = efm_file_path_get()); lst = eina_list_append(lst, file); efreet_desktop_exec(desk, lst, NULL); }
void run_default_handler(madshelf_state_t *state, const char *filename) { fileinfo_t *fileinfo = fileinfo_create(filename); openers_t *handlers_list = openers_get(fileinfo->mime_type); fileinfo_destroy(fileinfo); if (!handlers_list) return; tag_add(state->tags, "recent", filename); Efreet_Desktop* handler = eina_list_data_get(handlers_list->apps); Eina_List *l = eina_list_append(NULL, filename); efreet_desktop_exec(handler, l, NULL); eina_list_free(l); }