6 #define ENV_PREFIX "XSOCK_"
8 int return_true(GtkWidget
*widget
, gpointer data
) { return 1; }
10 int switch_sockets(GtkWidget
*widget
, gpointer data
) {
11 fprintf(stderr
,"SWITCH: %d\n", (int)data
);
15 void print_help(char ** argv
) {
22 //"\t -r reuse " ENV_PREFIX "* from environment\n"
23 "\t -? (display help)"
24 "\nExample: %s -c black -w 640 -h 480\n\n",
28 gint
main(gint argc
, gchar
** argv
)
30 gchar
*colorstr
= "black";
35 while ((opt
= getopt(argc
, argv
, "?c:w:h:")) != -1) {
44 height
= atoi(optarg
);
47 if(getenv(ENV_PREFIX
"PID")
48 && getenv(ENV_PREFIX
"WID")
49 && kill(atoi(getenv(ENV_PREFIX
"PID")), 0)
62 //printf("%s\n", colorstr); return 0;
64 gtk_init(&argc
, &argv
);
68 gdk_color_parse(colorstr
, &color
);
71 GtkWidget
*win
= gtk_window_new(GTK_WINDOW_TOPLEVEL
);
73 sock
[0] = gtk_socket_new();
74 g_signal_connect(sock
[0], "plug-added", G_CALLBACK(switch_sockets
), (gpointer
)23);
75 g_signal_connect(sock
[0], "plug-removed", G_CALLBACK(return_true
), NULL
);
76 g_signal_connect(win
, "delete-event", gtk_main_quit
, NULL
);
77 gtk_widget_set_size_request(sock
[0], width
, height
);
78 gtk_widget_modify_bg(sock
[0], GTK_STATE_NORMAL
, &color
);
79 gtk_container_add(GTK_CONTAINER(win
), sock
[0]);
80 gtk_widget_show_all(win
);
83 GdkNativeWindow wid
= gtk_socket_get_id(GTK_SOCKET(sock
[0]));
86 printf(ENV_PREFIX
"WID=%d\n"ENV_PREFIX
"PID=%d\n", wid
, pid
);
This page took 0.322815 seconds and 4 git commands to generate.