+extern struct app_config_t *cfg;
+
+void toggle_layout(GtkWidget *widget, gpointer data)
+{
+ int id;
+
+ id = GPOINTER_TO_UINT(data);
+
+ if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) {
+ log_info(" Switching to layout %d", id);
+ cfg->layout = id;
+ emugtk_restart_gui();
+ }
+}
+
+void toggle_bits_per_row(GtkWidget *widget, gpointer data)
+{
+ int bits_per_row;
+
+ bits_per_row = GPOINTER_TO_UINT(data);
+
+ if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) {
+ log_info(" Bits per row = %d", bits_per_row);
+ cfg->bits_per_row = bits_per_row;
+ emugtk_restart_gui();
+ }
+}
+
+void toggle_int_memory(GtkWidget *widget, gpointer data)
+{
+ if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) {
+ log_info(" View internal memory");
+ cfg->view_int_memory = 1;
+ } else {
+ cfg->view_int_memory = 0;
+ }
+
+ emugtk_restart_gui();
+}
+
+void toggle_sfr_memory(GtkWidget *widget, gpointer data)
+{
+ if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) {
+ log_info(" View SFR memory");
+ cfg->view_sfr_memory = 1;
+ } else {
+ cfg->view_sfr_memory = 0;
+ }
+
+ emugtk_restart_gui();
+}
+
+void toggle_ext_memory(GtkWidget *widget, gpointer data)
+{
+ if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) {
+ log_info(" View external memory");
+ cfg->view_ext_memory = 1;
+ } else {
+ cfg->view_ext_memory = 0;
+ }
+
+ emugtk_restart_gui();
+}
+
+void
+view_add_layout_submenu(GtkWidget *parent)