diff -ruN -Xcvs/diff_ignore test/client/gui-gtk/citydlg.c work/client/gui-gtk/citydlg.c --- test/client/gui-gtk/citydlg.c Thu Oct 25 20:24:47 2001 +++ work/client/gui-gtk/citydlg.c Thu Oct 25 19:30:42 2001 @@ -503,7 +503,8 @@ int page; for (page = 0; page < NUM_PAGES - 1; page++) { - if (event->keyval == notebook_tab_accels[page]) { + if ((event->keyval == notebook_tab_accels[page]) && + (!meta_accelerators || (event->state & GDK_MOD1_MASK ) ) ) { gtk_notebook_set_page(GTK_NOTEBOOK(pdialog->notebook), page); return TRUE; } diff -ruN -Xcvs/diff_ignore test/client/gui-gtk/gui_stuff.c work/client/gui-gtk/gui_stuff.c --- test/client/gui-gtk/gui_stuff.c Thu Oct 25 20:24:47 2001 +++ work/client/gui-gtk/gui_stuff.c Thu Oct 25 20:32:11 2001 @@ -24,6 +24,7 @@ #include "fcintl.h" #include "mem.h" +#include "options.h" #include "gui_main.h" #include "gui_stuff.h" @@ -94,6 +95,7 @@ GtkWidget *button; GtkWidget *accel_label; guint accel_key; + GdkModifierType accel_mod; button = gtk_button_new (); @@ -104,9 +106,12 @@ NULL); accel_key = gtk_label_parse_uline (GTK_LABEL (accel_label), label); + accel_mod = meta_accelerators ? GDK_MOD1_MASK : 0; + if ((accel_key != GDK_VoidSymbol) && accel) gtk_widget_add_accelerator (button, "clicked", accel, - accel_key, 0, GTK_ACCEL_LOCKED); + accel_key, accel_mod, GTK_ACCEL_LOCKED); + return button; } diff -ruN -Xcvs/diff_ignore test/client/options.c work/client/options.c --- test/client/options.c Sun Sep 9 12:19:00 2001 +++ work/client/options.c Thu Oct 25 18:47:42 2001 @@ -48,6 +48,7 @@ int center_when_popup_city=1; int concise_city_production=0; int auto_turn_done=0; +int meta_accelerators=1; #define GEN_OPTION(name, desc, type) { #name, desc, type, &name, NULL } #define GEN_OPTION_TERMINATOR { NULL, NULL, COT_BOOL, NULL, NULL } @@ -67,6 +68,7 @@ GEN_OPTION(center_when_popup_city, N_("Center map when Popup city"), COT_BOOL), GEN_OPTION(concise_city_production, N_("Concise City Production"), COT_BOOL), GEN_OPTION(auto_turn_done, N_("End Turn when done moving"), COT_BOOL), + GEN_OPTION(meta_accelerators, N_("Use Alt/Meta for accelerators"), COT_BOOL), GEN_OPTION_TERMINATOR }; diff -ruN -Xcvs/diff_ignore test/client/options.h work/client/options.h --- test/client/options.h Tue Feb 6 21:30:58 2001 +++ work/client/options.h Thu Oct 25 18:46:42 2001 @@ -29,6 +29,7 @@ extern int center_when_popup_city; extern int concise_city_production; extern int auto_turn_done; +extern int meta_accelerators; enum client_option_type { COT_BOOL,