Exemple #1
0
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)
		return(NULL);
	file = FEH_FILE(m->fehwin->file->data);
	im = m->fehwin->im;
	if (!im)
		return(NULL);
	mm = feh_menu_new();
	mm->name = estrdup("INFO");
	snprintf(buffer, sizeof(buffer), "Filename: %s", file->name);
	feh_menu_add_entry(mm, buffer, NULL, NULL, 0, NULL, NULL);
	if (!file->info)
		feh_file_info_load(file, im);
	if (file->info) {
		snprintf(buffer, sizeof(buffer), "Size: %dKb", file->info->size / 1024);
		feh_menu_add_entry(mm, buffer, NULL, NULL, 0, NULL, NULL);
		snprintf(buffer, sizeof(buffer), "Dimensions: %dx%d", file->info->width, file->info->height);
		feh_menu_add_entry(mm, buffer, NULL, NULL, 0, NULL, NULL);
		snprintf(buffer, sizeof(buffer), "Type: %s", file->info->format);
		feh_menu_add_entry(mm, buffer, NULL, NULL, 0, NULL, NULL);
	}

	mm->func_free = feh_menu_func_free_info;
	return(mm);
}
Exemple #2
0
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");

	feh_menu_add_entry(menu_thumbnail_win, "File", NULL, "THUMBWIN_FILE", 0, NULL, NULL);
	m = feh_menu_new();
	m->name = estrdup("THUMBWIN_FILE");
	feh_menu_add_entry(m, "Reset", NULL, NULL, CB_RESET, NULL, NULL);
	feh_menu_add_entry(m, "Resize Window", NULL, NULL, CB_FIT, NULL, NULL);
	feh_menu_add_entry(m, "Save Image", NULL, NULL, CB_SAVE_IMAGE, NULL, NULL);
	feh_menu_add_entry(m, "Save List", NULL, NULL, CB_SAVE_FILELIST, NULL, NULL);
	feh_menu_add_entry(m, "Background", NULL, "BACKGROUND", 0, NULL, NULL);
	feh_menu_add_entry(menu_thumbnail_win, NULL, NULL, NULL, 0, NULL, NULL);
	mi = feh_menu_add_entry(menu_thumbnail_win, "Options", NULL, "OPTIONS", 0, NULL, NULL);
	mi->func_gen_sub = feh_menu_func_gen_options;
	feh_menu_add_entry(menu_thumbnail_win, "Close", NULL, NULL, CB_CLOSE, NULL, NULL);
	feh_menu_add_entry(menu_thumbnail_win, "Exit", NULL, NULL, CB_EXIT, NULL, NULL);
	return;
}
Exemple #3
0
void feh_menu_init_about_win(void)
{
	menu_about_win = feh_menu_new();
	menu_about_win->name = estrdup("ABOUTWIN");

	feh_menu_add_entry(menu_about_win, "Close", NULL, NULL, CB_CLOSE, NULL, NULL);
	feh_menu_add_entry(menu_about_win, "Exit", NULL, NULL, CB_EXIT, NULL, NULL);

	return;
}
Exemple #4
0
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;
	feh_menu_add_toggle_entry(mm, "Auto-Zoom", NULL, NULL, CB_OPT_AUTO_ZOOM,
				NULL, NULL, opt.zoom_mode);
	feh_menu_add_toggle_entry(mm, "Freeze Window Size", NULL, NULL,
				CB_OPT_FREEZE_WINDOW, NULL, NULL, opt.geom_flags);
	feh_menu_add_toggle_entry(mm, "Fullscreen", NULL, NULL,
				CB_OPT_FULLSCREEN, NULL, NULL, m->fehwin->full_screen);

	feh_menu_add_entry(mm, NULL, NULL, NULL, 0, NULL, NULL);

	feh_menu_add_toggle_entry(mm, "Draw Filename", NULL, NULL,
				CB_OPT_DRAW_FILENAME, NULL, NULL, opt.draw_filename);
	feh_menu_add_toggle_entry(mm, "Draw Actions", NULL, NULL,
				CB_OPT_DRAW_ACTIONS, NULL, NULL, opt.draw_actions);
	feh_menu_add_toggle_entry(mm, "Keep HTTP Files", NULL, NULL,
				CB_OPT_KEEP_HTTP, NULL, NULL, opt.keep_http);
	mm->func_free = feh_menu_func_free_options;
	return(mm);
}
Exemple #5
0
feh_menu_item *feh_menu_add_toggle_entry(feh_menu * m, char *text,
		Imlib_Image icon, char *submenu, int action,
		void *data, void (*func_free) (void *data), int setting)
{
	feh_menu_item *mi;

	mi = feh_menu_add_entry(m, text, icon, submenu, action, data, func_free);
	mi->is_toggle = TRUE;
	MENU_ITEM_TOGGLE_SET(mi, setting);
	return(mi);
}
Exemple #6
0
void feh_menu_init_common()
{
	int num_desks, i;
	char buf[30];
	feh_menu *m;

	if (!opt.menu_fn) {
		opt.menu_fn = gib_imlib_load_font(opt.menu_font);
		if (!opt.menu_fn)
			eprintf
			    ("couldn't load menu font %s, did you make install?\nAre you specifying a nonexistant font?\nDid you tell feh where to find it with --fontpath?",
			     opt.menu_font);
	}
	if (!opt.menu_style_l) {
		opt.menu_style_l = gib_style_new_from_ascii(opt.menu_style);
		if (!opt.menu_style_l) {
			weprintf
			    ("couldn't load style file for menu fonts, (%s).\nDid you make install? Menus will look boring without the style file.",
			     opt.menu_style);
		}
	}

	m = feh_menu_new();
	m->name = estrdup("SORT");

	feh_menu_add_entry(m, "By File Name", NULL, NULL, CB_SORT_FILENAME, NULL, NULL);
	feh_menu_add_entry(m, "By Image Name", NULL, NULL, CB_SORT_IMAGENAME, NULL, NULL);
	if (opt.preload || (opt.sort > SORT_FILENAME))
		feh_menu_add_entry(m, "By File Size", NULL, NULL, CB_SORT_FILESIZE, NULL, NULL);
	feh_menu_add_entry(m, "Randomize", NULL, NULL, CB_SORT_RANDOMIZE, NULL, NULL);

	m = feh_menu_new();
	m->name = estrdup("CONFIRM");
	feh_menu_add_entry(m, "Confirm", NULL, NULL, CB_DELETE, NULL, NULL);

	m = feh_menu_new();
	m->name = estrdup("EDIT");
	feh_menu_add_entry(m, "Rotate 90 CW", NULL, NULL, CB_EDIT_ROTATE, (void *) 1, NULL);
	feh_menu_add_entry(m, "Rotate 180", NULL, NULL, CB_EDIT_ROTATE, (void *) 2, NULL);
	feh_menu_add_entry(m, "Rotate 90 CCW", NULL, NULL, CB_EDIT_ROTATE, (void *) 3, NULL);

	menu_bg = feh_menu_new();
	menu_bg->name = estrdup("BACKGROUND");

	num_desks = feh_wm_get_num_desks();
	if (num_desks > 1) {
		feh_menu_add_entry(menu_bg, "Set Tiled", NULL, "TILED", 0, NULL, NULL);
		feh_menu_add_entry(menu_bg, "Set Scaled", NULL, "SCALED", 0, NULL, NULL);
		feh_menu_add_entry(menu_bg, "Set Centered", NULL, "CENTERED", 0, NULL, NULL);
		feh_menu_add_entry(menu_bg, "Set Filled", NULL, "FILLED", 0, NULL, 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)
				feh_menu_add_entry(m, buf, NULL, NULL, CB_BG_TILED,
						(void *) i, NULL);
			else
				feh_menu_add_entry(m, buf, NULL, NULL, CB_BG_TILED_NOFILE,
						(void *) 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)
				feh_menu_add_entry(m, buf, NULL, NULL, CB_BG_SCALED,
						(void *) i, NULL);
			else
				feh_menu_add_entry(m, buf, NULL, NULL, CB_BG_SCALED_NOFILE,
						(void *) 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,
						CB_BG_CENTERED, (void *) i, NULL);
			else
				feh_menu_add_entry(m, buf, NULL, NULL,
						CB_BG_CENTERED_NOFILE, (void *) i, NULL);
		}

		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,
						CB_BG_FILLED,
						(void *) i, NULL);
			else
				feh_menu_add_entry(m, buf, NULL, NULL,
						CB_BG_FILLED_NOFILE,
						(void *) i, NULL);
		}
	} else {
		if (opt.slideshow || opt.multiwindow) {
			feh_menu_add_entry(menu_bg, "Set Tiled", NULL,
					NULL, CB_BG_TILED, NULL, NULL);
			feh_menu_add_entry(menu_bg, "Set Scaled", NULL,
					NULL, CB_BG_SCALED, NULL, NULL);
			feh_menu_add_entry(menu_bg, "Set Centered", NULL,
					NULL, CB_BG_CENTERED, NULL, NULL);
			feh_menu_add_entry(menu_bg, "Set Filled", NULL,
					NULL, CB_BG_FILLED, NULL, NULL);
		} else {
			feh_menu_add_entry(menu_bg, "Set Tiled", NULL,
					NULL, CB_BG_TILED_NOFILE, NULL, NULL);
			feh_menu_add_entry(menu_bg, "Set Scaled", NULL,
					NULL, CB_BG_SCALED_NOFILE, NULL, NULL);
			feh_menu_add_entry(menu_bg, "Set Centered", NULL,
					NULL, CB_BG_CENTERED_NOFILE, NULL, NULL);
			feh_menu_add_entry(menu_bg, "Set Filled", NULL,
					NULL, CB_BG_FILLED_NOFILE, NULL, NULL);
		}
	}
	common_menus = 1;

	return;
}
Exemple #7
0
void feh_menu_init_main(void)
{
	feh_menu *m;
	feh_menu_item *mi;

	if (!common_menus)
		feh_menu_init_common();

	menu_main = feh_menu_new();
	menu_main->name = estrdup("MAIN");

	feh_menu_add_entry(menu_main, "File", NULL, "FILE", 0, NULL, NULL);
	if (opt.slideshow || opt.multiwindow) {
		feh_menu_add_entry(menu_main, "Sort List", NULL, "SORT", 0, NULL, NULL);
		mi = feh_menu_add_entry(menu_main, "Image Info", NULL, "INFO", 0, NULL, NULL);
		mi->func_gen_sub = feh_menu_func_gen_info;
		feh_menu_add_entry(menu_main, NULL, NULL, NULL, 0, NULL, NULL);
	}
	mi = feh_menu_add_entry(menu_main, "Options", NULL, "OPTIONS", 0, NULL, NULL);
	mi->func_gen_sub = feh_menu_func_gen_options;

	if (!opt.full_screen)
		feh_menu_add_entry(menu_main, "About " PACKAGE, NULL, NULL, CB_ABOUT, NULL, NULL);
	if (opt.multiwindow)
		feh_menu_add_entry(menu_main, "Close", NULL, NULL, CB_CLOSE, NULL, NULL);
	feh_menu_add_entry(menu_main, "Exit", NULL, NULL, CB_EXIT, NULL, NULL);

	m = feh_menu_new();
	m->name = estrdup("FILE");
	feh_menu_add_entry(m, "Reset", NULL, NULL, CB_RESET, NULL, NULL);
	feh_menu_add_entry(m, "Resize Window", NULL, NULL, CB_FIT, NULL, NULL);
	feh_menu_add_entry(m, "Reload", NULL, NULL, CB_RELOAD, NULL, NULL);
	feh_menu_add_entry(m, "Save Image", NULL, NULL, CB_SAVE_IMAGE, NULL, NULL);
	feh_menu_add_entry(m, "Save List", NULL, NULL, CB_SAVE_FILELIST, NULL, NULL);
	feh_menu_add_entry(m, "Edit in Place", NULL, "EDIT", 0, NULL, NULL);
	feh_menu_add_entry(m, "Background", NULL, "BACKGROUND", 0, NULL, NULL);
	feh_menu_add_entry(m, NULL, NULL, NULL, 0, NULL, NULL);
	feh_menu_add_entry(m, "Hide", NULL, NULL, CB_REMOVE, NULL, NULL);
	feh_menu_add_entry(m, "Delete", NULL, "CONFIRM", 0, NULL, NULL);

	return;
}
Exemple #8
0
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");

	feh_menu_add_entry(menu_thumbnail_viewer, "File", NULL, "THUMBVIEW_FILE",
			0, NULL, NULL);
	m = feh_menu_new();
	m->name = estrdup("THUMBVIEW_FILE");
	feh_menu_add_entry(m, "Reset", NULL, NULL, CB_RESET, NULL, NULL);
	feh_menu_add_entry(m, "Resize Window", NULL, NULL, CB_FIT, NULL, NULL);
	feh_menu_add_entry(m, "Reload", NULL, NULL, CB_RELOAD, NULL, NULL);
	feh_menu_add_entry(m, "Save Image", NULL, NULL, CB_SAVE_IMAGE, NULL, NULL);
	feh_menu_add_entry(m, "Save List", NULL, NULL, CB_SAVE_FILELIST, NULL, NULL);
	feh_menu_add_entry(m, "Edit in Place", NULL, "EDIT", 0, NULL, NULL);
	feh_menu_add_entry(m, "Background", NULL, "BACKGROUND", 0, NULL, NULL);
	feh_menu_add_entry(m, NULL, NULL, NULL, 0, NULL, NULL);
	feh_menu_add_entry(m, "Hide", NULL, NULL, CB_REMOVE_THUMB, NULL, NULL);
	feh_menu_add_entry(m, "Delete", NULL, "THUMBVIEW_CONFIRM", 0, NULL, NULL);
	mi = feh_menu_add_entry(menu_thumbnail_viewer, "Image Info", NULL,
			"INFO", 0, NULL, NULL);
	mi->func_gen_sub = feh_menu_func_gen_info;
	feh_menu_add_entry(menu_thumbnail_viewer, NULL, NULL, NULL, 0, NULL, NULL);
	mi = feh_menu_add_entry(menu_thumbnail_viewer, "Options", NULL,
			"OPTIONS", 0, NULL, NULL);
	mi->func_gen_sub = feh_menu_func_gen_options;
	feh_menu_add_entry(menu_thumbnail_viewer, "About " PACKAGE, NULL, NULL,
			CB_ABOUT, NULL, NULL);
	feh_menu_add_entry(menu_thumbnail_viewer, "Close", NULL, NULL, CB_CLOSE, NULL, NULL);
	feh_menu_add_entry(menu_thumbnail_viewer, "Exit", NULL, NULL, CB_EXIT, NULL, NULL);
	m = feh_menu_new();
	m->name = estrdup("THUMBVIEW_CONFIRM");
	feh_menu_add_entry(m, "Confirm", NULL, NULL, CB_DELETE_THUMB, NULL, NULL);
	return;
}