finch/libgnt/test/wm.c

Wed, 07 Sep 2011 05:00:48 +0000

author
Jorge Villaseñor <masca@cpw.pidgin.im>
date
Wed, 07 Sep 2011 05:00:48 +0000
branch
cpw.masca.webkit
changeset 32510
d3cb977575aa
parent 31294
73607ab89c6f
permissions
-rw-r--r--

Get rid of a wrapper function.

14022
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1 #include <gmodule.h>
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
2
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
3 #include <gnt.h>
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
4 #include <gntbox.h>
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
5 #include <gntentry.h>
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
6 #include <gntlabel.h>
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
7
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
8 static gboolean
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
9 key_pressed(GntEntry *entry, const char *text, gpointer null)
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
10 {
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
11 if (*text != '\r')
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
12 return FALSE;
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
13
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
14 {
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
15 const char *cmd;
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
16 void *handle;
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
17 void (*func)();
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
18
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
19 cmd = gnt_entry_get_text(entry);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
20 handle = g_module_open(cmd, G_MODULE_BIND_LOCAL);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
21 if (handle && g_module_symbol(handle, "main", (gpointer)&func))
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
22 {
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14022
diff changeset
23 char *argv[] = {cmd, NULL};
14022
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
24 gnt_entry_clear(entry);
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14022
diff changeset
25 func(1, argv);
14022
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
26 }
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
27 else
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
28 {
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
29 GntWidget *widget = gnt_vbox_new(FALSE);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
30 gnt_box_set_toplevel(GNT_BOX(widget), TRUE);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
31 gnt_box_set_title(GNT_BOX(widget), "Error");
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
32 gnt_box_add_widget(GNT_BOX(widget), gnt_label_new("Could not execute."));
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14022
diff changeset
33 gnt_box_add_widget(GNT_BOX(widget), gnt_label_new(g_module_error()));
14022
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
34
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
35 gnt_widget_show(widget);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
36 }
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
37 }
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 15886
diff changeset
38
14022
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
39 return TRUE;
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
40 }
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
41
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
42 int main()
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
43 {
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
44 GntWidget *window, *entry;
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
45
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
46 freopen(".error", "w", stderr);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
47
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
48 gnt_init();
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
49
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
50 window = gnt_hbox_new(FALSE);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
51
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
52 gnt_box_add_widget(GNT_BOX(window), gnt_label_new("Command"));
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
53
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
54 entry = gnt_entry_new(NULL);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
55 g_signal_connect(G_OBJECT(entry), "key_pressed", G_CALLBACK(key_pressed), NULL);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
56 gnt_box_add_widget(GNT_BOX(window), entry);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
57
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
58 gnt_widget_set_position(window, 0, getmaxy(stdscr) - 2);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
59 gnt_widget_show(window);
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
60
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
61 gnt_main();
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
62
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
63 gnt_quit();
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 15886
diff changeset
64
14022
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
65 return 0;
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
66 }
51776fed1be2 [gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
67

mercurial