10 destroy (GtkWidget *widget, gpointer data)
16 main (int argc, char **argv)
22 GtkWidget *window, *view;
23 GtkTextBuffer *buffer;
27 fprintf (stderr, "Usage: viewfile FILENAME\n");
30 if (stat (argv[1], &statbuf) != 0
31 || ! (fp = fopen (argv[1], "r")))
33 fprintf (stderr, "Can't open \"%s\"\n", argv[1]);
36 buf = alloca (statbuf.st_size);
37 fread (buf, 1, statbuf.st_size, fp);
40 gtk_init (&argc, &argv);
41 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
42 g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (destroy), NULL);
43 view = gtk_text_view_new ();
44 buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
45 gtk_text_buffer_set_text (buffer, (gchar *) buf, statbuf.st_size);
46 gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (view), FALSE);
47 gtk_container_add (GTK_CONTAINER (window), view);
48 gtk_widget_show_all (window);