All pastes #732126 Raw Edit

Mine

public c v1 · immutable
·published 2007-10-10 17:48 UTC
rendered paste body
#include <gtk/gtk.h>#include <gdk/gdk.h>#include <glib.h>#include <gdk/gdkkeysyms.h>gboolean fs;static gbooleankey_press_cb (GtkWidget   *widget,              GdkEventKey *event,              gpointer     user_data){  if (event->keyval == GDK_F11)    {      if (fs)        {          printf ("key_press_cb: restoring window\n");          gtk_window_unfullscreen (GTK_WINDOW (widget));        }      else        {          printf ("key_press_cb: going to fullscreen\n");          gtk_window_fullscreen (GTK_WINDOW (widget));        }    }  return FALSE;}static gbooleanwindow_state_cb (GtkWidget           *widget,                 GdkEventWindowState *event,                 GtkWidget           *scroll){  if ((event->changed_mask & GDK_WINDOW_STATE_FULLSCREEN) == 0)    return FALSE;  if (event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN)    {      gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll),                                      GTK_POLICY_NEVER,                                      GTK_POLICY_NEVER);      printf ("window_state_cb: policy never\n");    }  else    {      gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll),                                      GTK_POLICY_AUTOMATIC,                                      GTK_POLICY_AUTOMATIC);      printf ("window_state_cb: policy automatic\n");    }  if (event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN)    fs = TRUE;  else    fs = FALSE;  return FALSE;}int main (int argc, char **argv){  GtkWidget *window, *scroll, *text;  fs = FALSE;  gtk_init (&argc, &argv);  text   = gtk_text_view_new ();  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);  scroll = gtk_scrolled_window_new (NULL, NULL);  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll),                                  GTK_POLICY_AUTOMATIC,                                  GTK_POLICY_AUTOMATIC);  gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scroll),					 text);    gtk_container_add (GTK_CONTAINER (window), scroll);  g_signal_connect (window, "delete-event", G_CALLBACK (gtk_main_quit), NULL);  g_signal_connect (window, "key-press-event", G_CALLBACK (key_press_cb), NULL);  g_signal_connect (window, "window-state-event", G_CALLBACK (window_state_cb), scroll);  gtk_widget_show_all (window);  gtk_main ();  return 0;  }