diff -u -r freeciv-1.11.0.orig/client/gui-gtk/citydlg.c freeciv-1.11.0/client/gui-gtk/citydlg.c --- freeciv-1.11.0.orig/client/gui-gtk/citydlg.c Wed Jun 28 15:11:25 2000 +++ freeciv-1.11.0/client/gui-gtk/citydlg.c Sun Jul 2 10:27:12 2000 @@ -249,6 +249,7 @@ if(!(pdialog=get_city_dialog(pcity))) pdialog=create_city_dialog(pcity, make_modal); + gtk_window_set_transient_for( GTK_WINDOW(pdialog->shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel, pdialog->shell, 10, 10); gtk_widget_show(pdialog->shell); @@ -889,7 +890,7 @@ pdialog=(struct city_dialog *)data; - input_dialog_create(pdialog->shell, + input_dialog_create(GTK_WINDOW(pdialog->shell), /*"shellrenamecity"*/_("Rename City"), _("What should we rename the city to?"), pdialog->pcity->name, @@ -1772,6 +1773,7 @@ pdialog->change_shell=cshell; gtk_window_set_position (GTK_WINDOW(cshell), GTK_WIN_POS_MOUSE); + gtk_window_set_transient_for( GTK_WINDOW(cshell), GTK_WINDOW(pdialog->shell) ); gtk_accel_group_attach(accel, GTK_OBJECT(cshell)); gtk_window_set_title(GTK_WINDOW(cshell), _("Change Production")); @@ -1913,6 +1915,7 @@ pdialog = (struct city_dialog *)data; if (pdialog->worklist_shell) { + gtk_window_set_transient_for( GTK_WINDOW(pdialog->worklist_shell), GTK_WINDOW(pdialog->shell) ); gtk_set_relative_position(pdialog->shell, pdialog->worklist_shell, 20, 20); gtk_widget_show(pdialog->worklist_shell); @@ -2138,6 +2141,7 @@ cityopt_city_id = pcity->id; + gtk_window_set_transient_for( GTK_WINDOW(cityopt_shell), GTK_WINDOW(pdialog->shell) ); /* gtk_set_relative_position(toplevel, cityopt_shell, 15, 15);*/ gtk_widget_show(cityopt_shell); } diff -u -r freeciv-1.11.0.orig/client/gui-gtk/cityrep.c freeciv-1.11.0/client/gui-gtk/cityrep.c --- freeciv-1.11.0.orig/client/gui-gtk/cityrep.c Sun Apr 2 03:08:08 2000 +++ freeciv-1.11.0/client/gui-gtk/cityrep.c Sun Jul 2 10:29:42 2000 @@ -160,6 +160,7 @@ gtk_widget_set_sensitive(toplevel, FALSE); create_city_report_dialog(make_modal); + gtk_window_set_transient_for( GTK_WINDOW(city_dialog_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel, city_dialog_shell, 10, 10); gtk_widget_show(city_dialog_shell); @@ -858,6 +859,7 @@ if (city_change_all_dialog_shell == NULL) { city_change_all_dialog_shell = gtk_dialog_new(); + gtk_window_set_transient_for( GTK_WINDOW(city_change_all_dialog_shell), GTK_WINDOW(city_dialog_shell) ); gtk_set_relative_position(city_dialog_shell, city_change_all_dialog_shell, 10, 10); @@ -1250,6 +1252,7 @@ city_report_specs[i].show); } + gtk_window_set_transient_for( GTK_WINDOW(config_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel, config_shell, 25, 25); gtk_widget_show(config_shell); /* XtSetSensitive(main_form, FALSE); */ diff -u -r freeciv-1.11.0.orig/client/gui-gtk/connectdlg.c freeciv-1.11.0/client/gui-gtk/connectdlg.c --- freeciv-1.11.0.orig/client/gui-gtk/connectdlg.c Fri Jun 23 18:39:40 2000 +++ freeciv-1.11.0/client/gui-gtk/connectdlg.c Sun Jul 2 09:34:18 2000 @@ -246,7 +246,9 @@ gtk_widget_show_all(GTK_DIALOG(dialog)->vbox); gtk_widget_show_all(GTK_DIALOG(dialog)->action_area); - gtk_widget_set_usize(dialog, 450, 215); + gtk_window_set_default_size( GTK_WINDOW(dialog), 450, 215 ); + gtk_window_set_transient_for( GTK_WINDOW(dialog), GTK_WINDOW(toplevel) ); + gtk_set_relative_position(toplevel, dialog, 50, 50); gtk_widget_show(dialog); } diff -u -r freeciv-1.11.0.orig/client/gui-gtk/dialogs.c freeciv-1.11.0/client/gui-gtk/dialogs.c --- freeciv-1.11.0.orig/client/gui-gtk/dialogs.c Wed Jun 28 15:50:12 2000 +++ freeciv-1.11.0/client/gui-gtk/dialogs.c Sun Jul 2 10:59:56 2000 @@ -218,7 +218,8 @@ gtk_widget_show_all( GTK_DIALOG(notify_dialog_shell)->vbox ); gtk_widget_show_all( GTK_DIALOG(notify_dialog_shell)->action_area ); - gtk_widget_set_usize(notify_dialog_shell, 0, 265); + gtk_window_set_default_size( GTK_WINDOW(notify_dialog_shell), 0, 265 ); + gtk_window_set_transient_for( GTK_WINDOW(notify_dialog_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position (toplevel, notify_dialog_shell, 10, 10); gtk_widget_show( notify_dialog_shell ); @@ -342,6 +343,7 @@ GTK_SIGNAL_FUNC(notify_goto_command_callback), NULL); notify_goto_add_widget_coords(notify_goto_command, x, y); + gtk_window_set_transient_for( GTK_WINDOW(notify_dialog_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel, notify_dialog_shell, 25, 25); gtk_widget_show_all( GTK_DIALOG(notify_dialog_shell)->vbox ); @@ -880,6 +882,7 @@ spy_tech_shell_is_modal=1; create_advances_list(game.player_ptr, pvictim, spy_tech_shell_is_modal); + gtk_window_set_transient_for( GTK_WINDOW(spy_tech_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position (toplevel, spy_tech_shell, 10, 10); gtk_widget_show(spy_tech_shell); @@ -917,6 +920,7 @@ spy_sabotage_shell_is_modal=1; create_improvements_list(game.player_ptr, pcity, spy_sabotage_shell_is_modal); + gtk_window_set_transient_for( GTK_WINDOW(spy_sabotage_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position (toplevel, spy_sabotage_shell, 10, 10); gtk_widget_show(spy_sabotage_shell); @@ -1550,6 +1554,7 @@ gtk_widget_set_sensitive(parent, FALSE); dshell=gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_window_set_transient_for( GTK_WINDOW(dshell), GTK_WINDOW(parent) ); gtk_window_set_position (GTK_WINDOW(dshell), GTK_WIN_POS_MOUSE); gtk_accel_group_attach(accel, GTK_OBJECT(dshell)); @@ -1760,7 +1765,7 @@ gtk_widget_show_all( GTK_DIALOG(unit_select_dialog_shell)->vbox ); gtk_widget_show_all( GTK_DIALOG(unit_select_dialog_shell)->action_area ); - gtk_set_relative_position(toplevel, unit_select_dialog_shell, 15, 10); + gtk_window_set_transient_for( GTK_WINDOW(unit_select_dialog_shell), GTK_WINDOW(toplevel) ); gtk_widget_show(unit_select_dialog_shell); } } diff -u -r freeciv-1.11.0.orig/client/gui-gtk/diplodlg.c freeciv-1.11.0/client/gui-gtk/diplodlg.c --- freeciv-1.11.0.orig/client/gui-gtk/diplodlg.c Mon Jun 19 23:19:59 2000 +++ freeciv-1.11.0/client/gui-gtk/diplodlg.c Sun Jul 2 10:30:37 2000 @@ -187,6 +187,7 @@ if(!(pdialog=find_diplomacy_dialog(plr0, plr1))) { pdialog=create_diplomacy_dialog(plr0, plr1); + gtk_window_set_transient_for( GTK_WINDOW(pdialog->dip_dialog_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel,pdialog->dip_dialog_shell,0,0); } diff -u -r freeciv-1.11.0.orig/client/gui-gtk/finddlg.c freeciv-1.11.0/client/gui-gtk/finddlg.c --- freeciv-1.11.0.orig/client/gui-gtk/finddlg.c Tue Mar 21 15:02:12 2000 +++ freeciv-1.11.0/client/gui-gtk/finddlg.c Sun Jul 2 10:42:41 2000 @@ -122,6 +122,7 @@ GTK_SIGNAL_FUNC(find_list_callback), NULL); update_find_dialog(find_list); + gtk_window_set_transient_for( GTK_WINDOW(find_dialog_shell), GTK_WINDOW(toplevel) ); gtk_widget_show(find_dialog_shell); } diff -u -r freeciv-1.11.0.orig/client/gui-gtk/gamedlgs.c freeciv-1.11.0/client/gui-gtk/gamedlgs.c --- freeciv-1.11.0.orig/client/gui-gtk/gamedlgs.c Mon Jun 19 23:22:16 2000 +++ freeciv-1.11.0/client/gui-gtk/gamedlgs.c Sun Jul 2 10:44:57 2000 @@ -357,6 +357,7 @@ gtk_widget_set_sensitive(toplevel, FALSE ); create_rates_dialog(); + gtk_window_set_transient_for( GTK_WINDOW(rates_dialog_shell), GTK_WINDOW(toplevel) ); my_snprintf(buf, sizeof(buf), _("%s max rate: %d%%"), get_government_name(game.player_ptr->government), @@ -471,6 +472,7 @@ } } + gtk_window_set_transient_for( GTK_WINDOW(option_dialog_shell), GTK_WINDOW(toplevel) ); /* gtk_set_relative_position(toplevel, option_dialog_shell, 25, 25);*/ gtk_widget_show(option_dialog_shell); gtk_widget_set_sensitive(toplevel, FALSE); diff -u -r freeciv-1.11.0.orig/client/gui-gtk/inputdlg.c freeciv-1.11.0/client/gui-gtk/inputdlg.c --- freeciv-1.11.0.orig/client/gui-gtk/inputdlg.c Sat Sep 18 04:55:53 1999 +++ freeciv-1.11.0/client/gui-gtk/inputdlg.c Sun Jul 2 10:36:10 2000 @@ -71,18 +71,18 @@ /**************************************************************** ... *****************************************************************/ -GtkWidget *input_dialog_create(GtkWidget *parent, char *dialogname, +GtkWidget *input_dialog_create(GtkWindow *parent, char *dialogname, char *text, char *postinputtest, void *ok_callback, gpointer ok_cli_data, void *cancel_callback, gpointer cancel_cli_data) { GtkWidget *shell, *label, *input, *ok, *cancel; - gtk_widget_set_sensitive(parent, FALSE); + gtk_widget_set_sensitive(GTK_WIDGET(parent), FALSE); shell=gtk_dialog_new(); gtk_signal_connect(GTK_OBJECT(shell),"delete_event", - GTK_SIGNAL_FUNC(input_dialog_del_callback), parent); + GTK_SIGNAL_FUNC(input_dialog_del_callback), GTK_WIDGET(parent)); gtk_window_set_title(GTK_WINDOW(shell), dialogname); @@ -112,10 +112,11 @@ gtk_widget_grab_focus(input); - gtk_set_relative_position(parent, shell, 10, 10); + gtk_window_set_transient_for( GTK_WINDOW(shell), parent ); + gtk_set_relative_position(GTK_WIDGET(parent), shell, 10, 10); gtk_object_set_data(GTK_OBJECT(shell), "iinput",input); - gtk_object_set_data(GTK_OBJECT(shell), "parent",parent); + gtk_object_set_data(GTK_OBJECT(shell), "parent",GTK_WIDGET(parent)); gtk_widget_show_all(GTK_DIALOG(shell)->vbox); gtk_widget_show_all(GTK_DIALOG(shell)->action_area); diff -u -r freeciv-1.11.0.orig/client/gui-gtk/inputdlg.h freeciv-1.11.0/client/gui-gtk/inputdlg.h --- freeciv-1.11.0.orig/client/gui-gtk/inputdlg.h Sat Jun 12 09:41:44 1999 +++ freeciv-1.11.0/client/gui-gtk/inputdlg.h Sun Jul 2 09:46:37 2000 @@ -15,7 +15,7 @@ #include -GtkWidget *input_dialog_create(GtkWidget *parent, char *dialogname, +GtkWidget *input_dialog_create(GtkWindow *parent, char *dialogname, char *text, char *postinputtest, void *ok_callback, gpointer ok_cli_data, void *cancel_callback, gpointer cancel_cli_data); diff -u -r freeciv-1.11.0.orig/client/gui-gtk/inteldlg.c freeciv-1.11.0/client/gui-gtk/inteldlg.c --- freeciv-1.11.0.orig/client/gui-gtk/inteldlg.c Sun Jan 2 12:55:27 2000 +++ freeciv-1.11.0/client/gui-gtk/inteldlg.c Sun Jul 2 10:34:23 2000 @@ -53,6 +53,7 @@ { if(!intel_dialog_shell) { intel_create_dialog(p); + gtk_window_set_transient_for( GTK_WINDOW(intel_dialog_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel, intel_dialog_shell, 25, 25); gtk_widget_show(intel_dialog_shell); gtk_widget_set_sensitive(toplevel, FALSE); diff -u -r freeciv-1.11.0.orig/client/gui-gtk/mapctrl.c freeciv-1.11.0/client/gui-gtk/mapctrl.c --- freeciv-1.11.0.orig/client/gui-gtk/mapctrl.c Sun May 14 13:36:53 2000 +++ freeciv-1.11.0/client/gui-gtk/mapctrl.c Sun Jul 2 09:51:56 2000 @@ -79,7 +79,7 @@ **************************************************************************/ void popup_newcity_dialog(struct unit *punit, char *suggestname) { - input_dialog_create(toplevel, /*"shellnewcityname"*/_("Build New City"), + input_dialog_create(GTK_WINDOW(toplevel), /*"shellnewcityname"*/_("Build New City"), _("What should we call our new city?"), suggestname, name_new_city_callback, (gpointer)punit->id, diff -u -r freeciv-1.11.0.orig/client/gui-gtk/messagedlg.c freeciv-1.11.0/client/gui-gtk/messagedlg.c --- freeciv-1.11.0.orig/client/gui-gtk/messagedlg.c Sat Sep 18 04:55:54 1999 +++ freeciv-1.11.0/client/gui-gtk/messagedlg.c Sun Jul 2 10:35:04 2000 @@ -66,6 +66,7 @@ } } + gtk_window_set_transient_for( GTK_WINDOW(shell), GTK_WINDOW(toplevel) ); /* gtk_set_relative_position(toplevel, shell, 15, 0);*/ gtk_window_set_position (GTK_WINDOW(shell), GTK_WIN_POS_MOUSE); gtk_widget_show(shell); diff -u -r freeciv-1.11.0.orig/client/gui-gtk/messagewin.c freeciv-1.11.0/client/gui-gtk/messagewin.c --- freeciv-1.11.0.orig/client/gui-gtk/messagewin.c Fri Nov 19 16:41:30 1999 +++ freeciv-1.11.0/client/gui-gtk/messagewin.c Sun Jul 2 10:35:25 2000 @@ -92,6 +92,7 @@ updated = 1; /* create_ calls update_ */ } + gtk_window_set_transient_for( GTK_WINDOW(meswin_dialog_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel, meswin_dialog_shell, 25, 25); gtk_widget_show(meswin_dialog_shell); if(!updated) diff -u -r freeciv-1.11.0.orig/client/gui-gtk/plrdlg.c freeciv-1.11.0/client/gui-gtk/plrdlg.c --- freeciv-1.11.0.orig/client/gui-gtk/plrdlg.c Fri Jun 9 15:26:13 2000 +++ freeciv-1.11.0/client/gui-gtk/plrdlg.c Sun Jul 2 10:35:48 2000 @@ -69,6 +69,7 @@ { if(!players_dialog_shell){ create_players_dialog(); + gtk_window_set_transient_for( GTK_WINDOW(players_dialog_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel, players_dialog_shell, 25, 25); gtk_widget_show(players_dialog_shell); diff -u -r freeciv-1.11.0.orig/client/gui-gtk/repodlgs.c freeciv-1.11.0/client/gui-gtk/repodlgs.c --- freeciv-1.11.0.orig/client/gui-gtk/repodlgs.c Wed Mar 15 20:01:44 2000 +++ freeciv-1.11.0/client/gui-gtk/repodlgs.c Sun Jul 2 10:38:42 2000 @@ -158,6 +158,7 @@ gtk_widget_set_sensitive(toplevel, FALSE); create_science_dialog(make_modal); + gtk_window_set_transient_for( GTK_WINDOW(science_dialog_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel, science_dialog_shell, 10, 10); gtk_widget_show( science_dialog_shell ); @@ -550,6 +551,7 @@ gtk_widget_set_sensitive(toplevel, FALSE); create_trade_report_dialog(make_modal); + gtk_window_set_transient_for( GTK_WINDOW(trade_dialog_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel, trade_dialog_shell, 10, 10); gtk_widget_show(trade_dialog_shell); @@ -814,6 +816,7 @@ gtk_widget_set_sensitive(toplevel, FALSE); create_activeunits_report_dialog(make_modal); + gtk_window_set_transient_for( GTK_WINDOW(activeunits_dialog_shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel, activeunits_dialog_shell, 10, 10); gtk_widget_show(activeunits_dialog_shell); diff -u -r freeciv-1.11.0.orig/client/gui-gtk/spaceshipdlg.c freeciv-1.11.0/client/gui-gtk/spaceshipdlg.c --- freeciv-1.11.0.orig/client/gui-gtk/spaceshipdlg.c Sat Mar 4 21:09:25 2000 +++ freeciv-1.11.0/client/gui-gtk/spaceshipdlg.c Sun Jul 2 10:40:02 2000 @@ -132,6 +132,7 @@ if(!(pdialog=get_spaceship_dialog(pplayer))) pdialog=create_spaceship_dialog(pplayer); + gtk_window_set_transient_for( GTK_WINDOW(pdialog->shell), GTK_WINDOW(toplevel) ); gtk_set_relative_position(toplevel, pdialog->shell, 10, 10); gtk_widget_show(pdialog->shell); } diff -u -r freeciv-1.11.0.orig/client/gui-gtk/wldlg.c freeciv-1.11.0/client/gui-gtk/wldlg.c --- freeciv-1.11.0.orig/client/gui-gtk/wldlg.c Wed Jun 7 16:11:44 2000 +++ freeciv-1.11.0/client/gui-gtk/wldlg.c Sun Jul 2 10:46:18 2000 @@ -316,6 +316,7 @@ gtk_window_set_title(GTK_WINDOW(wshell), _("Production worklist")); + gtk_window_set_transient_for( GTK_WINDOW(wshell), GTK_WINDOW(parent) ); gtk_set_relative_position(parent, wshell, 20, 20); gtk_accel_group_attach(accel, GTK_OBJECT(wshell)); @@ -537,7 +538,7 @@ pdialog->wl_idx = (int)selection->data; - input_dialog_create(worklist_report_shell, + input_dialog_create(GTK_WINDOW(worklist_report_shell), _("Rename Worklist"), _("What should the new name be?"), pdialog->pplr->worklists[pdialog->wl_idx].name,