Newer
Older
m = feh_menu_new();
m->name = estrdup("CONFIRM");
Birte Kristina Friesel
committed
feh_menu_add_entry(m, "Confirm", NULL, NULL, CB_DELETE, 0, NULL);
m = feh_menu_new();
m->name = estrdup("EDIT");
Birte Kristina Friesel
committed
feh_menu_add_entry(m, "Rotate 90 CW", NULL, NULL, CB_EDIT_ROTATE, 1, NULL);
feh_menu_add_entry(m, "Rotate 180", NULL, NULL, CB_EDIT_ROTATE, 2, NULL);
feh_menu_add_entry(m, "Rotate 90 CCW", NULL, NULL, CB_EDIT_ROTATE, 3, NULL);
menu_bg = feh_menu_new();
menu_bg->name = estrdup("BACKGROUND");
num_desks = feh_wm_get_num_desks();
if (num_desks > 1) {
Birte Kristina Friesel
committed
feh_menu_add_entry(menu_bg, "Set Tiled", NULL, "TILED", 0, 0, NULL);
feh_menu_add_entry(menu_bg, "Set Scaled", NULL, "SCALED", 0, 0, NULL);
feh_menu_add_entry(menu_bg, "Set Centered", NULL, "CENTERED", 0, 0, NULL);
feh_menu_add_entry(menu_bg, "Set Filled", NULL, "FILLED", 0, 0, NULL);
m = feh_menu_new();
m->name = estrdup("TILED");
for (i = 0; i < num_desks; i++) {
snprintf(buf, sizeof(buf), "Desktop %d", i + 1);
if (opt.slideshow || opt.multiwindow)
Birte Kristina Friesel
committed
feh_menu_add_entry(m, buf, NULL, NULL, CB_BG_TILED,
Birte Kristina Friesel
committed
i, NULL);
else
Birte Kristina Friesel
committed
feh_menu_add_entry(m, buf, NULL, NULL, CB_BG_TILED_NOFILE,
Birte Kristina Friesel
committed
i, NULL);
}
m = feh_menu_new();
m->name = estrdup("SCALED");
for (i = 0; i < num_desks; i++) {
snprintf(buf, sizeof(buf), "Desktop %d", i + 1);
if (opt.slideshow || opt.multiwindow)
Birte Kristina Friesel
committed
feh_menu_add_entry(m, buf, NULL, NULL, CB_BG_SCALED,
Birte Kristina Friesel
committed
i, NULL);
else
Birte Kristina Friesel
committed
feh_menu_add_entry(m, buf, NULL, NULL, CB_BG_SCALED_NOFILE,
Birte Kristina Friesel
committed
i, NULL);
}
m = feh_menu_new();
m->name = estrdup("CENTERED");
for (i = 0; i < num_desks; i++) {
snprintf(buf, sizeof(buf), "Desktop %d", i + 1);
if (opt.slideshow || opt.multiwindow)
feh_menu_add_entry(m, buf, NULL, NULL,
Birte Kristina Friesel
committed
CB_BG_CENTERED, i, NULL);
else
feh_menu_add_entry(m, buf, NULL, NULL,
Birte Kristina Friesel
committed
CB_BG_CENTERED_NOFILE, i, NULL);
Birte Kristina Friesel
committed
}
m = feh_menu_new();
m->name = estrdup("FILLED");
for (i = 0; i < num_desks; i++) {
snprintf(buf, sizeof(buf), "Desktop %d", i + 1);
if (opt.slideshow || opt.multiwindow)
feh_menu_add_entry(m, buf, NULL, NULL,
Birte Kristina Friesel
committed
CB_BG_FILLED,
Birte Kristina Friesel
committed
i, NULL);
Birte Kristina Friesel
committed
else
feh_menu_add_entry(m, buf, NULL, NULL,
Birte Kristina Friesel
committed
CB_BG_FILLED_NOFILE,
Birte Kristina Friesel
committed
i, NULL);
}
} else {
if (opt.slideshow || opt.multiwindow) {
feh_menu_add_entry(menu_bg, "Set Tiled", NULL,
Birte Kristina Friesel
committed
NULL, CB_BG_TILED, 0, NULL);
feh_menu_add_entry(menu_bg, "Set Scaled", NULL,
Birte Kristina Friesel
committed
NULL, CB_BG_SCALED, 0, NULL);
feh_menu_add_entry(menu_bg, "Set Centered", NULL,
Birte Kristina Friesel
committed
NULL, CB_BG_CENTERED, 0, NULL);
Birte Kristina Friesel
committed
feh_menu_add_entry(menu_bg, "Set Filled", NULL,
Birte Kristina Friesel
committed
NULL, CB_BG_FILLED, 0, NULL);
} else {
feh_menu_add_entry(menu_bg, "Set Tiled", NULL,
Birte Kristina Friesel
committed
NULL, CB_BG_TILED_NOFILE, 0, NULL);
feh_menu_add_entry(menu_bg, "Set Scaled", NULL,
Birte Kristina Friesel
committed
NULL, CB_BG_SCALED_NOFILE, 0, NULL);
feh_menu_add_entry(menu_bg, "Set Centered", NULL,
Birte Kristina Friesel
committed
NULL, CB_BG_CENTERED_NOFILE, 0, NULL);
Birte Kristina Friesel
committed
feh_menu_add_entry(menu_bg, "Set Filled", NULL,
Birte Kristina Friesel
committed
NULL, CB_BG_FILLED_NOFILE, 0, NULL);
}
}
common_menus = 1;
Birte Kristina Friesel
committed
return;
}
void feh_menu_init_single_win(void)
{
feh_menu *m;
feh_menu_item *mi;
if (!common_menus)
feh_menu_init_common();
menu_single_win = feh_menu_new();
menu_single_win->name = estrdup("SINGLEWIN");
Birte Kristina Friesel
committed
feh_menu_add_entry(menu_single_win, "File", NULL, "SINGLEWIN_FILE", 0, 0, NULL);
m = feh_menu_new();
m->name = estrdup("SINGLEWIN_FILE");
Birte Kristina Friesel
committed
feh_menu_add_entry(m, "Reset", NULL, NULL, CB_RESET, 0, NULL);
feh_menu_add_entry(m, "Resize Window", NULL, NULL, CB_FIT, 0, NULL);
feh_menu_add_entry(m, "Reload", NULL, NULL, CB_RELOAD, 0, NULL);
feh_menu_add_entry(m, "Save Image", NULL, NULL, CB_SAVE_IMAGE, 0, NULL);
feh_menu_add_entry(m, "Save List", NULL, NULL, CB_SAVE_FILELIST, 0, NULL);
feh_menu_add_entry(m, "Edit in Place", NULL, "EDIT", 0, 0, NULL);
feh_menu_add_entry(m, "Background", NULL, "BACKGROUND", 0, 0, NULL);
if (opt.multiwindow || opt.slideshow) {
Birte Kristina Friesel
committed
feh_menu_add_entry(m, NULL, NULL, NULL, 0, 0, NULL);
feh_menu_add_entry(m, "Hide", NULL, NULL, CB_REMOVE, 0, NULL);
feh_menu_add_entry(m, "Delete", NULL, "CONFIRM", 0, 0, NULL);
}
Birte Kristina Friesel
committed
mi = feh_menu_add_entry(menu_single_win, "Image Info", NULL, "INFO", 0, 0, NULL);
mi->func_gen_sub = feh_menu_func_gen_info;
Birte Kristina Friesel
committed
feh_menu_add_entry(menu_single_win, NULL, NULL, NULL, 0, 0, NULL);
mi = feh_menu_add_entry(menu_single_win, "Options", NULL, "OPTIONS", 0, 0, NULL);
mi->func_gen_sub = feh_menu_func_gen_options;
Birte Kristina Friesel
committed
feh_menu_add_entry(menu_single_win, "Close", NULL, NULL, CB_CLOSE, 0, NULL);
feh_menu_add_entry(menu_single_win, "Exit", NULL, NULL, CB_EXIT, 0, NULL);
Birte Kristina Friesel
committed
return;
}
void feh_menu_init_thumbnail_win(void)
{
feh_menu *m;
feh_menu_item *mi;
if (!common_menus)
feh_menu_init_common();
menu_thumbnail_win = feh_menu_new();
menu_thumbnail_win->name = estrdup("THUMBWIN");
Birte Kristina Friesel
committed
feh_menu_add_entry(menu_thumbnail_win, "File", NULL, "THUMBWIN_FILE", 0, 0, NULL);
m = feh_menu_new();
m->name = estrdup("THUMBWIN_FILE");
Birte Kristina Friesel
committed
feh_menu_add_entry(m, "Reset", NULL, NULL, CB_RESET, 0, NULL);
feh_menu_add_entry(m, "Resize Window", NULL, NULL, CB_FIT, 0, NULL);
feh_menu_add_entry(m, "Save Image", NULL, NULL, CB_SAVE_IMAGE, 0, NULL);
feh_menu_add_entry(m, "Save List", NULL, NULL, CB_SAVE_FILELIST, 0, NULL);
feh_menu_add_entry(m, "Background", NULL, "BACKGROUND", 0, 0, NULL);
feh_menu_add_entry(menu_thumbnail_win, NULL, NULL, NULL, 0, 0, NULL);
mi = feh_menu_add_entry(menu_thumbnail_win, "Options", NULL, "OPTIONS", 0, 0, NULL);
mi->func_gen_sub = feh_menu_func_gen_options;
Birte Kristina Friesel
committed
feh_menu_add_entry(menu_thumbnail_win, "Close", NULL, NULL, CB_CLOSE, 0, NULL);
feh_menu_add_entry(menu_thumbnail_win, "Exit", NULL, NULL, CB_EXIT, 0, NULL);
Birte Kristina Friesel
committed
return;
}
void feh_menu_init_thumbnail_viewer(void)
{
feh_menu *m;
feh_menu_item *mi;
if (!common_menus)
feh_menu_init_common();
menu_thumbnail_viewer = feh_menu_new();
menu_thumbnail_viewer->name = estrdup("THUMBVIEW");
Birte Kristina Friesel
committed
feh_menu_add_entry(menu_thumbnail_viewer, "File", NULL, "THUMBVIEW_FILE",
Birte Kristina Friesel
committed
0, 0, NULL);
m = feh_menu_new();
m->name = estrdup("THUMBVIEW_FILE");
Birte Kristina Friesel
committed
feh_menu_add_entry(m, "Reset", NULL, NULL, CB_RESET, 0, NULL);
feh_menu_add_entry(m, "Resize Window", NULL, NULL, CB_FIT, 0, NULL);
feh_menu_add_entry(m, "Reload", NULL, NULL, CB_RELOAD, 0, NULL);
feh_menu_add_entry(m, "Save Image", NULL, NULL, CB_SAVE_IMAGE, 0, NULL);
feh_menu_add_entry(m, "Save List", NULL, NULL, CB_SAVE_FILELIST, 0, NULL);
feh_menu_add_entry(m, "Edit in Place", NULL, "EDIT", 0, 0, NULL);
feh_menu_add_entry(m, "Background", NULL, "BACKGROUND", 0, 0, NULL);
feh_menu_add_entry(m, NULL, NULL, NULL, 0, 0, NULL);
feh_menu_add_entry(m, "Hide", NULL, NULL, CB_REMOVE_THUMB, 0, NULL);
feh_menu_add_entry(m, "Delete", NULL, "THUMBVIEW_CONFIRM", 0, 0, NULL);
Birte Kristina Friesel
committed
mi = feh_menu_add_entry(menu_thumbnail_viewer, "Image Info", NULL,
Birte Kristina Friesel
committed
"INFO", 0, 0, NULL);
mi->func_gen_sub = feh_menu_func_gen_info;
Birte Kristina Friesel
committed
feh_menu_add_entry(menu_thumbnail_viewer, NULL, NULL, NULL, 0, 0, NULL);
Birte Kristina Friesel
committed
mi = feh_menu_add_entry(menu_thumbnail_viewer, "Options", NULL,
Birte Kristina Friesel
committed
"OPTIONS", 0, 0, NULL);
mi->func_gen_sub = feh_menu_func_gen_options;
Birte Kristina Friesel
committed
feh_menu_add_entry(menu_thumbnail_viewer, "Close", NULL, NULL, CB_CLOSE, 0, NULL);
feh_menu_add_entry(menu_thumbnail_viewer, "Exit", NULL, NULL, CB_EXIT, 0, NULL);
m = feh_menu_new();
m->name = estrdup("THUMBVIEW_CONFIRM");
Birte Kristina Friesel
committed
feh_menu_add_entry(m, "Confirm", NULL, NULL, CB_DELETE_THUMB, 0, NULL);
Birte Kristina Friesel
committed
return;
}
Birte Kristina Friesel
committed
void feh_menu_cb_opt_fullscreen(feh_menu * m, feh_menu_item * i)
{
Birte Kristina Friesel
committed
int curr_screen = 0;
Birte Kristina Friesel
committed
MENU_ITEM_TOGGLE(i);
if (MENU_ITEM_IS_ON(i))
m->fehwin->full_screen = TRUE;
else
m->fehwin->full_screen = FALSE;
Birte Kristina Friesel
committed
#ifdef HAVE_LIBXINERAMA
if (opt.xinerama && xinerama_screens) {
int i, rect[4];
Birte Kristina Friesel
committed
winwidget_get_geometry(m->fehwin, rect);
for (i = 0; i < num_xinerama_screens; i++) {
xinerama_screen = 0;
if (XY_IN_RECT(rect[0], rect[1],
xinerama_screens[i].x_org,
xinerama_screens[i].y_org,
xinerama_screens[i].width, xinerama_screens[i].height)) {
curr_screen = xinerama_screen = i;
break;
}
Birte Kristina Friesel
committed
}
Birte Kristina Friesel
committed
if (getenv("XINERAMA_SCREEN"))
curr_screen = xinerama_screen =
atoi(getenv("XINERAMA_SCREEN"));
Birte Kristina Friesel
committed
}
#endif /* HAVE_LIBXINERAMA */
Birte Kristina Friesel
committed
winwidget_destroy_xwin(m->fehwin);
winwidget_create_window(m->fehwin, m->fehwin->im_w, m->fehwin->im_h);
winwidget_render_image(m->fehwin, 1, 0);
Birte Kristina Friesel
committed
winwidget_show(m->fehwin);
Birte Kristina Friesel
committed
#ifdef HAVE_LIBXINERAMA
/* if we have xinerama and we're using it, then full screen the window
* on the head that the window was active on */
if (m->fehwin->full_screen == TRUE && opt.xinerama && xinerama_screens) {
xinerama_screen = curr_screen;
winwidget_move(m->fehwin, xinerama_screens[curr_screen].x_org, xinerama_screens[curr_screen].y_org);
}
#endif /* HAVE_LIBXINERAMA */
Birte Kristina Friesel
committed
}
Birte Kristina Friesel
committed
void feh_menu_cb(feh_menu * m, feh_menu_item * i, int action, unsigned short data)
Birte Kristina Friesel
committed
{
char *path;
Birte Kristina Friesel
committed
switch (action) {
case CB_BG_TILED:
path = feh_absolute_path(FEH_FILE(m->fehwin->file->data)->filename);
Birte Kristina Friesel
committed
feh_wm_set_bg(path, m->fehwin->im, 0, 0, 0, data, 0);
Birte Kristina Friesel
committed
free(path);
break;
case CB_BG_SCALED:
path = feh_absolute_path(FEH_FILE(m->fehwin->file->data)->filename);
Birte Kristina Friesel
committed
feh_wm_set_bg(path, m->fehwin->im, 0, 1, 0, data, 0);
Birte Kristina Friesel
committed
free(path);
break;
case CB_BG_CENTERED:
path = feh_absolute_path(FEH_FILE(m->fehwin->file->data)->filename);
Birte Kristina Friesel
committed
feh_wm_set_bg(path, m->fehwin->im, 1, 0, 0, data, 0);
Birte Kristina Friesel
committed
free(path);
break;
case CB_BG_FILLED:
path = feh_absolute_path(FEH_FILE(m->fehwin->file->data)->filename);
Birte Kristina Friesel
committed
feh_wm_set_bg(path, m->fehwin->im, 0, 0, 1, data, 0);
Birte Kristina Friesel
committed
free(path);
break;
case CB_BG_TILED_NOFILE:
Birte Kristina Friesel
committed
feh_wm_set_bg(NULL, m->fehwin->im, 0, 0, 0, data, 0);
Birte Kristina Friesel
committed
break;
case CB_BG_SCALED_NOFILE:
Birte Kristina Friesel
committed
feh_wm_set_bg(NULL, m->fehwin->im, 0, 1, 0, data, 0);
Birte Kristina Friesel
committed
break;
case CB_BG_CENTERED_NOFILE:
Birte Kristina Friesel
committed
feh_wm_set_bg(NULL, m->fehwin->im, 1, 0, 0, data, 0);
Birte Kristina Friesel
committed
break;
case CB_BG_FILLED_NOFILE:
Birte Kristina Friesel
committed
feh_wm_set_bg(NULL, m->fehwin->im, 0, 0, 1, data, 0);
Birte Kristina Friesel
committed
break;
case CB_CLOSE:
winwidget_destroy(m->fehwin);
break;
case CB_EXIT:
winwidget_destroy_all();
break;
case CB_RESET:
if (m->fehwin->has_rotated) {
m->fehwin->im_w = gib_imlib_image_get_width(m->fehwin->im);
m->fehwin->im_h = gib_imlib_image_get_height(m->fehwin->im);
winwidget_resize(m->fehwin, m->fehwin->im_w, m->fehwin->im_h);
}
winwidget_reset_image(m->fehwin);
winwidget_render_image(m->fehwin, 1, 0);
Birte Kristina Friesel
committed
break;
case CB_RELOAD:
feh_reload_image(m->fehwin, 0, 1);
Birte Kristina Friesel
committed
break;
case CB_REMOVE:
feh_filelist_image_remove(m->fehwin, 0);
break;
case CB_DELETE:
feh_filelist_image_remove(m->fehwin, 1);
break;
case CB_REMOVE_THUMB:
feh_thumbnail_mark_removed(FEH_FILE(m->fehwin->file->data), 0);
feh_filelist_image_remove(m->fehwin, 0);
break;
case CB_DELETE_THUMB:
feh_thumbnail_mark_removed(FEH_FILE(m->fehwin->file->data), 1);
feh_filelist_image_remove(m->fehwin, 1);
break;
case CB_SORT_FILENAME:
filelist = gib_list_sort(filelist, feh_cmp_filename);
if (opt.jump_on_resort) {
slideshow_change_image(m->fehwin, SLIDE_FIRST, 1);
Birte Kristina Friesel
committed
}
break;
case CB_SORT_IMAGENAME:
filelist = gib_list_sort(filelist, feh_cmp_name);
if (opt.jump_on_resort) {
slideshow_change_image(m->fehwin, SLIDE_FIRST, 1);
Birte Kristina Friesel
committed
}
break;
case CB_SORT_FILESIZE:
filelist = gib_list_sort(filelist, feh_cmp_size);
if (opt.jump_on_resort) {
slideshow_change_image(m->fehwin, SLIDE_FIRST, 1);
Birte Kristina Friesel
committed
}
break;
case CB_SORT_RANDOMIZE:
filelist = gib_list_randomize(filelist);
if (opt.jump_on_resort) {
slideshow_change_image(m->fehwin, SLIDE_FIRST, 1);
Birte Kristina Friesel
committed
}
break;
case CB_FIT:
winwidget_size_to_image(m->fehwin);
break;
case CB_EDIT_ROTATE:
Birte Kristina Friesel
committed
feh_edit_inplace(m->fehwin, data);
Birte Kristina Friesel
committed
break;
case CB_SAVE_IMAGE:
slideshow_save_image(m->fehwin);
break;
case CB_SAVE_FILELIST:
feh_save_filelist();
break;
case CB_OPT_DRAW_FILENAME:
MENU_ITEM_TOGGLE(i);
if (MENU_ITEM_IS_ON(i))
opt.draw_filename = TRUE;
else
opt.draw_filename = FALSE;
winwidget_rerender_all(0);
Birte Kristina Friesel
committed
break;
case CB_OPT_DRAW_ACTIONS:
MENU_ITEM_TOGGLE(i);
if (MENU_ITEM_IS_ON(i))
opt.draw_actions = TRUE;
else
opt.draw_actions = FALSE;
winwidget_rerender_all(0);
break;
Birte Kristina Friesel
committed
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
case CB_OPT_KEEP_HTTP:
MENU_ITEM_TOGGLE(i);
if (MENU_ITEM_IS_ON(i))
opt.keep_http = TRUE;
else
opt.keep_http = FALSE;
break;
case CB_OPT_FREEZE_WINDOW:
MENU_ITEM_TOGGLE(i);
if (MENU_ITEM_IS_ON(i)) {
opt.geom_flags = (WidthValue | HeightValue);
opt.geom_w = m->fehwin->w;
opt.geom_h = m->fehwin->h;
} else {
opt.geom_flags = 0;
}
break;
case CB_OPT_FULLSCREEN:
feh_menu_cb_opt_fullscreen(m, i);
break;
case CB_OPT_AUTO_ZOOM:
MENU_ITEM_TOGGLE(i);
if (MENU_ITEM_IS_ON(i))
Birte Kristina Friesel
committed
opt.zoom_mode = ZOOM_MODE_MAX;
else
opt.zoom_mode = 0;
winwidget_rerender_all(1);
Birte Kristina Friesel
committed
break;
}
Birte Kristina Friesel
committed
return;
}
Birte Kristina Friesel
committed
static feh_menu *feh_menu_func_gen_info(feh_menu * m)
{
Imlib_Image im;
feh_menu *mm;
feh_file *file;
char buffer[400];
if (!m->fehwin->file)
Birte Kristina Friesel
committed
return(NULL);
file = FEH_FILE(m->fehwin->file->data);
im = m->fehwin->im;
if (!im)
Birte Kristina Friesel
committed
return(NULL);
mm = feh_menu_new();
mm->name = estrdup("INFO");
snprintf(buffer, sizeof(buffer), "Filename: %s", file->name);
Birte Kristina Friesel
committed
feh_menu_add_entry(mm, buffer, NULL, NULL, 0, 0, NULL);
if (!file->info)
feh_file_info_load(file, im);
if (file->info) {
snprintf(buffer, sizeof(buffer), "Size: %dKb", file->info->size / 1024);
Birte Kristina Friesel
committed
feh_menu_add_entry(mm, buffer, NULL, NULL, 0, 0, NULL);
snprintf(buffer, sizeof(buffer), "Dimensions: %dx%d", file->info->width, file->info->height);
Birte Kristina Friesel
committed
feh_menu_add_entry(mm, buffer, NULL, NULL, 0, 0, NULL);
snprintf(buffer, sizeof(buffer), "Type: %s", file->info->format);
Birte Kristina Friesel
committed
feh_menu_add_entry(mm, buffer, NULL, NULL, 0, 0, NULL);
}
mm->func_free = feh_menu_func_free_info;
Birte Kristina Friesel
committed
return(mm);
}
Birte Kristina Friesel
committed
static void feh_menu_func_free_info(feh_menu * m)
{
feh_menu_free(m);
Birte Kristina Friesel
committed
return;
}
Birte Kristina Friesel
committed
static feh_menu *feh_menu_func_gen_options(feh_menu * m)
{
feh_menu *mm;
mm = feh_menu_new();
mm->name = estrdup("OPTIONS");
mm->fehwin = m->fehwin;
Birte Kristina Friesel
committed
feh_menu_add_toggle_entry(mm, "Auto-Zoom", NULL, NULL, CB_OPT_AUTO_ZOOM,
Birte Kristina Friesel
committed
0, NULL, opt.zoom_mode);
feh_menu_add_toggle_entry(mm, "Freeze Window Size", NULL, NULL,
Birte Kristina Friesel
committed
CB_OPT_FREEZE_WINDOW, 0, NULL, opt.geom_flags);
feh_menu_add_toggle_entry(mm, "Fullscreen", NULL, NULL,
Birte Kristina Friesel
committed
CB_OPT_FULLSCREEN, 0, NULL, m->fehwin->full_screen);
Birte Kristina Friesel
committed
feh_menu_add_entry(mm, NULL, NULL, NULL, 0, 0, NULL);
feh_menu_add_toggle_entry(mm, "Draw Filename", NULL, NULL,
Birte Kristina Friesel
committed
CB_OPT_DRAW_FILENAME, 0, NULL, opt.draw_filename);
feh_menu_add_toggle_entry(mm, "Draw Actions", NULL, NULL,
Birte Kristina Friesel
committed
CB_OPT_DRAW_ACTIONS, 0, NULL, opt.draw_actions);
feh_menu_add_toggle_entry(mm, "Keep HTTP Files", NULL, NULL,
Birte Kristina Friesel
committed
CB_OPT_KEEP_HTTP, 0, NULL, opt.keep_http);
mm->func_free = feh_menu_func_free_options;
Birte Kristina Friesel
committed
return(mm);
Birte Kristina Friesel
committed
static void feh_menu_func_free_options(feh_menu * m)
{
feh_menu_free(m);
Birte Kristina Friesel
committed
return;