42 lines
		
	
	
		
			993 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			993 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <gtk/gtk.h>
 | |
| 
 | |
| int
 | |
| main (int argc, char **argv)
 | |
| {
 | |
|   const gchar *display_name;
 | |
|   GdkDisplay *display;
 | |
|   GtkWidget *win, *but;
 | |
| 
 | |
|   g_log_set_always_fatal (G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL);
 | |
| 
 | |
|   if (!gtk_parse_args (&argc, &argv))
 | |
|     return 1;
 | |
| 
 | |
|   display_name = gdk_get_display_arg_name();
 | |
|   display = gdk_display_open(display_name);
 | |
| 
 | |
|   if (!display)
 | |
|     return 1;
 | |
| 
 | |
|   gdk_display_manager_set_default_display (gdk_display_manager_get (), display);
 | |
| 
 | |
|   win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 | |
|   g_signal_connect (win, "destroy",
 | |
| 		    G_CALLBACK (gtk_main_quit), NULL);
 | |
|   g_signal_connect (win, "delete-event",
 | |
|                     G_CALLBACK (gtk_widget_destroy), NULL);
 | |
| 
 | |
|   but = gtk_button_new_with_label ("Try to Exit");
 | |
|   g_signal_connect_swapped (but, "clicked",
 | |
| 			    G_CALLBACK (gtk_widget_destroy), win);
 | |
|   gtk_container_add (GTK_CONTAINER (win), but);
 | |
| 
 | |
|   gtk_widget_show_all (win);
 | |
| 
 | |
|   gtk_test_widget_wait_for_draw (win);
 | |
| 
 | |
|   gdk_display_close (display);
 | |
| 
 | |
|   return 0;
 | |
| }
 | 
