[very simple prototype. can move small window under matchbox-window-manager and inject characters to xterm
timo.lindfors@iki.fi**20080821214627] {
addfile ./Makefile
hunk ./Makefile 1
-
+all:
+	gcc -Wall -g main.c -o main `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0` `pkg-config --cflags --libs libfakekey`
addfile ./main.c
hunk ./main.c 1
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include <fakekey/fakekey.h>
+#include <gtk/gtk.h>
+#include <gdk/gdkx.h>
+
+FakeKey *fakekey;
+GtkWidget *window;
+
+void hello(GtkWidget *widget, gpointer data) {
+    int ret;
+
+    g_print("Hello World\n");
+    ret = fakekey_press(fakekey,
+			"a",
+			1,
+			0);
+    //
+    
+    fakekey_release(fakekey);
+
+    gtk_window_move(window, 40, 40);
+}
+
+gboolean delete_event(GtkWidget *widget, GdkEvent  *event, gpointer data) {
+    return FALSE;
+}
+
+void destroy(GtkWidget *widget, gpointer data) {
+    gtk_main_quit();
+}
+
+int main(int argc, char *argv[]) {
+    {
+	GtkWidget *button;
+	
+	gtk_init(&argc, &argv);
+	window = gtk_window_new(GTK_WINDOW_POPUP);
+	assert(window);
+
+	g_signal_connect(G_OBJECT(window), "delete_event",
+			 G_CALLBACK(delete_event), NULL);
+	
+	g_signal_connect(G_OBJECT(window), "destroy",
+			 G_CALLBACK(destroy), NULL);
+
+	button = gtk_button_new_with_label("Hello World");
+	g_signal_connect(G_OBJECT(button), "clicked",
+			 G_CALLBACK(hello), NULL);
+
+	gtk_container_add(GTK_CONTAINER(window), button);
+
+	gtk_widget_show(button);
+	gtk_widget_show(window);
+    }
+    {
+	fakekey = fakekey_init(GDK_DISPLAY());
+	assert(fakekey);
+    }
+
+    gtk_main();
+}
+// grab mouse
+// change text
+
}
