// SPDX-License-Identifier: GPL-2.0-or-later

static const gchar *const crop_targets[] =
{
	"1-1",
	"4-3",
	"3-2",
	"16-9",
	nullptr
};

static const gchar *const view_mode_targets[] =
{
	"list",
	"icons",
	nullptr
};

static const gchar *const split_mode_targets[] =
{
	"horizontal",
	"vertical",
	"triple",
	"quad",
	"single",
	nullptr
};

static const gchar *const stereo_targets[] =
{
	"auto",
	"side-by-side",
	"cross",
	"off",
	nullptr
};

static const gchar *const osd_targets[] =
{
	"1",
	"2",
	"3",
	"4",
	nullptr
};

static const gchar *const histogram_channel_targets[] =
{
	"red",
	"green",
	"blue",
	"rgb",
	"value",
	nullptr
};

static const gchar *const histogram_mode_targets[] =
{
	"linear",
	"log",
	nullptr
};

const ActionDef main_actions[] =
{
		{
		"win.main-win-add-mark-0",
		nullptr,
		N_("Add mark 0"),
		layout_menu_mark_to_selection_cb<MTS_MODE_OR, 0>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-add-mark-1",
		nullptr,
		N_("Add mark 1"),
		layout_menu_mark_to_selection_cb<MTS_MODE_OR, 1>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-add-mark-2",
		nullptr,
		N_("Add mark 2"),
		layout_menu_mark_to_selection_cb<MTS_MODE_OR, 2>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-add-mark-3",
		nullptr,
		N_("Add mark 3"),
		layout_menu_mark_to_selection_cb<MTS_MODE_OR, 3>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-add-mark-4",
		nullptr,
		N_("Add mark 4"),
		layout_menu_mark_to_selection_cb<MTS_MODE_OR, 4>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-add-mark-5",
		nullptr,
		N_("Add mark 5"),
		layout_menu_mark_to_selection_cb<MTS_MODE_OR, 5>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-add-mark-6",
		nullptr,
		N_("Add mark 6"),
		layout_menu_mark_to_selection_cb<MTS_MODE_OR, 6>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-add-mark-7",
		nullptr,
		N_("Add mark 7"),
		layout_menu_mark_to_selection_cb<MTS_MODE_OR, 7>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-add-mark-8",
		nullptr,
		N_("Add mark 8"),
		layout_menu_mark_to_selection_cb<MTS_MODE_OR, 8>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-add-mark-9",
		nullptr,
		N_("Add mark 9"),
		layout_menu_mark_to_selection_cb<MTS_MODE_OR, 9>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-animate",
		nullptr,
		N_("Toggle animation"),
		layout_menu_animate_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-back",
		GQ_ICON_GO_PREV,
		N_("Back in folder history"),
		layout_menu_back_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-clear-mark-0",
		nullptr,
		N_("Clear mark 0"),
		layout_menu_selection_to_mark_cb<STM_MODE_RESET, 0>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-clear-mark-1",
		nullptr,
		N_("Clear mark 1"),
		layout_menu_selection_to_mark_cb<STM_MODE_RESET, 1>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-clear-mark-2",
		nullptr,
		N_("Clear mark 2"),
		layout_menu_selection_to_mark_cb<STM_MODE_RESET, 2>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-clear-mark-3",
		nullptr,
		N_("Clear mark 3"),
		layout_menu_selection_to_mark_cb<STM_MODE_RESET, 3>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-clear-mark-4",
		nullptr,
		N_("Clear mark 4"),
		layout_menu_selection_to_mark_cb<STM_MODE_RESET, 4>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-clear-mark-5",
		nullptr,
		N_("Clear mark 5"),
		layout_menu_selection_to_mark_cb<STM_MODE_RESET, 5>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-clear-mark-6",
		nullptr,
		N_("Clear mark 6"),
		layout_menu_selection_to_mark_cb<STM_MODE_RESET, 6>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-clear-mark-7",
		nullptr,
		N_("Clear mark 7"),
		layout_menu_selection_to_mark_cb<STM_MODE_RESET, 7>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-clear-mark-8",
		nullptr,
		N_("Clear mark 8"),
		layout_menu_selection_to_mark_cb<STM_MODE_RESET, 8>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-clear-mark-9",
		nullptr,
		N_("Clear mark 9"),
		layout_menu_selection_to_mark_cb<STM_MODE_RESET, 9>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-clear-marks",
		nullptr,
		N_("Clear Marks"),
		layout_menu_clear_marks_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-close-window",
		GQ_ICON_CLOSE,
		N_("Close window"),
		layout_menu_close_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-color-profile",
		nullptr,
		N_("Input "),
		layout_color_menu_input_cb,
		G_VARIANT_TYPE_INT32,
		ActionStateType::INT32,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-configure-window",
		GQ_ICON_PREFERENCES,
		N_("Configure this window…"),
		layout_menu_layout_config_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-1-1",
		GQ_ICON_ZOOM_100,
		N_("Connected Zoom 1:1"),
		layout_menu_zoom_set_cb<1, TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-1-2",
		nullptr,
		N_("Connected Zoom 1:2"),
		layout_menu_zoom_set_cb < -2, TRUE >,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-1-3",
		nullptr,
		N_("Connected Zoom 1:3"),
		layout_menu_zoom_set_cb < -3, TRUE >,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-1-4",
		nullptr,
		N_("Connected Zoom 1:4"),
		layout_menu_zoom_set_cb < -4, TRUE >,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-2-1",
		nullptr,
		N_("Connected Zoom 2:1"),
		layout_menu_zoom_set_cb<2, TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-3-1",
		nullptr,
		N_("Connected Zoom 3:1"),
		layout_menu_zoom_set_cb<3, TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-4-1",
		nullptr,
		N_("Connected Zoom 4:1"),
		layout_menu_zoom_set_cb<4, TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-fill-horizontal",
		nullptr,
		N_("Connected Fill Horizontally"),
		layout_menu_zoom_fit_hv_cb<FALSE, TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-fill-vertical",
		nullptr,
		N_("Connected Fill Vertically"),
		layout_menu_zoom_fit_hv_cb<TRUE, TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-fit",
		GQ_ICON_ZOOM_FIT,
		N_("Connected Zoom to fit"),
		layout_menu_zoom_set_cb<0, TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-in",
		GQ_ICON_ZOOM_IN,
		N_("Connected Zoom in"),
		layout_menu_zoom_in_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connect-zoom-out",
		GQ_ICON_ZOOM_OUT,
		N_("Connected Zoom out"),
		layout_menu_zoom_out_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-connected-zoom-menu",
		nullptr,
		N_("Connected Zoom"),
		connected_zoom_menu_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-copy",
		GQ_ICON_COPY,
		N_("Copy…"),
		layout_menu_copy_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-copy-image",
		nullptr,
		N_("Copy image to clipboard"),
		layout_menu_copy_image_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-copy-path",
		nullptr,
		N_("Copy to clipboard"),
		layout_menu_copy_path_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-copy-path-unquoted",
		nullptr,
		N_("Copy to clipboard (unquoted)"),
		layout_menu_copy_path_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-crop",
		nullptr,
		N_("Crop rectangle"),
		layout_menu_draw_rectangle_aspect_ratio_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::STRING,
		FALSE,
		"none",
		0,
		crop_targets,
		},

		{
		"win.main-win-crop-rectangle",
		nullptr,
		N_("Crop Rectangle"),
		layout_menu_crop_selection_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-cut-path",
		nullptr,
		N_("Cut to clipboard"),
		layout_menu_cut_path_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-delete",
		GQ_ICON_USER_TRASH,
		N_("Move selection to Trash…"),
		layout_menu_delete_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-delete-permanent",
		GQ_ICON_DELETE,
		N_("Delete selection…"),
		layout_menu_delete_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-delete-window",
		GQ_ICON_DELETE,
		N_("Delete window"),
		layout_menu_window_delete_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-deselect-mark-0",
		nullptr,
		N_("Deselect mark 0"),
		layout_menu_mark_to_selection_cb<MTS_MODE_MINUS, 0>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-deselect-mark-1",
		nullptr,
		N_("Deselect mark 1"),
		layout_menu_mark_to_selection_cb<MTS_MODE_MINUS, 1>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-deselect-mark-2",
		nullptr,
		N_("Deselect mark 2"),
		layout_menu_mark_to_selection_cb<MTS_MODE_MINUS, 2>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-deselect-mark-3",
		nullptr,
		N_("Deselect mark 3"),
		layout_menu_mark_to_selection_cb<MTS_MODE_MINUS, 3>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-deselect-mark-4",
		nullptr,
		N_("Deselect mark 4"),
		layout_menu_mark_to_selection_cb<MTS_MODE_MINUS, 4>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-deselect-mark-5",
		nullptr,
		N_("Deselect mark 5"),
		layout_menu_mark_to_selection_cb<MTS_MODE_MINUS, 5>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-deselect-mark-6",
		nullptr,
		N_("Deselect mark 6"),
		layout_menu_mark_to_selection_cb<MTS_MODE_MINUS, 6>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-deselect-mark-7",
		nullptr,
		N_("Deselect mark 7"),
		layout_menu_mark_to_selection_cb<MTS_MODE_MINUS, 7>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-deselect-mark-8",
		nullptr,
		N_("Deselect mark 8"),
		layout_menu_mark_to_selection_cb<MTS_MODE_MINUS, 8>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-deselect-mark-9",
		nullptr,
		N_("Deselect mark 9"),
		layout_menu_mark_to_selection_cb<MTS_MODE_MINUS, 9>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-disable-grouping",
		nullptr,
		N_("Disable file grouping"),
		layout_menu_disable_grouping_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-draw-rectangle",
		PIXBUF_INLINE_ICON_DRAW_RECTANGLE,
		N_("Draw Rectangle"),
		layout_menu_select_rectangle_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-enable-grouping",
		nullptr,
		N_("Enable file grouping"),
		layout_menu_disable_grouping_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-exif-rotate",
		GQ_ICON_ROTATE_LEFT,
		N_("Toggle Exif rotate"),
		layout_menu_exif_rotate_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-exif-window",
		PIXBUF_INLINE_ICON_EXIF,
		N_("Exif window"),
		layout_menu_bar_exif_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-filter-mark-0",
		nullptr,
		N_("Filter mark 0"),
		layout_menu_mark_filter_toggle_cb<0>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-filter-mark-1",
		nullptr,
		N_("Filter mark 1"),
		layout_menu_mark_filter_toggle_cb<1>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-filter-mark-2",
		nullptr,
		N_("Filter mark 2"),
		layout_menu_mark_filter_toggle_cb<2>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-filter-mark-3",
		nullptr,
		N_("Filter mark 3"),
		layout_menu_mark_filter_toggle_cb<3>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-filter-mark-4",
		nullptr,
		N_("Filter mark 4"),
		layout_menu_mark_filter_toggle_cb<4>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-filter-mark-5",
		nullptr,
		N_("Filter mark 5"),
		layout_menu_mark_filter_toggle_cb<5>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-filter-mark-6",
		nullptr,
		N_("Filter mark 6"),
		layout_menu_mark_filter_toggle_cb<6>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-filter-mark-7",
		nullptr,
		N_("Filter mark 7"),
		layout_menu_mark_filter_toggle_cb<7>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-filter-mark-8",
		nullptr,
		N_("Filter mark 8"),
		layout_menu_mark_filter_toggle_cb<8>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-filter-mark-9",
		nullptr,
		N_("Filter mark 9"),
		layout_menu_mark_filter_toggle_cb<9>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-find-duplicates",
		GQ_ICON_FIND,
		N_("Find duplicates…"),
		layout_menu_dupes_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-first-image",
		GQ_ICON_GO_TOP,
		N_("First Image"),
		layout_menu_image_first_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-first-page",
		GQ_ICON_PREV_PAGE,
		N_("First Page of multi-page image"),
		layout_menu_page_first_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-flip",
		GQ_ICON_FLIP_VERTICAL,
		N_("Image Flip"),
		layout_menu_alter_cb<ALTER_FLIP>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-float-tools",
		PIXBUF_INLINE_ICON_FLOAT,
		N_("Float file list"),
		layout_menu_float_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-folder-tree",
		PIXBUF_INLINE_ICON_FLOAT,
		N_("Toggle Folder View"),
		layout_menu_view_dir_as_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-forward",
		GQ_ICON_GO_NEXT,
		N_("Forward in folder history"),
		layout_menu_forward_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-fullscreen",
		GQ_ICON_FULLSCREEN,
		N_("Fullscreen"),
		layout_menu_fullscreen_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-grayscale",
		PIXBUF_INLINE_ICON_GRAYSCALE,
		N_("Toggle grayscale"),
		layout_menu_alter_desaturate_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-hide-bars",
		nullptr,
		N_("Hide Bars and Files"),
		layout_menu_hide_bars_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-hide-selectable-toolbars",
		nullptr,
		N_("Hide Selectable Bars"),
		layout_menu_selectable_toolbars_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-hide-tools",
		PIXBUF_INLINE_ICON_HIDETOOLS,
		N_("Hide file list"),
		layout_menu_hide_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-histogram-channel",
		nullptr,
		N_("Histogram on"),
		layout_menu_histogram_channel_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::STRING,
		FALSE,
		"rgb",
		0,
		histogram_channel_targets,
		},

		{
		"win.main-win-histogram-channel-cycle",
		nullptr,
		N_("Cycle through histogram channels"),
		layout_menu_histogram_toggle_channel_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-histogram-mode",
		nullptr,
		N_("Histogram"),
		layout_menu_histogram_mode_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::STRING,
		FALSE,
		"none",
		0,
		histogram_mode_targets,
		},

		{
		"win.main-win-histogram-mode-cycle",
		nullptr,
		N_("Cycle through histogram modes"),
		layout_menu_histogram_toggle_mode_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-home",
		GQ_ICON_HOME,
		N_("Home"),
		layout_menu_home_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-ignore-alpha",
		GQ_ICON_STRIKETHROUGH,
		N_("Hide alpha channel"),
		layout_menu_alter_ignore_alpha_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-image-back",
		GQ_ICON_GO_FIRST,
		N_("Back in image history"),
		layout_menu_image_back_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-image-forward",
		GQ_ICON_GO_LAST,
		N_("Forward in image history"),
		layout_menu_image_forward_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-image-histogram",
		nullptr,
		N_("Show Histogram"),
		layout_menu_histogram_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-image-overlay",
		nullptr,
		N_("Image Overlay"),
		layout_menu_overlay_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-image-overlay-cycle",
		nullptr,
		N_("Cycle through Overlay modes"),
		layout_menu_overlay_toggle_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-info-sidebar",
		PIXBUF_INLINE_ICON_PROPERTIES,
		N_("Info sidebar"),
		layout_menu_bar_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-intersect-mark-0",
		nullptr,
		N_("Intersection with mark 0"),
		layout_menu_mark_to_selection_cb<MTS_MODE_AND, 0>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-intersect-mark-1",
		nullptr,
		N_("Intersection with mark 1"),
		layout_menu_mark_to_selection_cb<MTS_MODE_AND, 1>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-intersect-mark-2",
		nullptr,
		N_("Intersection with mark 2"),
		layout_menu_mark_to_selection_cb<MTS_MODE_AND, 2>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-intersect-mark-3",
		nullptr,
		N_("Intersection with mark 3"),
		layout_menu_mark_to_selection_cb<MTS_MODE_AND, 3>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-intersect-mark-4",
		nullptr,
		N_("Intersection with mark 4"),
		layout_menu_mark_to_selection_cb<MTS_MODE_AND, 4>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-intersect-mark-5",
		nullptr,
		N_("Intersection with mark 5"),
		layout_menu_mark_to_selection_cb<MTS_MODE_AND, 5>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-intersect-mark-6",
		nullptr,
		N_("Intersection with mark 6"),
		layout_menu_mark_to_selection_cb<MTS_MODE_AND, 6>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-intersect-mark-7",
		nullptr,
		N_("Intersection with mark 7"),
		layout_menu_mark_to_selection_cb<MTS_MODE_AND, 7>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-intersect-mark-8",
		nullptr,
		N_("Intersection with mark 8"),
		layout_menu_mark_to_selection_cb<MTS_MODE_AND, 8>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-intersect-mark-9",
		nullptr,
		N_("Intersection with mark 9"),
		layout_menu_mark_to_selection_cb<MTS_MODE_AND, 9>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-keyword-autocomplete",
		nullptr,
		N_("Keyword Autocomplete"),
		layout_menu_keyword_autocomplete_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-last-image",
		GQ_ICON_GO_BOTTOM,
		N_("Last Image"),
		layout_menu_image_last_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-last-page",
		GQ_ICON_NEXT_PAGE,
		N_("Last Page of multi-page image"),
		layout_menu_page_last_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-leave-fullscreen", // is this used?
		GQ_ICON_LEAVE_FULLSCREEN,
		N_("Leave fullscreen"),
		layout_menu_escape_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-log-window",
		nullptr,
		N_("Log Window"),
		layout_menu_log_window_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-maintenance",
		PIXBUF_INLINE_ICON_MAINTENANCE,
		N_("Cache maintenance…"),
		layout_menu_remove_thumb_cb,         /** @FIXME */
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-mirror",
		GQ_ICON_FLIP_HORIZONTAL,
		N_("Image Mirror"),
		layout_menu_alter_cb<ALTER_MIRROR>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-move",
		PIXBUF_INLINE_ICON_MOVE,
		N_("Move…"),
		layout_menu_move_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-new-folder",
		GQ_ICON_DIRECTORY,
		N_("New folder…"),
		layout_menu_dir_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-new-window",
		nullptr,
		N_("New window"),
		layout_menu_window_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-new-window-default",
		nullptr,
		N_("New window default"),
		layout_menu_window_default_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-new-window-from-current",
		nullptr,
		N_("New window from current"),
		layout_menu_window_from_current_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-new-window-layout",
		nullptr,
		N_("New window from layout"),
		layout_menu_window_layout_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-next-image",
		GQ_ICON_GO_DOWN,
		N_("Next Image"),
		layout_menu_image_next_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-next-page",
		GQ_ICON_FORWARD_PAGE,
		N_("Next Page of multi-page image"),
		layout_menu_page_next_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-open-archive",
		GQ_ICON_OPEN,
		N_("Open archive"),
		layout_menu_open_archive_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-orientation-original",
		PIXBUF_INLINE_ICON_ORIGINAL,
		N_("Image rotate Original state"),
		layout_menu_alter_cb<ALTER_NONE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-osd",
		nullptr,
		N_("Overlay Screen Display"),
		layout_menu_osd_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::STRING,
		FALSE,
		"1",
		0,
		osd_targets,
		},

		{
		"win.main-win-over-under-exposed",
		PIXBUF_INLINE_ICON_EXPOSURE,
		N_("Highlight over/under exposed"),
		layout_menu_select_overunderexposed_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-pan-view",
		PIXBUF_INLINE_ICON_PANORAMA,
		N_("Pan view"),
		layout_menu_pan_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-plugin-run",
		nullptr,
		N_("Run Plugin"),
		plugin_run_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-plugins",
		GQ_ICON_PREFERENCES,
		N_("Configure Plugins…"),
		layout_menu_editors_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-previous-image",
		GQ_ICON_GO_UP,
		N_("Previous Image"),
		layout_menu_image_prev_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-previous-page",
		GQ_ICON_BACK_PAGE,
		N_("Previous Page of multi-page image"),
		layout_menu_page_previous_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-print",
		GQ_ICON_PRINT,
		N_("Print…"),
		layout_menu_print_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rating-0",
		nullptr,
		N_("Rating 0"),
		layout_menu_rating_cb <0>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rating-1",
		nullptr,
		N_("Rating 1"),
		layout_menu_rating_cb <1>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rating-2",
		nullptr,
		N_("Rating 2"),
		layout_menu_rating_cb <2>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rating-3",
		nullptr,
		N_("Rating 3"),
		layout_menu_rating_cb <3>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rating-4",
		nullptr,
		N_("Rating 4"),
		layout_menu_rating_cb <4>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rating-5",
		nullptr,
		N_("Rating 5"),
		layout_menu_rating_cb <5>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rating-rejected",
		nullptr,
		N_("Rating -1"),
		layout_menu_rating_cb < -1 >,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rectangular-selection",
		PIXBUF_INLINE_ICON_SELECT_RECTANGLE,
		N_("Rectangular Selection"),
		layout_menu_rectangular_selection_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-refresh",
		GQ_ICON_REFRESH,
		N_("Refresh"),
		layout_menu_refresh_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-remove",
		GQ_ICON_USER_TRASH,
		N_("Remove selection …"),
		layout_menu_remove_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rename",
		PIXBUF_INLINE_ICON_RENAME,
		N_("Rename…"),
		layout_menu_rename_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rename-window",
		GQ_ICON_EDIT,
		N_("Rename window"),
		layout_menu_window_rename_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-return",
		GQ_ICON_CLOSE,
		N_("Close window"),
		layout_menu_return_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-return-primary",
		GQ_ICON_CLOSE,
		N_("Close window"),
		layout_menu_return_primary_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rotate-180",
		PIXBUF_INLINE_ICON_180,
		N_("Image Rotate 180°"),
		layout_menu_alter_cb<ALTER_ROTATE_180>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rotate-ccw-90",
		GQ_ICON_ROTATE_LEFT,
		N_("Rotate counterclockwise 90°"),
		layout_menu_alter_cb<ALTER_ROTATE_90_CC>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-rotate-cw-90",
		GQ_ICON_ROTATE_RIGHT,
		N_("Image Rotate clockwise 90°"),
		layout_menu_alter_cb<ALTER_ROTATE_90>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-save-metadata",
		GQ_ICON_SAVE,
		N_("Save metadata"),
		layout_menu_metadata_write_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-search",
		GQ_ICON_FIND,
		N_("Search…"),
		layout_menu_search_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-search-and-run-command",
		GQ_ICON_FIND,
		N_("Search commands by keyword and run them"),
		layout_menu_search_and_run_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-all",
		PIXBUF_INLINE_ICON_SELECT_ALL,
		N_("Select all"),
		layout_menu_select_all_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-invert",
		PIXBUF_INLINE_ICON_SELECT_INVERT,
		N_("Invert Selection"),
		layout_menu_invert_selection_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-mark-0",
		nullptr,
		N_("Select mark 0"),
		layout_menu_mark_to_selection_cb<MTS_MODE_SET, 0>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-mark-1",
		nullptr,
		N_("Select mark 1"),
		layout_menu_mark_to_selection_cb<MTS_MODE_SET, 1>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-mark-2",
		nullptr,
		N_("Select mark 2"),
		layout_menu_mark_to_selection_cb<MTS_MODE_SET, 2>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-mark-3",
		nullptr,
		N_("Select mark 3"),
		layout_menu_mark_to_selection_cb<MTS_MODE_SET, 3>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-mark-4",
		nullptr,
		N_("Select mark 4"),
		layout_menu_mark_to_selection_cb<MTS_MODE_SET, 4>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-mark-5",
		nullptr,
		N_("Select mark 5"),
		layout_menu_mark_to_selection_cb<MTS_MODE_SET, 5>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-mark-6",
		nullptr,
		N_("Select mark 6"),
		layout_menu_mark_to_selection_cb<MTS_MODE_SET, 6>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-mark-7",
		nullptr,
		N_("Select mark 7"),
		layout_menu_mark_to_selection_cb<MTS_MODE_SET, 7>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-mark-8",
		nullptr,
		N_("Select mark 8"),
		layout_menu_mark_to_selection_cb<MTS_MODE_SET, 8>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-mark-9",
		nullptr,
		N_("Select mark 9"),
		layout_menu_mark_to_selection_cb<MTS_MODE_SET, 9>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-select-none",
		PIXBUF_INLINE_ICON_SELECT_NONE,
		N_("Select none"),
		layout_menu_unselect_all_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-set-mark-0",
		nullptr,
		N_("Set mark 0"),
		layout_menu_selection_to_mark_cb<STM_MODE_SET, 0>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-set-mark-1",
		nullptr,
		N_("Set mark 1"),
		layout_menu_selection_to_mark_cb<STM_MODE_SET, 1>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-set-mark-2",
		nullptr,
		N_("Set mark 2"),
		layout_menu_selection_to_mark_cb<STM_MODE_SET, 2>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-set-mark-3",
		nullptr,
		N_("Set mark 3"),
		layout_menu_selection_to_mark_cb<STM_MODE_SET, 3>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-set-mark-4",
		nullptr,
		N_("Set mark 4"),
		layout_menu_selection_to_mark_cb<STM_MODE_SET, 4>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-set-mark-5",
		nullptr,
		N_("Set mark 5"),
		layout_menu_selection_to_mark_cb<STM_MODE_SET, 5>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-set-mark-6",
		nullptr,
		N_("Set mark 6"),
		layout_menu_selection_to_mark_cb<STM_MODE_SET, 6>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-set-mark-7",
		nullptr,
		N_("Set mark 7"),
		layout_menu_selection_to_mark_cb<STM_MODE_SET, 7>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-set-mark-8",
		nullptr,
		N_("Set mark 8"),
		layout_menu_selection_to_mark_cb<STM_MODE_SET, 8>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-set-mark-9",
		nullptr,
		N_("Set mark 9"),
		layout_menu_selection_to_mark_cb<STM_MODE_SET, 9>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-show-file-filter",
		GQ_ICON_FILE_FILTER,
		N_("Show File Filter"),
		layout_menu_file_filter_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-show-histogram",
		GQ_ICON_FILE_FILTER,
		N_("Show Histogram"),
		layout_menu_histogram_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-show-info-pixel",
		GQ_ICON_SELECT_COLOR,
		N_("Show Pixel Info"),
		layout_menu_info_pixel_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-show-marks",
		PIXBUF_INLINE_ICON_MARKS,
		N_("Show Marks"),
		layout_menu_marks_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-slideshow",
		GQ_ICON_PLAY,
		N_("Toggle slideshow"),
		layout_menu_slideshow_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-slideshow-faster",
		GQ_ICON_GENERIC,
		N_("Slideshow Faster"),
		layout_menu_slideshow_faster_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-slideshow-pause",
		GQ_ICON_PAUSE,
		N_("Pause slideshow"),
		layout_menu_slideshow_pause_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-slideshow-slower",
		GQ_ICON_GENERIC,
		N_("Slideshow Slower"),
		layout_menu_slideshow_slower_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-sort-manager",
		PIXBUF_INLINE_ICON_SORT,
		N_("Sort manager"),
		layout_menu_bar_sort_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-split-down-pane",
		nullptr,
		N_("Down Split Pane"),
		layout_menu_split_pane_updown_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-split-mode",
		nullptr,
		N_("Split panes"),
		layout_menu_split_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::STRING,
		FALSE,
		"single",
		0,
		split_mode_targets,
		},

		{
		"win.main-win-split-next-pane",
		nullptr,
		N_("Next Split Pane"),
		layout_menu_split_pane_next_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-split-pane-sync",
		PIXBUF_INLINE_SPLIT_PANE_SYNC,
		N_("Split Pane Sync"),
		layout_menu_split_pane_sync_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-split-previous-pane",
		nullptr,
		N_("Previous Split Pane"),
		layout_menu_split_pane_prev_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-split-up-pane",
		nullptr,
		N_("Up Split Pane"),
		layout_menu_split_pane_updown_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-stereo",
		nullptr,
		N_("Stereo"),
		layout_menu_stereo_mode_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::STRING,
		FALSE,
		"auto",
		0,
		stereo_targets,
		},

		{
		"win.main-win-stereo-cycle",
		nullptr,
		N_("Cycle through stereo modes"),
		layout_menu_stereo_mode_next_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-thumbnails",
		PIXBUF_INLINE_ICON_THUMB,
		N_("Show Thumbnails"),
		layout_menu_thumb_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-toggle-mark-0",
		nullptr,
		N_("Toggle mark 0"),
		layout_menu_selection_to_mark_cb<STM_MODE_TOGGLE, 0>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-toggle-mark-1",
		nullptr,
		N_("Toggle mark 1"),
		layout_menu_selection_to_mark_cb<STM_MODE_TOGGLE, 1>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-toggle-mark-2",
		nullptr,
		N_("Toggle mark 2"),
		layout_menu_selection_to_mark_cb<STM_MODE_TOGGLE, 2>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-toggle-mark-3",
		nullptr,
		N_("Toggle mark 3"),
		layout_menu_selection_to_mark_cb<STM_MODE_TOGGLE, 3>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-toggle-mark-4",
		nullptr,
		N_("Toggle mark 4"),
		layout_menu_selection_to_mark_cb<STM_MODE_TOGGLE, 4>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-toggle-mark-5",
		nullptr,
		N_("Toggle mark 5"),
		layout_menu_selection_to_mark_cb<STM_MODE_TOGGLE, 5>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-toggle-mark-6",
		nullptr,
		N_("Toggle mark 6"),
		layout_menu_selection_to_mark_cb<STM_MODE_TOGGLE, 6>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-toggle-mark-7",
		nullptr,
		N_("Toggle mark 7"),
		layout_menu_selection_to_mark_cb<STM_MODE_TOGGLE, 7>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-toggle-mark-8",
		nullptr,
		N_("Toggle mark 8"),
		layout_menu_selection_to_mark_cb<STM_MODE_TOGGLE, 8>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-toggle-mark-9",
		nullptr,
		N_("Toggle mark 9"),
		layout_menu_selection_to_mark_cb<STM_MODE_TOGGLE, 9>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-up",
		GQ_ICON_GO_UP,
		N_("Up one folder"),
		layout_menu_up_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-use-color-profiles",
		GQ_ICON_COLOR_MANAGEMENT,
		N_("Use color profiles"),
		layout_color_menu_enable_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-use-image-profile",
		nullptr,
		N_("Use profile from image"),
		layout_color_menu_use_image_cb,
		nullptr,
		ActionStateType::BOOLEAN,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-view-in-new-window",
		nullptr,
		N_("View in new window"),
		layout_menu_view_in_new_window_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-view-mode",
		nullptr,
		N_("Images as "),
		layout_menu_list_cb,
		G_VARIANT_TYPE_STRING,
		ActionStateType::STRING,
		FALSE,
		"icons",
		0,
		view_mode_targets,
		},

		{
		"win.main-win-write-rotation",
		nullptr,
		N_("Write orientation to file"),
		layout_menu_write_rotate_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-write-rotation-keep-date",
		nullptr,
		N_("Write orientation to file (preserve timestamp)"),
		layout_menu_write_rotate_cb<TRUE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-1-1",
		GQ_ICON_ZOOM_100,
		N_("Zoom 1:1"),
		layout_menu_zoom_set_cb<1, FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-1-2",
		GQ_ICON_GENERIC,
		N_("Zoom 1:2"),
		layout_menu_zoom_set_cb < -2, FALSE >,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-1-3",
		GQ_ICON_GENERIC,
		N_("Zoom 1:3"),
		layout_menu_zoom_set_cb < -3, FALSE >,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-1-4",
		GQ_ICON_GENERIC,
		N_("Zoom 1:4"),
		layout_menu_zoom_set_cb < -4, FALSE >,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-2-1",
		GQ_ICON_GENERIC,
		N_("Zoom 2:1"),
		layout_menu_zoom_set_cb<2, FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-3-1",
		GQ_ICON_GENERIC,
		N_("Zoom 3:1"),
		layout_menu_zoom_set_cb<3, FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-4-1",
		GQ_ICON_GENERIC,
		N_("Zoom 4:1"),
		layout_menu_zoom_set_cb<4, FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-fill-horizontal",
		PIXBUF_INLINE_ICON_ZOOMFILLHOR,
		N_("Fill Horizontally"),
		layout_menu_zoom_fit_hv_cb<FALSE, FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-fill-vertical",
		PIXBUF_INLINE_ICON_ZOOMFILLVERT,
		N_("Fill Vertically"),
		layout_menu_zoom_fit_hv_cb<TRUE, FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-fit",
		GQ_ICON_ZOOM_FIT,
		N_("Zoom to fit"),
		layout_menu_zoom_set_cb<0, FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-in",
		GQ_ICON_ZOOM_IN,
		N_("Zoom in"),
		layout_menu_zoom_in_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-out",
		GQ_ICON_ZOOM_OUT,
		N_("Zoom out"),
		layout_menu_zoom_out_cb<FALSE>,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		"win.main-win-zoom-to-rectangle",
		nullptr,
		N_("Zoom to rectangle"),
		layout_menu_zoom_to_rectangle_cb,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr,
		},

		{
		nullptr,
		nullptr,
		nullptr,
		nullptr,
		nullptr,
		ActionStateType::NONE,
		FALSE,
		nullptr,
		0,
		nullptr
		}
};
