plugins/iconaway.c

Fri, 24 Jan 2003 05:37:26 +0000

author
Christian Hammond <chipx86@chipx86.com>
date
Fri, 24 Jan 2003 05:37:26 +0000
changeset 4409
a2526adf0f4b
parent 4359
cf899ee07d1d
child 4468
8eb1d7390aa6
permissions
-rw-r--r--

[gaim-migrate @ 4682]
This resize behavior is a lot more natural, I think. When you resize
an IM vertically, the input area stays the same height, and the display
part changes size.

4202
8b92de3b1c07 [gaim-migrate @ 4438]
Christian Hammond <chipx86@chipx86.com>
parents: 4113
diff changeset
1 #include "config.h"
8b92de3b1c07 [gaim-migrate @ 4438]
Christian Hammond <chipx86@chipx86.com>
parents: 4113
diff changeset
2
8b92de3b1c07 [gaim-migrate @ 4438]
Christian Hammond <chipx86@chipx86.com>
parents: 4113
diff changeset
3 #ifndef GAIM_PLUGINS
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
4 #define GAIM_PLUGINS
4202
8b92de3b1c07 [gaim-migrate @ 4438]
Christian Hammond <chipx86@chipx86.com>
parents: 4113
diff changeset
5 #endif
8b92de3b1c07 [gaim-migrate @ 4438]
Christian Hammond <chipx86@chipx86.com>
parents: 4113
diff changeset
6
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 #include "gaim.h"
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8
3472
3939deb42c1e [gaim-migrate @ 3523]
Robert McQueen <robot101@debian.org>
parents: 3188
diff changeset
9 #include <gtk/gtk.h>
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
11 #ifdef _WIN32
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
12 #include "win32dep.h"
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
13 #endif
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
14
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 void *handle;
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
17 G_MODULE_IMPORT GtkWidget *imaway;
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
18 G_MODULE_IMPORT GtkWidget *blist;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
19 /* XXX G_MODULE_IMPORT GtkWidget *all_chats; */
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
20 G_MODULE_IMPORT GtkWidget *all_convos;
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21
147
69703999f3fa [gaim-migrate @ 157]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 138
diff changeset
22 #ifdef USE_APPLET
69703999f3fa [gaim-migrate @ 157]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 138
diff changeset
23 extern void applet_destroy_buddy();
69703999f3fa [gaim-migrate @ 157]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 138
diff changeset
24 #endif
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
26 void iconify_windows(struct gaim_connection *gc, char *state,
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
27 char *message, void *data) {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
28 struct gaim_window *win;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
29 GList *windows;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
30
2395
a8dcd0aec51a [gaim-migrate @ 2408]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2098
diff changeset
31 if (!imaway || !gc->away)
1406
45a8e718dd86 [gaim-migrate @ 1416]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1405
diff changeset
32 return;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
33
3472
3939deb42c1e [gaim-migrate @ 3523]
Robert McQueen <robot101@debian.org>
parents: 3188
diff changeset
34 gtk_window_iconify(GTK_WINDOW(imaway));
3188
a71bad9ff940 [gaim-migrate @ 3205]
Robert McQueen <robot101@debian.org>
parents: 2395
diff changeset
35 hide_buddy_list();
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
36
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
37 for (windows = gaim_get_windows();
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
38 windows != NULL;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
39 windows = windows->next) {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
40
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
41 win = (struct gaim_window *)windows->data;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
42
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
43 if (gaim_window_get_ops(win) == gaim_get_gtk_window_ops()) {
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
44 struct gaim_gtk_window *gtkwin;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
45
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
46 gtkwin = GAIM_GTK_WINDOW(win);
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
47
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
48 gtk_window_iconify(GTK_WINDOW(gtkwin->window));
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
49 }
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4202
diff changeset
50 }
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
51 }
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
52
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
53 /*
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
54 * EXPORTED FUNCTIONS
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
55 */
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
56
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
57 G_MODULE_EXPORT char *gaim_plugin_init(GModule *h) {
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
58 handle = h;
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
59
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
60 gaim_signal_connect(handle, event_away, iconify_windows, NULL);
1047
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 147
diff changeset
61
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 147
diff changeset
62 return NULL;
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
63 }
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
64
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
65 struct gaim_plugin_description desc;
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
66 G_MODULE_EXPORT struct gaim_plugin_description *gaim_plugin_desc() {
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
67 desc.api_version = PLUGIN_API_VERSION;
4113
e86a6c65c2b7 [gaim-migrate @ 4329]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents: 3630
diff changeset
68 desc.name = g_strdup(_("Iconify on away"));
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
69 desc.version = g_strdup(VERSION);
4113
e86a6c65c2b7 [gaim-migrate @ 4329]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents: 3630
diff changeset
70 desc.description = g_strdup(_("Iconifies the away box and the buddy list when you go away."));
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
71 desc.authors = g_strdup("Eric Warmenhoven &lt;eric@warmenhoven.org>");
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
72 desc.url = g_strdup(WEBSITE);
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
73 return &desc;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
74 }
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3472
diff changeset
75
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
76 G_MODULE_EXPORT char *name() {
4113
e86a6c65c2b7 [gaim-migrate @ 4329]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents: 3630
diff changeset
77 return _("Iconify On Away");
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
78 }
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
79
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3564
diff changeset
80 G_MODULE_EXPORT char *description() {
4113
e86a6c65c2b7 [gaim-migrate @ 4329]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents: 3630
diff changeset
81 return _("Iconifies the away box and the buddy list when you go away.");
133
418de720c20d [gaim-migrate @ 143]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
82 }

mercurial