#include static void button_clicked (GtkButton *button) { GtkLabel *label; static gboolean toggle = FALSE; label = GTK_LABEL (GTK_BIN (button)->child); if (toggle) { gtk_label_set_text (label, "pot"); } else { gtk_label_set_text (label, "crack"); } toggle = !toggle; } int main (int argc, char *argv[]) { GtkWidget *win; GtkWidget *button; gtk_init (&argc, &argv); win = gtk_window_new (GTK_WINDOW_TOPLEVEL); button = gtk_button_new_with_label ("smack"); gtk_container_add (GTK_CONTAINER (win), button); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (button_clicked), NULL); gtk_widget_show_all (win); gtk_main (); return 0; }